Jekyll, a static site generator written in Ruby, outputs simple HTML files that can uploaded via FTP to your server.
I briefly toyed with the idea of writing my own blog software for Google App Engine, but decided against it since it does not support naked domains (like pratham.name).
Here are some reasons I finally chose Jekyll,
- Self hosted: More control, so I can add/remove features as I wish.
- Static site: Plain HTML output, can be hosted anywhere. I’m hosting this on a cheap 25$ a year ASmallOrange plan.
- (Relatively) Secure: No worrying about versions/patches of the latest blog software.
- Post management: Easier to manage posts as files in a directory than having to use a clunky web UI.
- Source Code: While Tumblr was not designed to include source code in blog posts, Jekyll is perfectly suited to it. It even has an in-built source code highlighter.
- Using a Text Editor: Since Jekyll posts can only be composed on your local machine, your can use your favorite text editor, instead of the entry form of your blogging software.
- Using Markdown: I used to use raw HTML on Tumblr, with unpredictable results sometimes. Markdown makes more sense.
- No Tumblr Backup tool: Tumblr does have a Mac only backup tool, but no Windows version yet. It made me nervous to not have a simple method of moving out all my posts.
- Version Control/Backup: I can now version my posts as well as back them up on Dropbox.
Using Jekyll on Windows, however, does need some fixing. The source hightlighting plugin, Pygments, does not work without this patch. I also added this html_truncate function to truncate longer blog posts.
Note that the RSS feed also has been modified, so you will see some older posts in your feed reader.