Due to a severe lack of both time and motivation, I haven't written much on this site in the last few years beyond occasionally updating my projects page. To ignite my spark for writing here again, I have just finished rewriting the entirety of this site!

For those who don't know, this site used to run on the blogging platform Ghost. I used Ghost for many years and generally enjoyed using it, but in one of their latest versions they dropped their SQLite implementation from being "production ready" (to be removed in future). Rather than set up MySQL, I thought it'd be a cool experiment to see if I could rewrite off of Ghost - with the intent of moving to something completely static.

There were a couple of projects I had been eyeing up for a while; Hugo and Zola. Both of these tools are static site generators, with Hugo written in Go and Zola written in Rust. The format for writing posts in both of these is pretty similar (along with every other generator out there), but after writing the base implementation of this site in both, I settled on using Zola. There were a few reasons for this, but generally it boiled down to being more familiar with Rust and also having used Zola's templating engine (Tera) in other projects.

I was able to replicate everything I wanted to build on my Ghost site (including things I wrote custom Ghost helpers for), in a static way using Zola! It sounds a little strange, but it was fun making everything look as if nothing changed. Some of the more tricky aspects are on the list to get their own post in future, as they're quite interesting. A lot of the page generation is automated to not require manual updates (in particular the projects page). I also automated a lot of the migration from Ghost's SQL tables to Zola's formats, which I might also roll into a tool in case anyone else finds it useful (it would probably be loosely able to support Hugo also).

Here's to more motivation!