Richard Bucker

static site generators

Posted at — Nov 12, 2019

Static site generators are pretty cool. Granted they are an oversimplification of the java/json/xml/xslt site manifestation from the olden days (yes there are generators that predate that just see any changelog list circa the first day of the web).

The modern day ssg is in a weird place. Hugo seems to be the generator of choice but there also seems to be some up and coming ssg(s) like ZAS. Where hugo uses a “folder structure” and formatted files zas takes a more freeform approach to content and puts the burden on the config. (my naive interp.)


Hugo, unfortunately works to an extent but then has a couple of failures. The best part about it is that hugo is written in GO and so it will compile and run on a number of different systems. I happen to be using OpenBSD 6.6 for this particular exercise and the prepackaged version is 0.53 and yet I need a more modern version 0.60 in order to test all of the different themes. But that’s there the problems occur.

The themes are not interchangeable. I tried about 25 of the 300 themes to get my system in play and so many failed or just did not work right. Also, even thought I had a small site (40 posts and 2 pages) it seemed that the entire public folder needed to be cleared before some pages would render.

OK, back to golang. While that part of it makes sense it also means something else. The themes are constrained by whatever the hugo document processing system does. Extensions are a challenge. And so on. I happen to like tcl, as I have said before, but a ssg based on tcl as the dsl makes perfect sense. The theme could be nothing more than plugins. As that point you can store the fragments in something like SQLite and take some lessons from fossil.

Anyway, moving on.