For years I’ve been trying to get rid of the heavy WordPress sites. WordPress is quite helpful and can be used in many cases. However, it is now an overkill for simple blogging. My Turkish blog has been and still is powered by WordPress since 2010. I tried many different blog engines in the past decade. Ghost seemed lightweight at one point, but I never got the gist of it. To avoid the heaviness of modern blog engines and utilize the technical audience, I started posting my techy articles at Dev.To. Still, I grew to dislike it due to the lack of general quality of the other posts. Then I found Jekyll. Although it drove me crazy at first while trying to make Ruby work on my machine, Jekyll is everything I want from a simple blogging tool.

First things first: Jekyll creates HTML pages from your Markdown syntax at compile-time. There are no database connections, no runtime interpreters. You don’t have to include client-side code, e.g., JavaScript. You don’t need cache because what you have is what you serve. It gives you the top performance in the most minimalistic way possible. Pure HTML pages. Beautifully elegant!

Apart from the top performance you gain from static HTML pages, I should also note that I love Markdown syntax. Since it’s what I’m used to writing daily, there was no learning curve for me. The full syntax is intuitive and easy to use. I often use Grammarly’s editor to develop the entire text and then paste it to the Sublime Text Editor to apply the Markdown syntax wherever necessary. Of course, Sublime’s built-in Markdown support is also beneficial.

Lack of database means no database to backup. It’s a huge hassle to get backups on blogging engines. I either need plugins or a custom script taking backups every day. It’s an unnecessary dependency, in my eyes, especially for simple blogging. With Jekyll, I utilize version control systems as my backup tool. Whenever I add a new post, I push the changes to my private repository on GitHub. Then, I pull the latest changes from my server to update my blog. It sounds like a hassle adding a new post, but even with this setup, I feel safer. If I add an action to pull the latest changes to my server whenever there is an update on the repository, it will be a single-click deployment for new blog posts.

Now that I tasted Jekyll, I started fantasizing about moving my WordPress blog into Jekyll as well. As it turns out, there are open-source tools to export WordPress sites to be imported into Jekyll. A quick Google search led me to this popular and actively maintained tool: https://github.com/benbalter/wordpress-to-jekyll-exporter. It’s only a matter of time before I move entirely in with Jekyll on all fronts. :-)