What makes a good blogging platform?
Leaving the tech details, feature lists and other bells and whistles aside, a good blogging platform’s primary aim is twofold:
- Make blogging enjoyable. Entice the blogger into writing more articles.
- Make reading enjoyable. The output of the blogging platform should be easy to consume. A good support for themes and customization is a must.
I had been using Syte as my homepage. Tumblr was the underlying blogging platform and the whole thing was hosted on Heroku. As it turns out, all three of my aforementioned choices were sub-optimal as far as my blogging requirements were considered.
- Syte was difficult to configure. I am neither a designer nor a front-end developer. Therefore it just lay stagnant, with the default theme.
- Tumblr was not a good choice for a tech blog. Writing and highlighting code snippets is painful. Especially with a language like python, which uses indentation for denoting scope and one incorrect word-wrap in your theme can ruin the snippet. As it turns out, I churned out exactly two articles during my time on Tumblr. It is a great platform for other things, not for a tech blog in my humble opinion.
- Though Heroku takes a lot of pain out of hosting your blog, it is far from ideal. I had to shift my site because I received a dreaded Application Error from Heroku. I had not looked into my site for a very long time and did not want to investigate.
A culmination of these problems forced me to look for alternatives. Thankfully, I stumbled on GitHub Pages. I cannot recommend them more. The setup is absolutely simple and your blog/site can be up and running in no time.
However, I faced a few problems with Jekyll. Since, it is based on Ruby, its installation was a nightmare for me due to the myriad dependency management issues in Ruby. I naively tried Octopress but later came to know that it was based on Jekyll. (As a side, the dependency hell was primarily due to Bundler API outages).
By this time, I had become really interested in the idea of static site generators. Being a python fan, I searched for a python based solution and found Pelican. It is fast, has good support for themes and integrates with GitHub Pages with minimal effort from one’s side.
The results of half a day of hacking is this blog.
Thanks for reading. Comments are welcome.