While "ThokTober" sounded good when I started, we're well into February and Spring is only 40 days off. Not that that makes the project unsucessful per se - I understand the problem much more deeply which was certainly a goal, and there was never an external deadline, just a self-inflicted one.
The deepest bit of understanding was that attempting to shoehorn the
"weight of history" (that is, the legacy thok.org content) into an
existing system was misguided effort - the legacy content was some
2300 files, the new content (that could easily be adapted to whatever
system I chose) was only 45 files -
"And we decided that one big pile is better than two little piles, and rather than bring that one up we decided to throw ours down." -
and that the optimal deployment tool for the legacy content was simply
rsync. This reduced the complexity of the rest of the problem a
great deal, as now it was simply a matter of recognizing files that
needed markdown processing, and recognizing files of more interesting
type ("blog post", "blog", "photoessay"...) and doing something with
Once I got past the problem of stuffing the large pile into a third party blogging system, what about the small pile? All of the static-blog tools I looked at where a little too opinionated (which is great when starting from scratch) and the static-site-generator tools were not opinionated enough. I finally concluded that in order to figure out what features I actually wanted, I'd need to sit down and implement them from scratch, and discover what aspects of "blog" features were artifacts of "what is easy to write" and what things actually mattered. (This also, admittedly, let me side-step the conclusion that ikiwiki, not nikola, was closest in behaviour to what I was looking for, even though it was a pile of perl with character set issues...)
Having concluded that the big opinion was that "text should be in markdown" pulling little things together was a lot simpler, and I could make visible progress a feature at a time. Other useful conclusions include:
rsyncare entirely sufficient for 0.1
Tagsmetadata that gets pulled out to a single
tag-index.htmldemonstrates the concept and is a good enough implementation of article keywords; adding other metadata like "twitter summary" can follow in time, but I don't need to start with it.
As a nod to codes-well-with-others, I've built most of the recent pieces atop two new third party libraries:
lxml.htmlis quite nice for mucking about with generated html; since HTML is horribly fragile but no tools report legitimate diagnostics for it, sticking to carefully constructed operations on the element tree seems like the only sane way to perform operations like "add stylesheet" or "promote the first
head titleelement" in arbitrary contexts.
All that said, it really does look like I could do a first deployment this week, though perhaps the start of Spring is ultimately more realistic...