Boris Kimel

There are dozens of static site generators. After trying a few, I landed on Zola. Here's why.

The contenders

GeneratorLanguageTemplate engineSpeed
JekyllRubyLiquidSlow
HugoGoGo templatesFast
ZolaRustTeraFast
EleventyJSNunjucks/etc.Medium

Why not Jekyll?

Jekyll was the pioneer, but it shows its age. Slow builds, Ruby dependency hell, and a template language that hasn't kept up. I spent more time fighting the tooling than building the site.

Why not Hugo?

Hugo is phenomenally fast and has a huge ecosystem. I came close to choosing it. But Go's template syntax feels arcane — .Params.someKey deeply nested inside range blocks gets unwieldy fast. Zola's Tera templates feel like a natural mix of Jinja2 and Django templates, which I already knew.

Why Zola?

  1. Single binary — no runtime, no package manager, no dependency tree. Download one file and go.
  2. Tera templates — expressive, readable, familiar to anyone who's used Jinja2.
  3. Built-in shortcodes — extend Markdown without plugins.
  4. Taxonomy system — tags and categories work out of the box.
  5. Sass compilation — built in, no extra tooling needed.
  6. Live reloadzola serve watches for changes and refreshes the browser instantly.

The verdict

If you already know Go templates well, Hugo might be the right choice. For everyone else, Zola's developer experience is hard to beat. Give it 30 minutes and you'll have a site running.