We've covered Ghost before on this site.
Ghost is designed to be nothing but a blog. It was built to be a simpler, lightweight alternative to WordPress.
A month ago, the first version of Ghost launched to people who had sponsored the project's development on Github.
Today, Ghost was released to the public. In this review, I'm going to download and test Ghost for the first time.
What is Ghost built with?
- Application Framework: Ghost relies on the Node.js framework. It also uses Node Package Module to do server-side processing.
- Database: Ghost uses SQLite3 which is a file based database system.
- Templating: Ghost uses Handlebars.js.
All of those things are substantially different from the WordPress / Joomla / Drupal ecosystem which relies on PHP to drive the site and MySQL for a dynamic database.
So, be warned ... this will be a radically different experience than working with any of the dominant CMS systems. Ghost won't install our your normal servers and it won't include a line of PHP.
Getting hold of Ghost
Remember that this is the 0.3 version of Ghost. There's some distance to travel before we even get to the release version 1.
- You can download Ghost from https://en.ghost.org/download/
- Ghost is also available on Github: https://github.com/tryghost
Currently the installation options for Ghost are limited.
- Hosted: there will be a WordPress.com-style hosted option for Ghost, but it's not public yet. The Ghost team "hope to open it up publicly to everyone in a couple of months."
- Self-hosted: there will soon be options to install Ghost with Rackspace and Digital Ocean.
- Vagrant: there's a deployment script for Vagrant here.
However, for me, being short of time on Day 1, I wasn't able to reliably test any of those installation options.
By far the best choice for me was the Bitnami stacks which allowed me to put Ghost on my local machine: http://bitnami.com/stack/ghost
We've covered other Bitnami installers before. You can get them for Joomla, Drupal and WordPress in the Mac App Store. You can also download them from the appropriate URLs:
To test Ghost, you can simply download and install the Bitnami app.
After installation you'll see a control panel like the one below.
- Click "Go To Application" to test Ghost.
- Click "Open Application Folder" to browse the Ghost files.
The first installation of Ghost comes with a simple theme called "Casper" (as in the friendly ghost).
Casper is a black and white design with an enormous oversized header.
There's one intro post. That's post is a little confusing here ... it's designed to be an explanation for people who are logged in.
To login to Ghost, add /ghost/ to your URL. I also found that /admin/ and /administrator/ worked.
You'll see a very minimal admin login box:
The Ghost admin area is very, very simple. There's a black admin bar, a list of posts on the left and one post visible on the right. That's it.
- Click the pencil in the top-right corner of the post to start editing.
It's at this point that the demo blog post becomes very useful. It gives a short introduction to "markdown" which is the formatting used for all Ghost posts. You make updates on the left and they are automatically previewed on the right.
There's a small tagging feature in the bottom-left of the screen. That's the only way to categorize content.
This kind of simplicity is the whole point of Ghost.
How simple is it? There's a total of 7 settings for your whole Ghost site.
There's really nothing to do in the Ghost interface except write.
Currently it looks as if Ghost only supports one user account.
Under the hood with Ghost
Ghost is 1.4 MB in size.
In comparison, Joomla, Drupal and WordPress weight in at between 3.5 and 8.5 MB.
Here's an overview of the Ghost file structure. Notice that all of the key files are .js files:
The site database is stored in /content/data/ghost.db. All of your site settings, content and user details will be in here.
The image folder structure appears to be organized in a similar fashion to WordPress, by date. That allows Ghost to launch without a media manager:
Here's the Casper theme folder. Notice the .hbs file endings? That's because the theming system uses Handlebars.js.
Here's what Handlebar.js looks like in action. At first glance there are similarities to Twig which will be the templating engine in Drupal 8.
Overall, this is a good 0.3 release.
It's also way, way too early to give a thumbs up or down to Ghost.
Ghost has momentum and it has peoples' attention. Most open source projects never get either. The next step is the most important: can the Ghost team build on their initial momentum? The Ghost team need to keep working on code, but even more importantly they'll need to bring in hosting providers, designers and developers. Keep an eye on the Ghost codebase, but also on http://marketplace.ghost.org.