I migrated this blog to Jekyll on App Engine. So long Wordpress.
Posted on Aug 17, 2010
I don’t like to move my blog around. It is super annoying. The RSS feed gets all messed up, I spend months tweaking everything. I find silly bugs and then fascinate about fixing them. All in all it takes months to complete the process. I avoid it like the plague.
However, I really wanted something simpler than wordpress. I didn’t need a CMS. I barely need a blogging engine. I update so infrequently. I want something that creates well formed html (hah), static content and is easy to use.
I started looking into hosting this blog on Google’s app engine awhile ago. I looked into Bloog - an awesome restful bloggin engine for app engine. It was very hopeful. i spent a bunch of time hacking on it and eventually ported my theme over. I didn’t feel it though. it worked well. it had all the features i wanted. It even used a bunch of neat app engine tricks. I gave up on using it for my blog. It just wasn’t the correct choice.
During this time, I watched most of my hackerish friends start to use Jekyll to power their blogs (or write and then use igor as anders did (protip: do not search for “anders jekyll” in google)). I admired the simplicity of the jekyll engine. It was so easy and fun to use. I wanted to use it for my blog - but it didn’t play as nicely with app engine as i had hoped.
I then found Drydrop.
DryDrop is a neat application for app engine that let’s you host static content. In my current phase of life, I really hate managing servers. It is fun and all - but if i don’t have to - i am not going to. ;) Instead, I try and use platform as a service services(heh) to minimize the number of servers that I touch on a daily basis (my current server number is 4 (I secretly want it to grow back to 100+)). DryDrop was a nice solution for my server hatred. It allowed me to serve simple static content on app engine. I immediately ported a bunch of my static sites over to app engine: harpercloud.com, biofuelmenace.com, weownthesun.com and of course ryankanno.com.
After a few weeks with these sites on app engine - I decided that it was probably the right place to put my precious blog.
Jekyll is an interesting beast. It is exactly as the wiki proclaims: a simple, blog aware, static site generator. It has no features (well. a couple), it has no built in community aspects (no commenting, trackbacks, reactions, etc). It doesn’t have any admin. it is just a static site generator that is geared for blog like sites. It works amazingly.
The first thing I did was port my theme over to Jekyll. You can check this out at my blogs git repository. It was a pain in the ass, but i was able to clean up a bunch of annoying HTML issues that i had from changing shit all the time. I still need to refactor it a bunch.
Once the theme was done, I started working on the content. This is the biggest issue. I have a bunch of content. Like 1000s of posts. Jekyll is not necessarily the quickest of generators when you have thousands of posts. Luckily I was able to do some simple tricks to ensure that the old posts work and the new posts work as well. Its honestly pretty annoying and i need to solve this better.
A couple hints for hosting Jekyll on App Engine with DryDrop:
- check out this post by Carl Sverre on tweaking the site.yaml file for drydrop to handle the pretty permalinks
- the wordpress migration script that jekyll uses is pretty nice. i hacked mine to export tags and datetime as well.
- there are hundreds of blog posts just like this one. they all have great hints
- if you get stuck, just check out the list of sites that are using jekyll. Often they have source on github. you can glean all sorts of goodness from them.
**It is a bummer to leave wordpress. **
I have been on wordpress since early 2005. I think that is the longest I have stayed with 1 piece of software. I really enjoy the wordpress community. I really like matt and all he has done for open source and the internet. I like the fights they pick and i enjoy the innovations they are bringing to blogging. I don’t like having to fight hackers off every single day. If there was one reason i am abandoning wordpress it is because of the hackers.
I hosted about 25 wordpress blogs on my mosso account for various friends. I kept most of them up to date, but a lot of them were for friends and were not under my control. 100% of them got owned. hah. It was just something they did. no matter how fast or often i updated the wordpress software - it would be owned at least one time. My personal blog was safe for some reason. Maybe it was because I always ran the bleeding edge version from SVN. I will not miss the constant updates and the attacks. The wordpress community does a good job of handling this issue. I, however, was tired of it.