Pyblosxom to Django. More technical details after the jump.">
It's been about two and a half years since the last time I made a major overhaul to my little slice of the web, and that was more of a visible makeover than this round, although the underpinnings changed pretty dramatically this time.
Switching was a piece of cake, as changes like this go. I had the models for the blog (with tags this time, instead of the hierarchal categories Pyblosxom provides) done in about five minutes, and since I'm just using generic views for almost everything, I ended up spending most of my development time on translating templates and "fit-n-finish". Even doing a mass conversion of the old data didn't take much time; all I needed was a quickie python script that walked the old directory tree, made a few assumptions about how I used to blog, and viola, all done.
There's still a couple of things that need to be sorted out; my old Pyblosxom filters didn't follow me over yet, so my liberal use of smileys won't turn into cute little graphics, and there's a couple of things I'd like to fix if I can. One nagging thorn is getting redirection for the old RSS feed working is proving more difficult than it should be, because of a poor interaction between a mod_python handler on / and a mod_rewrite rule trying to catch .*\?flav=rss$.
New features include dual RSS and Atom feeds (for the geeks), tags (and a rough, first-cut tag cloud) for my categorization amusement, a sitemap for Google, and a new AJAXy sidebar calendar. Yeah, that's right, I'm Web 2.0, baby.
On the list of things I'd like to knock off, now that this appears to be basically working, are folding the timeslip XML/XSLT stuff I'd done a long time ago into the rest of the application as custom views, as well as a dive log view. I'll probably also add Flickr and del.icio.us to make this all a proper mash-up. ;-)