Blog Necromancy
September 26, 2022 -I realise this blog has been quiescent for over half a decade, but I've resolved to put a little bit more time into blogging, professional development, and other not-directly-billable pursuits. There are a number of factors behind this; chief is probably that I'm not really using Twitter anymore (that’s another story) and I sometimes feel like I need an outlet. Kind of the digital equivalent of shaking my fist at a cloud I guess.
Previously the blog was hosted on Wordpress.com; while I don't have any real complaints about the service I mostly just grew apart from it. I've been running a static site on S3 for my business and a couple of clients for many years, and porting the blog to a static site generator has been on the todo list for a while. I'd used Middleman for previous static sites, and while it had familiarity and flexibility going for it, I always managed to have issues with Ruby environments and/or version upgrades, so I wanted to look at some alternatives.
I started out with Elmstatic as I use Elm for most of my browser app development, but I found it frustrating as it’s fairly anaemic in terms of features & configurability - it seems to be more of a scratch-the-itch project; Alex has built something that works well for him. I contemplated going for one of the popular JS frameworks (eleventy looks good), but the barrier here was that I wasn't really interested in learning a front-end framework just to build a static site that I'm going to touch (the code of) very rarely. The other option was Publish, which I considered but ultimately never got to the point of trying out; I struggled to get a good feel for how much actual Swift dev was going to be required from the docs.
So then I found Zola. It’s referred to as a Rust-based static site generator, but there’s no requirement to write any Rust code to use it - site development is all done using a liquid-style template language and copious TOML. I've managed to get the site built using it, so that’s as much of a vote of confidence I guess you'd need, but I've come up with a list of good & bad points from my experiences.
Pros:
- super-fast site generation
- theme support makes it pretty simple to get something up & running quickly, and modify as you go
- ‘taxonomy’ implementation was more than sufficient to migrate my WP tags
- no need to upskill on a front-end framework or asset pipeline
Cons:
- features are a little opinionated. An example was my attempt to preserve the Wordpress
{yyyy}/{mm}/{dd}/{slug}
post URLs. URL templates are not supported and it doesn't look like they're going to be - I was able to implement redirects via thealiases
support but this was time-consuming - Tera templating takes a bit of research/trial & error, even for people used to liquid. Syntax highlighting in VS Code with the Tera plugin is a bit flaky
- the section/pages model makes it awkward to host blog posts at the top level - this is difficult to describe but Zola really wants you to have a collection of blog posts in a subdirectory. Not a deal-breaker.
Anyway, Zola is meeting my needs for now and I'm looking forward to getting some new content out there.