In this tutorial, we’ll cover the advantages and the reasons behind our choice to use Ghost for our professional articles instead of any other traditional blogging CMS.
What is Ghost?
The big difference between traditional CMS and Ghost is lying at the architecture level, the first is generally a big monolithic App while the latter is a more modern approach described as a service-based model which can be easily integrated with Jamstack technologies to make it even faster.
The Drastic Shift
A blogger principally needs a system to write and publish articles, it’s his most essential to have tool, nothing more and nothing less. Telling that, we can clearly see how traditional CMSs come with a lot of overheads that are not even needed most of the time since at the core they are built to be multi-purpose.
Our past experience on projects allowed us some free thoughts about which platform should be best for our blogging journey, it’s a difficult task since nowadays there are many alternatives but in the end, the choice can still be relative to some preferences who serve the most your business.
Firstly, what was certain is that we wanted to align the speed, simplicity, extensibility, and easy customization of the frontend while controlling every corner of the system behind, moving components to build a more decentralized aware architecture that is scalable at multiple levels in contrary to the general idea of the ready-to-go 5 minutes Cpanel installation.
We moved apart from the WordPress-like scenarios to something that really defines us, we opted for a headless CMS instead and the great option in our path was Ghost. That way, we will have more control over the choices of our front-end look and feel, the tools to use for other things around.
Simply said, Jamstack is about improving the user experience on websites, it puts more emphasis on the rendering speed of web pages and also on the security, and scalability, more details are given is this write-up.
This CMS comes fully featured as well, so we could have spun it up and used it straight away as other traditional CMSs work, but the headless part of it is simply a ready-made backend with all the functionalities that a blog needs like:
- Editing and publishing articles.
- Managing free and paid memberships.
- Newsletter capability.
- Users management along with login and logout.
Ghost + NextJS at the Wedding Night
Sounds too techie, right? YES, it just sounds like a difficult setup, but it’s not wide enough to be afraid of for common users. In our desire to look for maximum speed while using new accessible technologies to build our blogging platform, we felt on Jamstack and its promising static deliveries of dynamic content, it’s a new paradigm so it may sound very unfamiliar and difficult.
First, we have deployed Ghost in private mode, and then we used this Jamstack template which is created by Joost Jansky, a well-written Jamstack site using the default and famous casper template for the design. Simply said, that opensource starter template is serving our blogs posts and basic features in a static manner, so most of the pages generation happens at build time while performing some changes either in the frontend source code (visual part of the blog) or in the CMS side (data: articles, authors and settings).
For our case, the real magic behind the Jamstack capabilities is brought to us by NextJS, a very popular React framework in use for building Apps that need server-side rendering and static generation by pre-rendering some resources.
The couple Ghost + NextJS is actually deployed using Vercel (NextJS creator), and we have set up a small CI/CD workflow that triggers pages re-generation whenever changes occur either from our source code or most importantly from our content producer team.
Ghost Editing Experience and Integration
As a team of developers and writers, we have quickly taken in hand Ghost editing tool which is very close to Medium one. It’s like a simple scratchpad in which you can focus on the content you want to deliver for your readers.
Ghost wasn’t built today, it's backed by a team of well-rounded software engineers and content producers who work hard to make it even more better day after day. It’s an open source project as well and the development is very transparent happening on their GitHub repository. As part of their work, that team plus the community around the globe have built numerous integrations features to add more flesh to a Ghost-backed site/App.
As an example, all the images in this article are uploaded to our S3 bucket which is coupled to AWS CloudFront as CDN for faster deliveries globally. NumericaIdeas uses ghost-storage-adapter-s3 which adds up the necessary to link our App with AWS S3 for assets storage.
Here’s the official list of well-known Ghost integrations as of today, before building yours maybe you should make sure something similar isn’t yet available, that might save you development time as it has been the case for us. So in the end it's similar to the WordPress's plugins system.
Call to Action
We have just started our journey to build a network of professionals to grow even more our free knowledge-sharing community that’ll be giving the chance to learn interesting things around topics like cloud computing, software development, and software architectures.
Does this speak to you? If YES, you can simply ping us via our contact form to be amongst the first to know the ins and outs of what we are striving to.
To summarize, what we think is that Ghost is great for minimalist endeavors, for those who want to deeply focus on their writing schedules than anything else. It has the ability to include many integrations to extend its core features, but its main purpose is about being a more comfortable alternative for people who are seeking a tool to express themselves for their readers in a very efficient way.
Thanks for taking your time to read this piece, at the same time we inform you that we are open sourcing our architecture, so the next article will be about explaining in detail how our whole infrastructure is built and how it has been designed to scale, you can subscribe to our newsletter to be informed at the very instant that it’s published. See you back soon, cheers!