I said that I wanted to migrate this web site to a SSG (Static Site Generator). And, after 5 years of procrastination, Ta-Da! here is the new site!
Initially, I was planning to use Hugo, since I love coding in Go, and was not planning to learn Rust (Hugo is coded in Go and Zola in Rust), but I finally chose Zola over Hugo for many reasons:
- Zola has basically all the performance advantages of Hugo, and is also a single binary, with no need for databases, docker, snap, flatpak...
- Zola is opiniotated. This is very important for me, I love more and more systems were there is "only one way to do it". Neddless to say, I hate perl, and I love Go.
- Zola is stable, and its creator ("Keats" very committed to not chasing the latest fad. This means less risk of an upgrade breaking things.
- Zola template engine, Tera, is both more powerful and more readable than the standard Go template engine used by Hugo.
- Zola comes with more useful built-in features, but no plugins that in my opinion brings complexity, especially in docs, and upgrade hell.
As for the theme, I was looking for a clean responsive modern simple theme, with high scores in the various web performance benchmarks, with search and comments, and some support for multilingual (the site is in English with a few pages also translated in French). I tried the two leaders in the Zola theme ecosystem:
- Tabi I liked the looks but it felt a bit too complex for my needs: as a Zola novice I was afraid to end up relying too much on Tabi-specific feature instead of pure Zola and CSS ones.
- ABridge I liked the architecture, not so much the design, but I struggled to make it work, it seems the doc still advise settings that break on recent Zola versions.
I thus looked for a simpler theme, and chose Apollo which was perfect for my needs, and simple enough to be easily modified for any of my future needs. I enabled its support for the Giscus commenting system.
Porting my contents was made easy because I had anticipated this migration, and used Markdown for my posts in the Foswiki engine, instead of the native Foswiki syntax. So converting was basically adding a frontmatter to the pages, and fixing some links. I converted older posts with pandoc.
I have made a quick first migration. I will continue working on the CSS architecture and the looks in the following weeks.