Day 1 Review of the Ghost Blogging Platform
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?
- Frontend: Ghost is written in Javascript.
- 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.
It’s worth noting however that Javascript is becoming increasingly popular. Even WordPress is becoming more and more reliant on Javascript for core features.
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
Installation
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.
Using Ghost
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.
Final Thoughts
Overall, this is a good 0.3 release.
It’s also way, way too early to give a thumbs up or down to Ghost.
You won’t see many people using Ghost soon because the installation process is still tricky and doesn’t work with most hosting companies. By going with a Javascript stack, Ghost is placing a bet on the long-term future of the web being Javascript. That makes things more awkward now and reduces it’s mass appeal, but it may bode well for it’s long term success.
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.
I threw a vagrant config together that is a bit easier that the one by Ghost (I think): [url=https://github.com/dbough/vagrant-ghost]https://github.com/dbough/v…[/url]
Great, thanks for the link, Daniel
Wow, absolutely awesome review. Can add my little Digital Ocean Ghost install experience? [url=http://www.csfalcao.com/well-ghost-is-here/]http://www.csfalcao.com/wel…[/url]
I’d love to see how easy (or not) it is to make custom themes. Are further reviews coming?
Hi Mike. Possibly, but we won’t dive too deeply yet. “Promising, but not ready for prime time yet” is the general consensus with people I know who have tested it.
Due to the fact that Ghost uses Handlebars.js it’s actually remarkably easy to make a theme, to get started use Casper as a base – it’s quite barebones and a great starting point.
I noticed that it requires some technical knowledge which may stop some people.
If any of the readers wants to setup their hosted ghost blog in about 2 seconds then go to [url=http://FreeGhostBlog.com]http://FreeGhostBlog.com[/url]
Slavi
Personally I feel a bit disappointed. Expected a bit more from Ghost
You have to remember that it’s in very early stages – the Dashboard comes out soon (that was the main thing that intrigued me about Ghost).
That was a year ago they promised the dashboard. Now we’re at 0.5.8 and all it is is just a CRUD interface to a single post type – a blog post. Ghost has been in development since 2013 and now in 2015 it looks like something someone could have done during a weekend hackathon. The UI is great and the fact that there’s so much buzz about it is really driving it. But apart from those two things I’m still waiting to see a reason why this is such an exciting piece of software.
A new framework?
I had it ok on my computer up to the part where Node.js opens and no commands would work. I already had Ghost unzipped as well.
And then I read somewhere that Ghost works only on Cloud servers and not shared hosted servers. What a dampener – even if I can get it to work on my pc!
The other way of course, is to pay $5 per month for a Ghost blog. Disappointing!
I’ve not tried Bitnami and I will report back after I have done so. Thank you for your article!
P.S. Ok, I’ve tried Bitnami Ghost stack. Everything worked nicely till the admin login part. I’m using the ones I used to set up Bitnami ghost stack. It says no user found, even when I request for lost password. Okie…so I am stuck. :/
Awesome! We have just added support for Ghost on our hosting environment. More and more people were asking for it, so we had to act.
AVOID Ghostblog -the customer service rep finally admitted their platform did delete my posts (after essentially calling me a liar for several emails). I provided screenshots that those posts still were indexing on google. They aren’t exporting my posts in a way I can use or letting me cancel the account (the person whose credit card set up the account left). Only one word terrible. Its also not cheap and doesn’t have features such as pop-ups etc. to help conversion.