Choosing a Blogging Framework

August 20, 2016

For a long time now, I’ve been changing blogging platforms more than I’ve been blogging. Part of the reason is that, after a few months of dealing with a platform, I start to hate it, want to change it, but I don’t have the time, so I don’t write because I don’t like how it’s going to look. I’m like that, yeah.

So, this post is the first on a new Jekyll based blog, and I wanted to write about these blogging frameworks. In order for this to be complete, I’ll talk about WordPress, Jekyll, Octopress and Poet, which are the frameworks I’ve used recently. I’ll also talk about Medium, which I tried to use but didn’t.

WordPress

Probably everyone knows about WordPress. It’s a PHP blogging platform, available both as a preinstalled, ready to use platform or as an open source package you can install in your own server. A lot of traditional PHP web hostings have an option to install and configure WordPress in an easy way. There’s a ton of plugins, themes and such available for WordPress, and it’s probably the first choice for anyone that wants a blog and it’s not a developer.

As a developer, though, I don’t like WordPress. It’s slow, you need a traditional server or a filesystem-enabled cloud one, and customizing anything is a ton of work. If you have little idea, go for it. find a good theme, adjust a few options, install plugins, done. It’s also great if you need a more complex site that just a blog, and if you configure it properly it can be a great general-purpose CMS instead of just a blog system.

It should be noted that, although I’ve worked with WordPress recently, it was not for my own blog. I did a WordPress install on OpenShift, the RedHat cloud PaaS provider, and it was ok but it increased my hatred of WordPress. Having to manage a server is one of the problems, having to manage a traditional, PHP server is a bigger problem.

Jekyll

Jekyll is a completely different approach. Instead of a live server environment, Jekyll is a static site generator: An application that takes a set of files and transforms them to generate a static website consisting only of HTML, CSS, JavaScript and other static resources. Jekyll is probably the most popular one because it comes from people at gitHub and it’s completely and entirely native to GitHub Pages.

With Jekyll and other static generators, there’s no admin panel or installation interface. Instead, you write your posts and pages in Markdown, Textile, or some other text format, download or write a theme, and run the generator. The resulting HTML files can be served by any static web server, including GitHub Pages.

However, Jekyll is a bit awkward. At first it sounds nice, but as you use it you realize more and more that it’s a patchwork system, built after a specific need, and that needs a full redesign and rewrite in order to be even consistent with itself. I’ve already expressed my complaints in a previous post, so I won’t extend this any more…

Octopress

Octopress is essentially a collection of plugins and wrapper tools around Jekyll. To be completely fair and honest, I don’t really remember much about Octopress or why I hated it. I know I ended up giving it up because it felt like I had very little control. I believe I used version 1, though, so thing might have changed a bit since then.

It also has the problem that most of the things you do with Octopress are through a command line utility, which is fine, but I wanted a bit of automation in the deployment of my blog. In particular, I wanted to be able to write blog posts from anywhere and for them to be automatically deployed. I don’t think that’s impossible with Octopress, but it was certainly looking not-so-good due to how the command line worked.

Poet

Poet is a server approach to blogging, but kind of developer oriented still. There’s no admin panel, just a folder with posts written in Markdown, just like with Jekyll, but instead of being a statically generated site, it’s a dynamic (but cached) Node.js server running everything.

This time I did the theme myself, which actually was just a very ugly Bootstrap thingy. The problem ended being that the site was a bit overcomplicated and that I never finished giving the theme a proper style. Finding themes for Poet is a no-no, too, so I just never updated the blog because it was going to be too damn ugly…

Medium

So, Medium. Medium is nice, actually. It’s a platform kind of like the hosted version of WordPress, but much simpler and minimalistic. Too minimalistic, in my opinion.

For the regular person that just wants a place to publish things it’s actually quite good. But I write a lot of code, some math, a few tables, and in general I like to be in control of how things look. That discarded Medium kind of immediately because it doesn’t allo for most of that. It also has a weird comment system, with comments actually being responses, articles on their own right, that appear on your profile.

finally, Jekyll (again)

So I’ve ended up with Jekyll again. I have not changed my mind about it, and if I ever find some time I’ll probably write that generator I promised I’d start a year and a half ago, but for now, this is good enough.

This time, though, I have a nice theme and just a blog. No complications, no front page, no anything. Just a list of posts and the posts themselves, maybe some comments. That’s it. Looks nice, doesn’t it?


And that’s my story about how I switched blogging platforms more than I blogged. I’ve decided the blog is going to be a bit less professional and a bit more personal, so I might write about more than just code. Let’s see how that goes.