1-day experience using Zola

As a Go enthusiast, Hugo was my first site generator. Hugo is fast and works well if all you need is generating a website and you’re happy to use an existing one of the many available themes. My challenges with Hugo started whenever I needed to customize a theme or introduce a new functionality. The complexity of Hugo was simply unmanageable. The Go templating language is unnecessarily complicated. I kept forgetting how to structure the contents and layout template folders and there are many ways to achieve the same thing. The docs are designed as a reference book rather than a manual and are written in terse complex language. The constant change and growth of the tool did not help. The popular themes also tended to be massive and employing complex designs and requiring a lot of dependencies (bootstrap, JQuery, etc).

Not surprisingly given its history, Zola has been as fast as Hugo and much easier to understand and use. In few hours, including reading the docs and few tutorials, I was able to port to Zola a Hugo website that I was struggling to get to work. Most of the features I needed were implemented using sane conventions and few well-defined configuration options. The docs are quite usable although not complete yet and could benefit from more examples (e.g., how to use page.lower/higher). I like that Zola is not trying to implement every possible feature and is focused on the essentials of static site generation which gives Zola a feeling of maturity and stability beyond its age. I like that I was able to construct a fairly complex website with different sections and layouts using far fewer files and a lot less code than Hugo.

Congratulations and many thanks to @keats for this excellent product. Please keep the good work and mostly importantly resisting growing Zola into another Hugo!

/salah

5 Likes

Thanks for the kind words!

The Go templating language is unnecessarily complicated. I kept forgetting how to structure the contents and layout template folders and there are many ways to achieve the same thing.

That’s why Zola exists :wink: I used Hugo before for 4-5 sites and I would be lost every single time I needed to change one of them. I’m so sad other Go tools like Helm use the Go template language but what can we do eh.

The docs are quite usable although not complete yet and could benefit from more examples (e.g., how to use page.lower/higher).

I’m planning to eventually do a full revamp of the docs with more focus on how-tos, it’s just not a super high priority right now.

2 Likes