Hello, Hugo!



As someone who has always appreciated clean, fast, and modern tools, I initially chose Zola to build my homepage. Its simplicity and Rust-based speed made it an excellent starting point. However, after almost 4 years of happy usage, I found myself transitioning to Hugo. Here’s a breakdown of why I made the switch and how the two compare based on my experience.

What I Loved About Zola

Simplicity

Zola’s minimalistic approach is a dream for developers who want to get up and running quickly. Its configuration system, based on TOML, is easy to understand, and the Tera templating engine is intuitive, especially for those familiar with Python’s Jinja2.

Speed

Zola is fast. The Rust-powered build process felt instantaneous for my medium-sized site, which was a huge draw initially.

No External Dependencies

One of Zola’s standout features is its lack of external dependencies. It’s a self-contained binary, making installation and setup straightforward.

Why I Switched

My interest was warmed up by my tries to move more and more of my projects to Golang. Unfortunately I couldn’t be good at learning Rust, so finally I found myself doing some of the scripting and backend jobs on Go. I found it’s templates more flexible and in many cases simpler than Tera or Jinja.

Golang

My interest to Go is the main reason why I made the switch

Smaller Community

Zola’s community, while supportive, is relatively small. I occasionally struggled to find solutions for niche issues, while Hugo community is much larger.

Why Hugo Was the Right Move

YAML configuration

This was the first bonus I got 😄 While I can’t say that something is wrong with TOML, I find YAML to be the most clear human-readible format.

Feature-Rich Ecosystem

Hugo has a ton of features, many of them I will need to learn. The templating mechanism is transparent in using partials, the thing I never loved in Tera is how the inheritance works with {% extends %} and so on.

Active Community and Documentation

Transitioning to Hugo felt seamless because of its active community and thorough documentation. Whenever I ran into an issue, I could easily find a solution, thanks to its extensive tutorials and examples.

Files organization

I found the structure of hugo source more organized and logically cleaner. I can’t say that it was a problem in Zola, but personally I love how it is organizaed in Hugo.

Migration Challenges and Tips

Theme porting

I started with porting the nano theme to Hugo, it was a bit of challenging but in general nothing that you should worry about. Overall everything was done in several night hours of work – with great inspiration and passion 😄

Content structure

Hugo’s posts are organizes in slightly different way than in Zola. It is still Markdown, but taxonomy, post parameters are slight different. But small practice with sed is never the wrong thing 😉

Building pipelines

While Zola is the single binary and super-easy to use, Hugo requires some installation. But once again – it’s only change curl to snap.

Final Thoughts

I love Zola, I won’t give up watching this project and will probably continue contribute in themes. For now, lets move on with Hugo.