Another year; another static site generator. I'm really enjoying working with Rust so I've migrated this blog to Zola. After explaining why I'm switching, I'll provide a brief walkthough of the steps I had to take.
This is all in stark contrast to Zola which is written in Rust and distributed as a single binary with no dependencies. Sure, if I wanted to build my own binary of Zola I would need to figure out and manage upgrading the dependencies. But as someone who just wants to write a comically simple blog documenting my learning, a single binary with an easily understandable version is just what I need. The site builds in a few milliseconds and has a local hot-reload command to preview my changes. The fact that it was trivial to migrate my existing posts written in Markdown over left me with no reason not to do it. How easy, you ask?
I used the default Zola site init tool to make an example set of folders and config, then copied it over my old repo.
zola init bmh cp -r bmh/* bmh-github/*
Migrating the configuration over from Hexo was mostly a matter of setting a title and enabling some of the features. My blog is pretty simple so YMMV.
Zola has a fast reload command for previewing changes during development. After a little while playing around with that, I had my site setup with a fork of an upstream Zola theme that looks good enough for me.
I used Vercel to do the build and deploy with Hexo. They also support Zola so when I pushed up a new branch with Zola configured instead of Hexo, they automatically generated the site.
I'm starting out on the Zero to Production in Rust book. I'm on Chapter 3 and it has been a good read so far, although I'm debating if I want to make use of the GitHub actions that are available or if I want to setup some run steps to call the various
cargo commands myself. For a real "production" experience, it does seem like it would be wise to roll my own instead but I think for the sake of learning it's fine.