Welcome to Jekyll
Notice anything different? Hopefully not much. This blog is now a “baked blog” (100% static HTML files) generated by Jekyll.
I rebuilt my design as a Jekyll template, which was largely a simple matter of replacing WordPress’s template tags with the equivalent Liquid tags, and copied all of the posts and comments. (The comments are now powered by Disqus, given the inherent limitations of static pages.)
Everything should be pretty snappy now, since NGINX can just grab a static file and throw it back to you, rather than waiting for a behemoth PHP script to execute numerous MySQL queries and generate a page for each request. Sure, you can set up some excellent caching systems, but that’s overkill for a tiny personal blog. Caching doesn’t do you much good when most of your hits end up being cache misses.
The biggest visual change you’ll see is the revamped Archives page, which is more-than-loosely based on the one from the default Octoress theme. In fact, I borrowed a few things from Octopress. A couple of plugins, a Rake task, etc.. Why not just use Octopress, you ask? I’m not a fan of the directory structure or added hurdles when building a custom theme. I gave it a try, but it seems to me that Jekyll is the way to go if you want to do a lot of customization. If you just want to run a couple of commands and have an instant, generic-looking blog with plenty of amenities, then you may prefer Octopress.
All in all, the migration was fairly painless. The hardest part was writing a custom Jekyll plugin to display image galleries in posts and generate thumbnails. (Okay, debugging my Git post-receive hook was a bit annoying, too…)