Replacing Wordpress with Octopress


About a month ago, I embarked on an adventure to replace my WordPress blogging platform with a more Ruby-friendly alternative. I say ‘once again’ because the last time I attempted this, after about 30 minutes of somewhat futile searching, I simply gave up. This time, the urge was stronger, and I was lucky to have better results. But before diving into the details of my quest, let me explain my motivation for making this change.

Octopress rules!

The motivation

Most people would likely agree that WordPress is one of the most powerful blogging platforms worldwide. It’s highly customizable, and even more importantly, has a huge number of powerful add-ons that cover sitemap generation and Google Analytics to backups, Dropbox integration, themes, and more. After all, when you want to publish content on the internet, your primary concern is the ‘what’ rather than the ‘how,’ isn’t it? When I started writing short pieces for this site, my main concern was practicing writing, so WordPress seemed like a suitable tool.

Perhaps that’s the right choice for most people, but I had an itch that needed scratching. As a professional developer, WordPress didn’t quite satisfy me. I also wanted a more Ruby-friendly solution since I’m a Ruby developer and thought it might allow me to build something on top of it one day.

Budget considerations also played a role in my decision. I run this blog on DigitalOcean’s smallest instance with 512MB of RAM, and I’ve experienced issues where my blog went down due to MySQL consuming too much RAM. Although I enabled Linux swap once I identified the problem, the idea that WordPress was overkill for my needs stuck in my mind.

Enter The Octopress!

In short, I discovered Octopress, which allows me to create posts using Markdown and then generates static HTML pages served by nginx. This means no database, no server-side code, no swapping, amd no complicated backup/restore add-ons - just a code repository!

It works similarly to tools like AngularJS toolchain, with templates on one end, a templating engine in between, and raw HTML, CSS and JavaScript on the other. The key difference is that there are no Node.js, Grunt.js, Bower or other tools to manage - just some Ruby code. Sweet!


comments powered by Disqus