Finished templating and content display for categories ("Writing", "Games"...) and projects today.

Turns out, you can get a lot out of templating by combining several functions, like conditionals mixed into the listing of projects on the category page to filter out the projects I don't want to show yet.

(It also allows grouping, sorting by date – which is what I do for production logs and updates now – and pagination, all of which may come useful in... basically any of the things I do here.)

Exploring a new tool can be challenging, particularly when your grasp is limited to what is essentially a black box. You can no longer work with its mechanism in the same way I'm used to with JS: you have to experiment in a slightly-abstract fashion, by changing inputs and monitoring outputs.

That's not a bad thing necessarily. In a way, it's invigorating, in as much as it forces me to experiment rather than find a way around. With JS libraries, I often end up rewriting them to fit my goals better, especially small ones. With a compiled executable that Zola comes in, I don't have this luxury – which takes me back to the time when that's exactly how my Web development experience was.

Like I said, Zola isn't perfect – but it's miles ahead of my usual experience with these things.

I think there's something to be said about the rigidity of structure required to render pages using it. You can make included pages (like production logs for each project), but you have to make a separate folder (in addition to the Markdown file with the project page's content). You can't in the same fashion render the project page by making a folder for it (as is common for regular HTML) and including everything in it.

That may be worth raising with the developer on Zola's GitHub page.