Turned the front page entirely into a template today. The only hardcoded thing about it now is the first three lines of the introduction. The rest – the navigation sidebar, the current projects display, the "see also" links – are now being produced via templates and inserted into the final page.
Working with templates can be especially productive when you have content similar in structure. My projects are structured along the same lines: title, description, status, useful links, and a few details like log lines with which the active projects are presented on the front page.
I'm also quite content with how the new-style logs turned out. Zola allows user to specify areas where the articles "breaks up" in a way that would allow reader to read more if they were interested in the brief introduction. (I'm not using this idea to its full potential, and perhaps I never will. The break line is there just so I'm not filling the page with megabytes of text that can be difficult to get through. Using an existing mechanism for it incompletely is more productive than coming up with a dedicated solution, because it offers 80% of the result for 10% of the effort. Whether this will find a better usage remains to be seen.)
There are still things I can do with the logs UI – like breaking them apart by year and month – but so far, I'm content with what I have. It's not great, but it lets me move forward with other details of the UI, as well as with what manual work remains. (Mostly moving static content of the previous version of the site into this new framework.)
Something I'm wondering about currently is displaying navigation. The site as I currently preview it (something you won't see but might like to know about) doesn't have navigation aside from that on the front page, and that's only because I'd put it there specifically.
The previous, manual version of the site had all of its navigation hand-written, so each page had the exact kind of navigation I wanted to put there – because I couldn't afford releasing a page without the proper spatial orientation for the user.
The process in the new, automated version simply requires putting a couple of lines into the appropriate template. That's the easy part. The behind-the-scenes of it is where it takes effort: it has to be constructed properly, and each kind of navigation has to be put into the appropriate template. I enjoy the challenge of making a system come together, and this is no exception.
The interesting thing about working with automated systems like these is that they often give you unexpected results. During testing today, I found out that the front page dedicated navigation works perfectly fine on any category-type page. On the other hand, if I approach wall in the same way I approach production logs – as a separate section of content – it removes wall from the list of "home" links (the ones directly under the "Home" link on the front page), meaning visitors don't automatically see the link, so I have to put it somewhere manually.
The latter presents an interesting challenge. How do I involve a category of content I consider integral to the site, in a way that doesn't mess with either the templating engine or the semantic structure of the pages, into the process of automated page generation over the routines of which I have no control? It is, of course, possible to jury-rig a semi-manual solution to this, but I'd prefer to find a systemic solution: one that works without temporary crutches and forced scaffolding.
(While this specific problem might not make perfect sense to you, the solution is fairly generalized: find a way to work with the rules rather than break them, or invent new rules if the old ones no longer fit the purpose of the system.)