Migration and Themes

A quick description of the process so far

Moving to the new blog has actually not been very difficult, but getting it set up just so is turning out to be a some work. Any reader who works in a design-related field will already appreciate this fact, but it’s something that strikes me anew every time I try to customize something.

This post details some of the technical and aesthetic details of the transition and the reasons for it, in case anyone is interested.

WordPress touts a 5-minute installation, which is both accurate and misleading[1]. Installing the software really only did take about five minutes, including the download time. This doesn’t account for the MySQL troubleshooting phase of the installation, though, and it doesn’t include importing old posts, at least from my old blog[2].

Speaking of the old blog, the whole reason for the upgrade is this: FEATURES. The old blog used blosxom, which is neat, if you want a super-lightweight site. Also, if you want any features, you just plug in a new module, and off you go… Or, it should be that way. My experience indicated a few problems with integration and plugin management. Editing posts and updates was a simple as dropping well-named text files into folders, which also formed the category theme. Simplicity! Simplicity was the name of the game.

Oh, and theming was a bit nightmarish, which is why my blog always looked like it fell off the 1997 bus. But it was simple!

Well, I wanted to add reader comments. I wanted writing a post to be as easy as writing a Gmail message[3]. I wanted auto-linking to friends’ blogs. I wanted “Current Mood” icons. I did not want a hosted blog.

I like being able to pop into a terminal window and tweak my code. I don’t like having to log into a terminal window to type up a blog post. I really don’t like having to write in all the formatting HTML by hand[4]. That sort of thing just slows me down when I’m trying to tell a story[5].

So when Dave went to WP, I grilled him on it, and was quickly convinced that this was the way to go.

Importing Old Material

Importing old blog posts into WP is easy. It is pretty much trivial to import from about a dozen different formats, including plain old RSS feeds.

It is less than easy to get your software to export something usable, if you are doing something as custom as a blosxom blog.

Actually, getting blosxom to export everything wasn’t so hard. It merely required me to edit one of my themes, so that it would display a feed of every single blog post I had put in.

The less than easy part was taking this file of 263 posts[6] and making it valid XML for the purposes of import. This took a few hours, and several actual import tries. Eventually, I gave up on the LJ quizzes, figuring that I can re-import those later. Everything else was simple – unclosed <li> tags, unclosed <p> tags, unclosed <br> tags, and unclosed <img> tags were most of the problem. Oh, and inappropriately-located HTML code substitutions for characters. Oh, and some madness in some <pre> blocks.

After getting everything imported, though, Gin and Milk looked more or less like I had been blogging in WP all along[7]. The only import tasks remaining are to review the posts to make sure that they look okay, and to assign everything back into categories.

There is one more problem to surmount when moving old material into a new blog. How do I make sure that all previous links into my blog, including my feed, are still valid and point to the appropriate material? If you run your own web server, it’s quite possible[8].

Adding Features and Themes

Right off the bat, WP gives you a solid template, a Blogroll/Links List, WYSIWYG post editing, comments, RSS, and a bunch of other features. I’ve added plugins to handle mood icons[9], manage footnotes[10], enhance comment editing, and tweak other aspects of the blog. Doubtless, more plugins will follow as I learn what features I’d like to have.

I’ve test-driven several themes, too[11], but I’m pretty particular about these. I liked the default theme the best out of all the themes I saw, though, until I hunted down the developer of the default theme. He’s been working on a new theme called K2, and I’m very impressed. It’s designed very well, it’s adequately customizable, and it looks good to boot, and it has some dynamic features that would have taken me too long to implement by hand in blosxom[12]. There are a few things I want to change about it, but I’ve already stuck my hands in to the elbows on some of the PHP running this blog, and I’m looking forward to doing a bit more of it.

After all, I have to do SOMETHING with that terminal window now…

  1. Most market-ready figures like “5-minute installation” are accurate and misleading []
  2. It also doesn’t include the hours spent troubleshooting the Jabber server when it managed to get upgraded during the MySQL upgrade on my web server. It’s maddening – jabberd 1.4.3 works fine, but jabberd 1.4.3-3.3 fails to allow any sort of meaningful connections on this particular server. I’m sure I could squeeze out a few pages of rant about this at some point… but for now, we’ll leave it at that. []
  3. Gmail messages are very easy to write, and the conversational model makes them easy to follow. Hence, a lot of what should have wound up on Gin and Milk ended up in private email messages. []
  4. Including, for instance, line breaks. ALL of the HTML fomatting was by hand. []
  5. And unless a story was really good, I just wasn’t taking the time to bother everyone with it. The bar kept rising, too, once I was married and wanted to spend some of that HTML-formatting time with my wife instead. []
  6. 263 is not a lot of posts, I know. []
  7. Unless you look at the database, which contains the evidence of five-hundred-odd deleted posts somewhere along the way. I deleted the failed-import posts through phpmyadmin, rather than risking my sanity and carpal tunnels on clicking “Delete” in the post management screen over and over again. []
  8. Luckily for me, WP has options for how to handle archive links, and one of their link structures looks a lot like the archive link structure for blosxom. To fix archive links, I only had to write a rule that replaced “blog.cgi” with “index.php” to get a workable approximation. For the feed, I also replace “feed.rss” with, simply, “feed”. Voila! []
  9. I also made a handful – 23 so far – of custom mood icons based on my Mario Kart DS decal. It’s kind of refreshing to spend a while in MS Paint once in a while. []
  10. I had to customize this one to start at [0] instead of [1]. []
  11. There are SO. MANY. THEMES. It’s like looking for WinAmp skins, sometimes. []
  12. That is, specifically, “too long to keep my attention”. Try the Search feature out for an example of its dynamic features. []