A Ghost in the Machine

Ghost author
I should have known there was an issue when I started writing blog posts outside WordPress, pasting back in only after they were complete. It was an obvious sign that Wordpress had become a bottleneck in my writing process. So when a colleague recently suggested I try Ghost, a new open source blogging platform, I decided to take a look.

The Ghost project was started by John O'Nolan, former head of the WordPress UI group, as a Kickstarter project. The team's mission with Ghost: make a not-for-profit and not-for-acquisition platform for bloggers. The tag line ("Just a blogging platform") sort of reminded me of the Evan Williams tag line at Blogger: "Push-button publishing for the people."

Over the years, WordPress has grown bloated with features as it has been stretched to support the sometimes conflicting needs of its users and developers. It has also moved from simple blogging platform to a all encompassing CMS. The result: a very sophisticated but increasingly cumbersome piece of software that is rapidly becoming the Microsoft Word of CMSs.

So last night I decided to take Ghost for a spin. The project is admittedly immature, so this was very much an experiment. I started by downloading the source code and installing it on my current WordPress server. While setting up Ghost took minutes, it took a lot longer to figure out how to migrate my several years of content. I settled on using wp2ghost to migrate my existing posts, modified the code to support my WordPress :year/:month/:slug permalink structure, and shamelessly copied my WP content uploads directory under Ghost as an interim solution to migrating images. Thanks to Hannah Wolfe for helping me put the last link in my permalink puzzle.

I found the Ghost IRC channel (#ghost) useful as I hit walls with the early software, especially around their current lack of support for customizable permalinks. The code is fairly small, generally clean, and entirely written in JavaScript using Node.js. I will confess to feeling some pleasure at not having to look at source code written PHP, the COBOL of the web.

Long time WordPress users may be shocked at the spartan simplicity of Ghost. WP offers one stop shopping for just about anything you need for your site, from SEO to social media integration. I am sure there is a WordPress feature to make you coffee in the morning if you look hard enough. The core Ghost software offers none of that, expecting the yet to emerge plugin market to extend the simple base software. So before making the move, you'll need to ask yourself: do you really need all that functionality?

The result: this site is running off a slightly modified 0.4 version of Ghost, running the Orre theme, and serving up several years of content via server-side JavaScript. I still have some reformatting work to do with the older posts, but that can wait for another day. I should also state that this post is the first in several years actually written in my blogging platform. ;)

I'm not sure how how long it will last, but right now there is a Ghost in my machine.