Not a day goes by when I work on my website that I don't wish for a simpler setup. No SSG. No npm. No tooling. Just simple HTML with partials imports, vanilla CSS, and whatever vanilla JS is necessary for enhancements.

I just want the HTML partials imports. Why don't we have them already?!

Actually, the main reason I feel uninspired to work on it (I haven't done so since I migrated to 11ty three years ago) is *because* of the tooling I need to use.

I don't want dependencies. I don't want tools with breaking updates. I just want a simple website. 🥹

@SaraSoueidan PS not tools, just a clean Mac app.
@SaraSoueidan I never migrated away from Hugo, and while it has its own problems, I'm grateful that it's a binary that doesn't require messing with NPM or any of that stuff.

@SaraSoueidan I started tweaking my website again last year after getting rid of all tooling except scss processor.

Granted, I don't have a fancy system nor difficult requirements.

But I feel like you, "modern" web development can be very complex.

@SaraSoueidan yep, agreed. The closest I've found for this is Hugo: the only dependency is the Hugo binary.
@SaraSoueidan preach! I was playing around with something as vanilla as possible (a node script that puts stuff together, build pages from markdown but without packages) but I still end up with web components. Not sure how I feel about that yet
@SaraSoueidan I agree. A build step would be OK (we usually have a deploy step anyways), it's the fact that a build step involves reams of projects that invariably change or break something on you. If the build tools could be as reliable as running rsync (for example), I'd be OK with it. But as things are, their instability goes completely against the web's stable nature that we enjoy so much.
@SaraSoueidan any issues in particular causing pain? (if you’re just venting that’s fine too!)

@SaraSoueidan Apologies if you’re not looking for recommendations, and feel free to disregard, but if you haven’t tried CodeKit (Mac only) I heartily recommend it. I think it’ll do everything you’re looking for. I’ve loved it for years for saving me from tooling and config files.

Anyway, that’s all. Thanks for all the work you do for the community🙂

https://codekitapp.com/

CodeKit - THE Mac App for Web Developers

CodeKit is a Mac app that makes it easy to use modern web development tools like npm, Babel, Sass, JavaScript bundling, image optimization, and ESLint.

@JoshuaHamilton I installed Codekit months ago but totally forgot about it! I do appreciate the reminder!! 😅🤍
@JoshuaHamilton @SaraSoueidan Isn't “Mac only” kinda dependency, too?
@SaraSoueidan part of why I left professional front end dev for UX Design several years ago. Have gone back to vanilla everything for my own indie projects. Pretty much the only reason I use PHP on my sites is for includes.

@andy_griffin_design @SaraSoueidan

How did that transition go for you? I'm starting to feel the same way.

@robjwood @SaraSoueidan Honestly did take some time and strategy. I took an “interim” job that wanted me to do both. Worked hard on portfolio. Then finally went full time UX. Haven’t regretted it. My background in Front-end is absolutely an asset though. Employers have liked it. I can speak and think like a coder when I design and communicate. Totally gives you an edge.

@andy_griffin_design @SaraSoueidan

Yeah, I can see how that would be a real benefit for a UX designer, it's good to know. I'm glad it worked out well for you.

@SaraSoueidan Just a question out of curiosity, since I noticed the same when I migrated my blogs to eleventy, effectively archiving them: You ran your site on Hugo before. Was that any better in terms of user or developer experience? I remember you wrote a fantastic article about Hugo a few years ago. In fact it inspired me to play with Hugo back then.
@Marco Honestly, it's been three years so I barely remember. I do remember that 11ty had features I wanted that Hugo didn't have. But now that I crave simplicity again, I am tempted to look into migrating back to Hugo. Right now I'm waiting for a new laptop to replace my current one. Once it arrives and I record an update for a course chapter, i'll have more free time to experiment again. I'll let you know what I end up with!

@SaraSoueidan @Marco This really makes me 🤯 because I migrated from Hugo to Eleventy and was delighted by the simplicity and direct control, not having to figure out Hugo's systems, and for now getting to mostly write plain HTML and CSS.

I believe your experience - I'm super curious what makes our experiences so different.

@cvennevik @Marco But I didn't say 11ty is complex. I'm just yearning for even more simplicity. For just the absolute basics. For something that's easily portable and doesn't require any build steps.

@SaraSoueidan @cvennevik @Marco I feel that too.

I only reach for some kind of framework when a project gets bigger than one page, because copying and pasting headers and footers etc is no good.

But oh how I wish it didn't need to be so complicated, and that getting over this one hurdle could be achieved while remaining much closer to the web platform.

@sarajw @cvennevik @Marco YES! Exactly this 🥹

@SaraSoueidan @cvennevik @Marco in this sense, SSI feels good, but it's still just on Apache servers. PHP also good.

But it does still feel like it should be available in HTML itself somehow!

I remember 'solving' it with a frameset or iframes in 1999+ for my teenaged creations - but that's really not ideal either.

@sarajw @SaraSoueidan @cvennevik @Marco FWIW, SSI works on nGinx and Caddy too.
@sarajw (also FWIW, I sure don't like npm/node either, and would frankly rather have a single binary install file to run. I don't use node, so it's another abstraction to learn before you can use 11ty.)

@mattwilcox yeah - I mean that's why people like Hugo :)

I'm enjoying 11ty! But I crave simplicity - like, a craftsperson thing, wanting to work "with my hands" lol

@mattwilcox (I know that there's a certain irony being that the web platform is itself many layers of abstraction above other stuff, bits and bytes and silicone, but eh)

@sarajw I know what you mean.

Honestly, one of the reasons I've not done anything on my own site in ... nearly a decade really... is the sheer "bleh" everytime I think about how *anything* will involve some nested levels of work I just can not be bothered with anymore.

The problem being; I also can't bring myself to put up with some off-the-shelf code / design output.

I'm aiming for super simplistic with 11ty, so I can just write markdown files.

@sarajw
I've sometimes wished that you could do "union files" at the filesystem level. Same class of filesystem tricks like symlinks and union mounts - but you'd say "my-unioned-file.html" is the union of header.html, body.html and footer.html. You'd only get complete files and not nestable partials, but it would disappear completely and magically have no tooling.
@SaraSoueidan @cvennevik @Marco

@sarajw
Thinking about this a bit more, you could do this as a FUSE filesystem, where you mount a folder and it just resolves all your templates so next to all the, for example, .j2 files, there are the .html versions that it's magically created. Once that's setup, there's no tooling at all from your point of view - you just edit the .j2 files and have anything serve up the static .html versions, which are just there in the filesystem.

WebDevFS!

@SaraSoueidan @cvennevik @Marco

@sarajw
You can write fuse filesystems in python no problem, but Jinja is probably too complex. SSI would be simpler and nginx already has the c code for this.
@SaraSoueidan @cvennevik @Marco

@SaraSoueidan @Marco Oh, that makes sense to me. I want that too. If I could replace Eleventy with an even simpler and more stable setup, I would.

I think it was the comparison to Hugo that threw me off - my experience was that Hugo was even worse for me in this regard.

@SaraSoueidan Maybe the closest to that could be a @getkirby site. 🤔 @bastianallgeier and team built the site for Kirby itself with basically zero dependencies, for example. The only thing that happens is a little bundling with esbuild when the site gets deployed.

@matthiasott is right! Kirby + Staticache Plugin might be everything you need and want, @SaraSoueidan ☺️

@getkirby @bastianallgeier

@matthiasott @SaraSoueidan @getkirby Still one of the best decisions we made. The entire project feels a lot more enjoyable to work with over a long time. I always hated that feeling of an invisible wall that I need to overcome when we want to change something. That feeling is totally gone.

The build step on deployment is completely optional. I don't think most personal projects need to think about it at all if you are not going too crazy with JS and CSS gimmicks.

@matthiasott @SaraSoueidan @getkirby @bastianallgeier +1 to this. I have exactly the same mindset as the original post by @SaraSoueidan : the less dependencies, the better. I really feel Kirby is a great fit for that mindset. But for sure; html includes would open for even simpler solutions for things like straight up dev blogs.

@SaraSoueidan I was the same. Still early days for me but I’ve started a journey of learning and moving to Publii (double “I”).

Hope it’s inspirational and or helpful 👍

@SaraSoueidan At the #webComponentsCG we see #HTMLModules and #declarativeWebComponents as the sort of APIs that would open the door to "HTML Macros" in this way. @justinfagnani have we captured that as a specific proposal, or is it still a part of the larger conversation?

@westbrook @SaraSoueidan @justinfagnani

`<template src="...">` would be awesome :-)

@SaraSoueidan Err .. good old SSI does wat HTML partials imports do, right? Or am I misunderstanding something profound here?
@ppk I literally had to google "SSI". Never used them and no idea how to. 🙈
@SaraSoueidan Is your server Apache? Can you upload .htaccess files via FTP or edit them via SSH? If Yes it's likely you can use SSI, and once you set it up it'll work forever, as it has done for the past 25 years and you can just use it.
@ppk 🤔 I'll have to look into this. Right now my setup is: 11ty website hosted on Netlify. "Simple". 😅

@SaraSoueidan Going back to your original toot, I'm starting to wonder if you even need 11ty and Netlify. Sounds like what you want is old-fashioned Apache web hosting, where a bunch of files are just waiting for an HTTP request to arrive and are sent off to whatever browser needs them.

Then again, switching hosting providers is a serious challenge not to be taken on lightly.

@ppk @SaraSoueidan Exactly, PPK! All websites run on servers, all servers have default languages to use for imports. CSS and JS both already include @ imports. In theory, there's a present state where there's no compilers, no build steps, no extra packages, if desired. It's crazy to realize this is more or less here, minus some bonus features.

@ppk @SaraSoueidan I think if the goal is simplicity and low-maintenance, adopting an internet-facing VM with Apache on it is perhaps not the ideal path. The constant need for security updates and reboots, not to mention the need to set the thing up securely enough in the first place. Even for someone with lots of skills, the fewer VMs one has, the better. Throwing something up on Netlify and walking away is really nice.

(I assume you need a VM? Does apache-only hosting still exist?)

@teleclimber Why would I need a VM? Just about every normal hosting provider uses Apache.
@ppk @teleclimber Nginx also supports SSI btw

@SaraSoueidan @ppk Yeah, server side includes on Apache are the only methods of doing this on the way you want that I’ve ever heard of.

We really need a native in-browser way to do it though that doesn’t rely on server config. Even if it’s not the most performant method.

@mez @SaraSoueidan No, we don't need a browser method. SSI is objectively better than any client-side solution because it doesn't generate additional HTTP requests.

@ppk I get that, but the alternative is Tooling of some sort. Yes Apache has been doing it for decades, but it requires that specific server software and configuration. It also means you local/dev has to match production. What if I want to whip up something for a local demo? I don’t want dockerise Apache just to have to do that :/

Extra request are not ideal (and maybe there isn’t an ideal solution to this issue), but it would be cool to have a built in system.

@mez If you want to make everything much more complicated than necessary ... you do you, I guess.

It's true that you have to maintain a second develop/test system with the same config as the remote production one, but that more or less goes for any project.

Local demo: every Mac comes with Apache pre-installed (though setting up SSI is pretty tricky here).

@ppk Do makes still come with Apache? I thought they’d dropped that but maybe it was only php?

I fail to see how browser supported html includes would make everything much more complicated. Would I use it in a performance-important client site? Probably not, same as CSS imports. Would I use it in a local-first site, or demo, or just prototype for myself while figuring stuff out, definitely! And the extra request cost would be tiny.

@mez @ppk Fwiw, SSI are not an Apache thing, they're supported in nginx, IIS and others.
One can also use ESI with CDNs (or Caddy) if needed.

@tbroyer @ppk Oh cool! I did not know this. That’s great and the portability makes them much more appealing & lowers the barrier further.

(Also, I wonder if my random use-case of a local prototype site with includes could be handled by a browser plugin 🤔)