Static site

Blogs have gone through various styles over the years; static hand-crafted posts, forum-based, CMS's (Drupal, Wordpress), and back to static sites. I used Joomla for a while, but never got the hang of it. Then I converted to Drupal, which was fine and dandy, but at some point, some major release, it all changed and if I wanted to stay updated I was going to have to do an enormous amount of work to do so. And that would still leave me with the attack surface of a full CMS, which became increasingly scary.

So I did what every self-respecting sysadmin would: scraped the existing site recursively with wget, and replaced Drupal with static pages. Then hand-fixed all the nonsense that didn't quite work right.

I promised myself I'd turn it into a proper statically generated blog site, and there are comments in my nginx config to that effect. But, as is not uncommon, life gets in the way and frankly the scraped version worked, so it wasn't a priority. I did explore a few of the available tools, but to be honest I'm quite fond of the old school expandable content menus on the left, and none of them had that built in, or with available plugins. Lots of "just show the latest" and "use tags", but nothing with the right feel. So it dropped further to the backlog

But now, I'm between jobs, and I have some time, and more importantly a coding LLM subscription. Because while what I wanted is fairly trivial, I also don't care enough to learn the ins and outs of any of the blogging site generators. I just want my static site, done the way I want it.

So me and Claude spent an hour or two together, and it was done. It suggested Eleventy, set it up, wrote the custom templating required, and let me think about what I wanted rather than how to get it. Turns out it's quite simple, but now I've got somethign I can iterate on.

It also wrote some one-off code to extract the pre-existing blog posts to markdown, and to generate some redirects for nginx so I could clean up old HTML files.

The process was relatively painless, and effective. And now I can write new blog posts just by writing some markdown (which, thanks to my time at GitLab, I'm fairly fluent in), regenerate, and push. It could be hosted in an S3 bucket for all it matters, although I'll keep it on my hosted server for the meantime. In terms of content hosting: zero attack surface. Yes I still have to patch nginx and anything else on that server, but that's manageable with pre-existing trivial automation.

As a bonus: I may actually blog more.