Replacing hugo by zola as static site generator for my blog

October 31, 2021  ‐ 3 min read

After going from Jekyll to Gatsby to Hugo I now landed on the Zola static site generator. Static site generator hopping is the new Distro hopping I guess :).

1. Jekyll

I started with Jekyll just because it was easy and I was pretty curious about Github Pages. There were quite some themes laying around to be used and it just worked. I basically discarded my Jekyll site for the following reasons; content changes with the serve command were a bit slow; around 2 seconds. I used to run this command without the --incremental option, which only re-builds pages that changed because I encountered a couple flaws with it. I am not completely sure anymore what those flaws were and a good chance that they have been fixed already so don’t let that discourage you.

Besides that, as a young developer doing front-end work from time to time I wanted something fancier. Enter Gatsby.

2. Gatsby

Second in line was Gatsby as my static site generator. I just grabbed the official blog starter, added a dark mode toggle and ran with it. It served me pretty well for a while. However… the main thing that bugged me was GraphQL.Whenever I wanted to customize something apparently trivial I found myself spending hours.

Besides that the build time was quite slow, more than two minutes or so. I started using Netlify to host my site and I am not yet willing to go past my 300 free build minutes, I am a little cheap I guess :).

It was also a little bit too fancy, which is quite ironically one of the reasons I chose Gatsby. Enter something more boring: Hugo.

3. Hugo

Wow Hugo fast! I went from 2 minutes of build time in Netlify to around 30 seconds of which the actual build command takes less than a second. I just grabbed the paper theme and customized it a little.

Mainly for my own archive, here is a screenshot of the previous Hugo site. It is a bit plain but it did the job very well. Hugo blog

So why did I move away from Hugo? Probably partially because I was bored or so. But second was the templating language in Hugo. It probably isn’t all too difficult but sitting down and figuring out how it worked just got in the way of the thing I wanted to do.

4. Giving Zola a try now

After Googling around a bit I found Zola. At the time of writing it seems to be a bit early in development. But it works pretty nice. In terms of being fast it’s pretty close to Hugo and it uses a templating language that’s inspired by Jinja2 and the Django templating language, which I know already so that made me pretty happy.

I gave Zola a try and gave my site a make-over, inspired by the Adidoks theme. Putting it live today, being quite happy with the end result.