Migrating to Zola

December 26, 2022 [projects] #jekyll #zola #ssg

Moved 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

  1. 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.
  2. 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.
  3. Better table of contents support.
  4. Support for a search index out of the box.
  5. Minor, but I don't have to customize the quote block; it's pretty out of the box.
  6. Build errors if there are broken internal links.
  7. Support for aliases.
  8. 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

  1. Footnotes are horrible. There's no back reference. This seems to be an issue with Rust parser for Markdown used by Zola, pulldown-cmark.
  2. 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.
  3. While migrating, having to swith to toml in order for taxonomies to pick up tags and categories. Exhausting.
  4. 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.

Back to top