Covering the space of open source projects and initiatives

Ghost

It should come as no surprise that this website is built upon the Ghost blogging platform, a kickstarted project that was hugely successful, and continues to grow.

Since it’s inception, there have been over 7,000 commits to their Github repository, with people writing hundreds if not thousands of lines of JavaScript that helps power this website, along with several other notable blogs, such as Square’s Townhouse and OpenAI’s website. They’ve had over 100 releases tagged on Github, and power over 1.2 million blogs.

Impressive numbers, and they’ve certaintly come a long way - way back in the days of their alpha releases, there was a lot of manual installation to be done - cloning the repository (or downloading a release), editing config files, setting up Nginx, and setting daemon configuration. And now, the setup is as simple as installing Node.js, doing an install of their CLI tool (npm install -g ghost-cli), and running the command.

Upgrading was easy as well - at least, in our case. We were on a version prior to v0.11.0 (thanks DigitalOcean), however all that was required was an update to Node.js, installing the CLI tool, exporting the configuration via the admin interface, and then setting up a new blog from scratch.

Initially, Ghost was a project on Kickstarter, which was created by John O’Nolan. He was a well known developer in the CMS space, creating blogs for several larger companies and eventually becoming head of UI at Wordpress, and currently travels the world and simultaneously runs Ghost. We reached out to him on how he manages to do it and will update this post when we hear back.

Regardless - We love Ghost, and we highly recommend it to anyone looking to self host a pure blogging platform. For the more ambitious out there, there is always (also open source) WordPress, the massive content management swiss army knife, but for pure written content, Ghost is definetly unseating WordPress as a go-to.

As far as personal experience, this site started off with a deployment courtesy of Digital Ocean. Version 1.0 was released not long after, and so as mentioned above migration was required. They provide very well written docs, including how-tos on migrating, which came in extremely handy. While we have not written any custom themes (planned) or plugins (no plans as of now), their docs are extensive and nothing is off limits, their templating being handled with the Handlebars library, which is not unlike Jinja2 or mustache (the latter of which it is practically interchangeable with).

Writing is a joy, the newer updates introducting Hemmingway mode (no backspace, although arrow keys are fine), dark mode for the writing and administration interface, and a much nicer preview interface. Writing is still done in Markdown, which is easy to learn, and the usual keyboard shortcuts are as you’d expect (CTRL+B, CTRL+I, etc). The sidebar can be cmpletely toggled, although unfortunately I have not found a way of hiding the bottom bar when editing an article, or hiding the scroll bar (which sticks out quite a bit in Chrome when dark mode is enabled).

Google’s AMP is supposedly supported, and although we do have it enabled it does not appear to work, which is slightly disappointing (we are currently on 1.5.2 so maybe this has been addressed).

Ghost is a clear winner when it comes to self hosting a blogging platform, a solidly written community driven package written in JavaScript and leveraging Node.js. We’re all excited to see where they take it after their monumental 1.0 release, and will keep updated when more milestones are reached, as well as our personal experiences with them.