Migrating to Zola
December 26, 2022• [projects] #jekyll #zola #ssgMoved this blog to Zola on a whim. Mostly. I had this migration in mind for a while, ever since I stumbled into the world of static site generators and created the Jekyll-based site earlier this year. I soon discovered that I didn't like Ruby, and Jekyll was not all that attractive any more. I wanted some things to be automated - creating pages for tags and categories, automatic refresh when I make changes locally, search and so on. Moving to a new Jekyll theme that supported these things seemed like work. Hugo seemed complicated. Pelican seemed boring. Zola uses Rust and I saw some good comments about it on HN. So there. Still work, but I was completely absorbed in the effort for a good two days.
One of the advantages of Jekyll is that it has been around for a long time. There is a big community around it. When I run into an issue I can be close to certain that some else has encountered the same problem in the past and very likely has a solution. Also, a bigger community and being older means it is likely to last longer (anti-fragile and all that). Zola is only a few years old. I hope I don't have to switch SSGs for a while and just focus on writing instead.
What I like about Zola
- Fast build times. It takes less than a second to build and serve, given the number of posts I have (which is probably around 50 - not much). Jekyll would take 30 seconds to serve the same website.
- Opinionated. I like the abstraction provided by pages, sections. Things I don't have to think about. An extremely simple directory structure that I can understand.
- Better table of contents support.
- Support for a search index out of the box.
- Minor, but I don't have to customize the quote block; it's pretty out of the box.
- Build errors if there are broken internal links.
- Support for aliases.
- When migrating, Zola by default parses dates from the markdown file name and I didn't have to add it to the metadata.
What I don't like about Zola
- Footnotes are horrible. There's no back reference. This seems to be an issue with Rust parser for Markdown used by Zola, pulldown-cmark.
- Not too many themes. I don't like many of the options available. I could probably create one myself, but I have sunk too much effort to just migrate to Zola.
- While migrating, having to swith to toml in order for taxonomies to pick up tags and categories. Exhausting.
- What happens to the project when the maintainer runs out of steam?
Zola has a better templating engine but I haven't had to create any yet. I did play with the youtube embed. I like what I see so far.