I use Jekyll to build Pixel Jumble. It’s no surprise, you can tell by the, “Powered by” banner in the footer of each page. You might be wondering, “Why doesn’t he use a CMS?” To answer your question, it’s because of simplicity. I find Jekyll to be simple. There’s no complicated and cumbersome databases to worry about, and that slow down the server. Everything can be built on my local computer, and tested with Jekyll. I can actually serve a local copy of my entire blog using Jekyll.
Wordpress, Drupal and Joomla are all good in there own right, but they all require databases that weigh down on the server, open up more possible security holes, and are heavy compared to Jekyll. They also don’t allow you to build, test and maintain your site locally. That’s really a big feature I love about Jekyll, as it allows me to test things without worrying about breaking things. Yeah, I could setup a virtual machine that runs a CMS that I could access locally, but it’s still just much simpler to use Jekyll.
I also love writing my articles in Markdown. Markdown just makes things that much simpler. No complicated HTML required, it’s just me and my text editor. To be fair though there are plugins to enable Markdown on many CMSs’. If you don’t know what Markdown is, you can read my little tutorial on it here.
I really like maintaining all my files locally as well. With Jekyll, I have them all under one main folder, and then split up each part of my site into their own subdirectories. When I am finished writing a post, all I have to do is plop it in the _posts folder and it’s ready to go.
Another reason I love Jekyll is the way it handles drafts. In the main folder there’s a _drafts subdirectory. All of the articles I am working on go in that directory. With a simple command, I am able to serve up a local copy of my blog with drafts, and see how it looks. I can even have Jekyll watch for changes as I write the draft and update the local version live.
One of the biggest reasons I use Jekyll over other CMSs’ though comes back to simplicity. All I have to run on my server is Nginx, that’s it! The reason for this is that Jekyll builds static pages. This means it outputs HTML, JS and CSS files. All I need is Nginx to serve these files to your browser.
Oh, and one last thing is you can host a site built with Jekyll for free on Github Pages. That’s right, 100% completely free.
So, to wrap up this article; here is a TL;DR summary of why I use Jekyll over a CMS:
- No Database
- Flat file
- Markdown support built-in
- Ability to build and test my blog locally
- The way Jekyll handles drafts
- If I ever need to, I can host my blog for free on Github Pages