The tagged log
I finally have the big picture for this site’s eventual backend mostly sketched out in my head.
My goal has been to come up with a solution that allows serving static files; this has been difficult, to say the least, but I finally had a moment of inspiration tonight.
All of the site will live in a single (probably unpublished) Atom stream whose entries will be rendered to static files on publication. Most content in fact already lives in such a stream, but currently it is rendered per request. The static renderer will be able to deal with entries written in Markdown for some extra convenience and be able to make use of Text::VimColor for some extra eye candy.
The particular inspiration which finally put it all in place concerns the organization of the site structure: all those static files will be stored in a single flat directory. The directory structure apparent on the web will be conjured into place by a battery of mod_rewrite spells generated from tags attached to each entry (as categories). The goal is Flickr/del.icio.us style navigation. (See also The User Interface of URLs and Making URLs accessible.) I already know how I will integrate comments too, which I wanted to have permalink pages of their own.
Rather than editing the Atom stream directly in an editor as I currently do, there will be an Atom protocol server. (And I might write an Atom protocol client script for Vim in the process.) I have my eye on a number of CPAN wheels that would make this all relatively painless.
There is just one last jiggsaw piece left to place: the exact semantics for mapping from URLs to tags shared by multiple entries. I have a number of issues about this percolating in my mental soup of ideas. It is only a matter of time until I sort them out.