Overview

Emerging

Posted on Thu 12 March 2015 in Dispatches • 3 min read

New Site Smell

Ahh, a site relaunch. That fresh new-theme smell! Just what the doctor ordered for the Ministry of Intrigue.

Wrestling with a Cephalopod

I’ve made no secret about my love of Octopress since I switched to it from my custom Django CMS solution. I love using it to take my Markdown posts and convert them into a static site. However, it meant that I was only able to make use of a very old version of Jekyll, and as a result, site generation could be remarkably slow unless rake isolate was used for an individual draft.

I had been anxiously awaiting the release of Octopress 3, which resolves these issues by becoming a series of modular plugins to Jekyll itself. I was thrilled to see the announcement of its imminent release, but saw repeated warnings that while a migration guide would be provided, there are enough differences that the transition would not be without pain. As a result, I’ve avoided trying out the pre-release version for quite some time. However, the other night, I got an itch to experiment to see how much work was involved.1 Of course, no project like that really ends up as just a test, and you are looking at the results of that experiment.

It took several days with short bursts of work to make the conversion to Jekyll 2.2.0 and Octopress 3.0, and as advertised, it was not without pain. I’m sure it will be a bit easier to transition once the first Octopress example theme is completed, which should make theming Octopress-driven Jekyll sites much easier.

I decided to bite the bullet, use a different theme as a base, and work through converting all my legacy posts to accommodate it. While Markdown should, in theory, be presentation-independent, there are number of very useful Liquid tags I had grown accustomed to using, and ensuring that the equivalent plugins were installed and themed correctly was quite a chore.

Coming Up For Air

It has taken a lot of work, even with the huge advantage of using a pre-existing theme, but I’m proud of the results. The migration process was full of little fiddly details, but ultimately it was worth it. I love the new look and feel, the code-base for the site is easier to maintain since it does not include the extraneous Octopress code, and site generation for this site has been reduced from 15 minutes to about 15 seconds. Even better, the updated Jekyll generation code means I can finally take advantage of the Latent Semantic Index (LSI) feature for displaying related posts. Using that feature can increase the final build time to as much as 11 minutes, but previously executing that command would not yield a result in anything less than four hours.

At some point, I’ll come back and document all the steps I used for the migration to serve as a how-to for any other intrepid souls who wish to give it a shot prior to an official migration guide being released, but that’s a task for another day. For now, I’m content to lean back, relax, and take satisfaction from a major undertaking accomplished.


  1. Remember: git branch is your friend.