Hi, I’m Tony Sanjaya, a web developer at Stampede Design. As my experience in web development grew over time, I needed a place where I could share my thoughts and findings. Other times, I wanted to share with others on what I have built. This was the problem statement that came about and to solve it I realised I needed some kind of CMS or blogging platform to post my works. It needed to be customisable, free of complications and easy to maintain.
This post details my quest to find that “one” platform that would cater to my needs.
Determining the requirements
The first question I asked myself was what kind of platform would suit my needs? I begun by creating a list of all my requirements and defining why it needed to be so.
- Has to be easy to customise. Meaning I should be able to modify most of the platform’s functions without breaking a sweat.
- Needs good documentation. The documentation is the starting point of getting to know the platform. From there, I will be able to understand how the platform works and figure out what kind of customisation I can do.
- Has a strong developer community. If the platform’s developer community is growing fast, it signals the potential to become better over time.
- Ease-of-use. Because I am using the platform for personal reasons, I don’t want to deal with an overly complicated system. Sometimes that simplest things are the best.
With this list in my mind, I sought out to find that platform. Looking at the requirements carefully, I determined I needed something similar to a Content Management System (CMS) or a highly customisable blogging engine. Using this funnel, I narrowed my search down to a few options.
The options available
Using a combination of prior knowledge and Googling, I went ahead with exploring a number of platforms. I narrowed these down to WordPress, Ghost, and Jekyll. Here are some thoughts and conclusions that I have made about each platform.
WordPress would be a default option for many. It has its origins as a blog engine but has since evolved over the years to become a powerful CMS. Personal blogs, corporate sites, and even online stores use WordPress.
I have some prior experience with WordPress due to my work. I used it to create websites for my clients with some customisation to fit their business requirements. In fact, customisation for WordPress can go very far, with its robust framework, strong developer community and ample resources located around the internet. For the financially tight, there are a number of free themes and plugins which you can just download and implement.
However, WordPress wasn’t the platform for me. One of the reasons is because I use WordPress for work. When I use it for my personal use, it somehow reminds me of being at work and I start to lose my desire to utilise it. Just looking at WordPress’s dashboard makes my desire to work on it fade.
My continued research led me to Ghost, a platform created from the desire to primarily just write without the complications found in other CMS. Ghost has two releases depending on your needs. If you don’t mind setting up your own hosting, then you can go with the basic version which is free. The second option is a paid subscription where you rent their hosting service to put up your blog.
Ghost however, runs on node.js. You can’t run it using ordinary shared hosting because you will need a VPS. If you still want to use Ghost without any knowledge in terminal, consider going with the paid version.
Writing in Ghost is very interesting, because it uses markdowns. In Ghost’s admin panel, the editor is similar to Mou. The creator said he wanted to use markdown as the editor because Mou was his favourite editor.
Ghost so far has met my criteria, but it would require me to continually spend a good sum of money to maintain the site. If I were to self host it, I would still I need to have a VPS which is more expensive than shared hosting.
As Ghost wasn’t a good fit for my needs, I stumbled upon Jekyll during my search. While you might think that Jekyll is a CMS, it is actually not. Instead, it is a static site generator; software that converts a text file into HTML files.
Jekyll can be hosted in GitHub, so you don’t need to worry about hosting. This also includes the domain because it uses GitHub Pages. Your domain will be your_username.github.io. If you have your own domain, it can be configured to become a custom domain. The result of Jekyll are HTML files, so databases are not needed here.
But for the standard blogger, Jekyll may be difficult to use, because you’ll need to know a little bit about programming. But for developers, it can be used easily. All of its settings are text-based, and can be configured using your favourite text editor.
Jekyll has good documentation, and this means I can figure out things on my own easily. Its community is also very strong, with 267,740 stars on its GitHub rating. Many developers use it and customise it to fit their needs. If you’re not into creating your front-end from scratch, fear not, as jekyllthemes.org provides you with a gallery of themes to pick and use. Because Jekyll is hosted on GitHub, all of it theme files are in it. You can clone, star, and fork it like any other repository.
Coding for Jekyll feels at home with developers, because it uses markdown files so coding can be done on your text-editor. There is no WYSWYG toolbar or any fancy stuff, all you need to do it write down your blog post on a text-editor and Jekyll will convert your markdown file into HTML. It will also upload it directly to a hosted server without the need for FTP. Just push your files to your GitHub repository and your post will be published.
In the end, I chose Jekyll as my blogging platform. I like the simplicity of it, and it fulfills all of my needs for a place to publish my works and thoughts.
As a developer, do you blog your thoughts and findings as well? What platform do you use and why do you use it? Please share your thoughts with us at the comment section down below, we’d love to know!