Moved from WordPress to Jekyll Part 1
Welcome to my redesigned website!
Many changes are abounding, not the least of which is that I have moved off of using a self-hosted Wordpress to having the site generated by Jekyll on Github. It seems something of a tradition that the first post on a Jekyll based site after such a move is to cover the whys and whatfors, so here is my take on it!
What’s Wrong with Wordpress?
Nothing. Everything. Saladin, Kingdom of Heaven: Director’s Cut
In the nearly 8 years(!!!) I have been using Wordpress, it has grown in leaps and bounds from a simple blogging platform into a fully extensible CMS. It was/is my go-to platform for getting a site up for my creative projects and for my friends and loved ones.
But, personally, with that growth came a lot of headaches. Nearly every time I created a site I would be writing my own themes, plugins and hacks to provide some extra desired bit of functionality. These would become a hassle to maintain with each new version of Wordpress, as functions I relied on would change. This problem also plagued plugins that I was using written by others and so would trigger even more cycles of work.
And here is the rub of it; IT WAS ALL MY FAULT!!!
Given this great, flexible platform I went crazy, putting a lot of time into building a site with a lot of features that were meant to save time - automatic video player generation, RSS media enclosures, etc - only to spend a lot of more time keeping it working. Add to that ongoing issues with spam and security, warnings about resource usage, a distaste of PHP, and a growing need to go minimal in my life … and suddenly blogging became an unpleasent, cluttered experience.
It was time to move on.
Why Jekyll?
Jekyll was first introduced to me by my Carbon Five colleague [Rit Li][] when he heard me complaining about how long it took to simply save and preview a post1. Furthermore, I did not appreciate the cold, brusque responses my host gave when I reached out to them for help resolving these problems. Rit suggested switching to Jekyll and having my site hosted on Github for FREE.
That piqued my interest and I read into it.
In Jekyll, you write your posts and pages as simple Markdown or HTML files, which are then transformed using templates in those same formats, a process you trigger from the command-line.
There is no database; the final result is simply dumped to your filesystem for you to do whatever you wish whether browse it locally or upload to a server.
There is no theme sytem; you use straight CSS with some logic control through Liquid tags.
There are plugins but that doesn’t matter because Github, where I planned to host the site, doesn’t allow them anyway.
In brief; it’s simple, fast, and limited.
Why is that a good thing?
Because it addressed my fundamental problem; given a wealth of options I got distracted by using them. Here was a system restricted to very simple functionality that required little to no resources except the developer skills I was already familiar with.
I was sold. But there was a lot of work ahead of me.
Do As I Say, Not as I Do
Which brings me to one last thought…
Jekyll is not for everyone and it doesn’t answer every need. I wouldn’t recommend it for anyone unfamiliar with git and basic command-line usage. If my non-codemonkey friends ask me what should they run their own sites on, I quickly say Wordpress or, if they have a bit of money, Squarespace.
But for me and my issues, it fits the bill. The fact that this site and others have laid stagnant for a couple of years are a result of my laziness. But when I did build up the willpower and login, suddenly noticing a bunch of fixes and tweaks that needed attention did not help!
Jekyll is easy to maintain and helps me focus on what it most important; working my site’s content instead of its infrastructure!
My next post will cover some of the technical tips, tricks, and traps I learned moving my site into Jekyll. I would love to hear your thoughts or questions; post them here, message me on Twitter or feel free to send an email; I am sure you can guess the address.
Footnotes
- I am aware of the various caching solutions available as plugins to Wordpress. But again, these plugins themselves require maintenance!