My holiday vacation project this year was to migrate this blog off Wordpress into a system that better fits my brain. After quite a bit of research I decided on Jekyll. I decided to move off Wordpress because I often found myself fighting with the admin and editor just to do simple things. I was fine working in the HTML view, but I prefer the simplicity of writing in Textile or Markdown.
So why Jekyll?
- I can write my posts in Markdown.
- It uses Liquid for its templating. I’ve been using Liquid for a long time, so I’m very comfortable with it.
- Jekyll sites can be hosted for free on GitHub Pages.
Moving out of Wordpress
First thing I did was install the Disqus plugin and migrate my legacy comments into it. This allowed me to keep my comment history. Second I installed the Wordpress to Jekyll plugin. This handy little plugin provides an export option that will produce a zip file containing all posts and pages nicely coverted to Markdown. What it doesn’t do is bring any associated images along with it. That has to be done manually. I moved my wp-content images into a root “images” folder and did a simple find/replace to update the paths. Depending on the complexity of your posts, you may be golden at that point. I had to fix around five or six posts which contained either bad characters or messy converted Markdown.
Moving into Jekyll
If you’re not married to your theme, you might be better off using Jekyll Bootstrap. Even if you don’t use it, Jekyll Bootstrap has a lot of good info. I chose to keep my previous theme, so that added some time to my migration. Once I had everything set up and running locally, I set up my GitHub repo, pointed the A record with my domain name provider and I was off to the races. The only issue I have with using GitHub Pages is that they don’t allow custom plugins. There are a couple of features I had to forego because of this, but I’m willing to accept this in the short term.
Even though this is only the first post created using the new system, I think it’s going to work out quite well.