Switch to Zola

As I wrote in a previous post I've been working on migrating the blog to a new static site generator called Zola written in Rust. With this post published I can say that the blog is now generated by Zola instead of Hyde.

While Hyde has worked well for me it has it's fair share of issues, mainly that it is fairly slow, especially as it doesn't have a mode for auto-reloading on changes so you need to do hyde gen; hyde serve to refresh. Some other issues is that is not compatible with Python 3 and there's been no releases in about 4 years, though it actually seems there's a new maintainer that has started working on a new release recently.

The most common static site generator is most likely Jekyll as it powers Github Pages. Jekyll is written in Ruby and of course it is where Hyde got inspiration for its name. It uses Liquid as templating language which is written by my employer Shopify and of course also powers the themes for Shopify stores. Another big one is Hugo written in Go which uses the html/template library for templating. It has similar qualities with respect to simplicity and performance as Zola.

But I chose Zola over Hugo mostly because it has a jinja-inspired templating language called tera. It is superfast single binary with no dependencies and has a built in auto-reloader which hyde lacked. I also liked that it has more control over taxonomies than Hyde and a much more comprahensive documentation.

Porting the layout to Zola took some time but now it is done. Next up is automating the publishing via Github Actions or Azure Pipelines.

Tags: