Skip to main content

Colin Kiama

Software Developer

My experience with Zola - The static site generator

Reading time: 2 Minutes

Introduction

Around the time this article was written, this website was generated using Zola - a super-fast, modern static-site generator written in Rust!

Why is Zola used for this website?

My requirements were:

  • Speed - I need the site to be generated as fast as possible
  • Frictionless setup - I just want something that is simple to download and install. I don’t want to deal with potentially complex prerequisites

Zola fits my requirements the best. It’s typically distributed as a executable binary file. The program is several MBs large which is awesome considering everything it does.

In November 2020, when I was deciding which static-site generator to use, the alternatives were mostly Node.js-based programs (and still are https://jamstack.org/generators/ 😆).

So, while these generators provide so many useful, cool features, the issues are that:

  • They require Node.js on the machine that generates the site.
  • NPM package dependencies! I’ve seen the node_modules folder can grow over 100x the size of the Zola itself.
  • Slower to generate the site than Zola.

I also checked out Hugo and Jekyll but I didn’t like the templating syntax of Hugo and Jekyll requires you to set up Ruby as a prerequisite.

Tradeoffs

Here are tradeoffs based on the way I use Zola for this website:

Advantages:

Disadvantages:

  • Still maturing. There may be some features not available on here. You can help out here though: https://github.com/getzola/zola
  • Tooling around it isn’t as mature as other static-site generators.

Conclusion

For my needs, no other static-site generator comes close.