Choosing a Rails Blogging System

Aug 21, 2006

For a long time if you wanted to use Ruby on Rails to run a blog you had one choice, Typo. In the past six months or so more Blogging systems and CMS applications have been released and there is finally some choices to be made. So here’s a roundup of all the available blogging systems that use Ruby on Rails.

Typo

After a long wait Typo 4 is out, and this release firmly cements Typo as the gorilla of the Rails blogging systems. It literally encompasses about every feature you could want.

Typo has been around for awhile, which explains its hefty feature set. It also has a reputation for being a bit of a hog and not very lean, which is saying a lot for Rails apps (which usually clock in at 20 mb of memory minimum). But if you want your blogging system to allow you blog and make you breakfast, this is the way to go.

Mephisto

While it’s been in development for awhile, Mephisto is a fairly new, and really only has the official 0.5 release as of this posting. The nice thing about Mephisto is that its developers understand that a lot of people want to be able to have several regular pages exist along side a blog. In the past you usually had to hack a blogging system to make this popular (ask the Textpattern camp about this).

Mephisto ends up being part blog, part CMS, and allows you make custom templates using Liquid. It has a nice simple interface and doesn’t have a huge learning curve. Mephisto is still early in the development phase though, and lacks features like image / file uploads.

Simplelog

[Update 8/22: Added Simplelog upon reader request. I had completely forgotten about it, even though I’m actually subscribed to Garrett Murray’s feed. Sorry Garrett!]

Simplelog is a basic blogging system that is geared specifically at allowing people to do nothing more than blog. All the things you commonly find in blog sidebars just aren’t there (blog rolls, del.icio.us links, flickr streams, etc). Simplelog is intentionally kept simple and given a low feature count in order to keep the application easy to use.

I haven’t personally used Simplelog yet, but I think the user interface looks clean and easy to understand, and I like the fact that it is geared to have less features on purpose.

Simplelog also gets some good karma since half of any donation to the project is given to the National MS Society.

Radiant

The Radiant CMS is a true CMS that strives to manage content pages first and be a blogging system second. One of Radiant’s biggest features is a dynamic page hierarchy. You can easily create root pages and add on child pages. The admin UI also makes it easy to see how the site is structured. Radiant also allows for content snippets and layouts for reuse to make a site as easily maintainable as possible. Radiant also uses the Radius tag system to add ERB-like scripting into pages.

Radiant’s other big feature is behaviors, which are ways to make a page behave in a certain way. The default archive behavior supplied makes it easy to quickly add a blog to a site powered by Radiant.

I’d recommend people use Radiant when they have a lot of non-blog content for a site and don’t need a blog to be the focus of the site.

Comatose

Comatose is a micro CMS plugin for Rails by Matt McCray. It supports a dynamic hierarchical page structure just like Radiant, but assumes you will build your site around Comatose and extend it to suit your needs.

I’d recommend Comatose for Rails developers who either have an existing site they’d like to add a CMS to with minimal hassle, or for someone who doesn’t want to have to extend the larger blogging systems to fit their needs.

The Final Verdict

I’d like to be able to declare one of these five applications the “winner”, but they all serve such different niches that it is difficult to directly compare them. My best advice is to decide what kind of site you are looking to build and choose your Rails blogging system appropriately. From the full-featured Typo to the do-it-yourself plugin nature of Comatose there is something for every level of Rails developer.