creating a website with Jekyll

creating a website with Jekyll

You probably had this experience too, you leave a computer alone for a week or two, you start it up and then it needs to Update All The Things ! Windows, Adobe Reader, Skype, FireFox, Thunderbird, virusscanner, they all take their sweet time and pester you with dialogs or reboots.

The previous incarnation of this website was based on Drupal and it was easy to set up and to maintain.

And then came the reports of compromised sites to distribute malware. Sites where compromised because they didn’t update to the latest patches. An update lag of a month or so could be enough. This combined with the fact that Drupal is very module oriented meant that at least every week I needed to check for updates, apply them when available and check the site for breakage. I am but a small operation and this is too much of a hassle.

I came across Jekyll earlier and I dismissed it because it had no database connectivity or server-side intelligence. After a while I realized that the database and the server’s intelligence (i.e. PHP) where the things targeted in order to compromise a site. Around the same time of this realization I came across Amazon’s S3 storage and its ability to serve simple static websites. This meant I could have a secure website with zero maintenance and 99.99% availability at a cost that is cheaper than running an old 2.4 ghz server in the hallway closet 24/7.

Jekyll is a Ruby script and installing is as easy as typing “gem install Jekyll”. On windows installing Ruby itself is less than ideal, but I don’t remember exactly what snag I ran in to so it’s probably nothing big.

The challenge for me using Jekyll was in the design area, I needed to design a HTML/CSS/Javascript template which I have never done from the ground up. This actually speaks against CMS systems in general, they allow you to never come into contact with the real Internet’s protocols. Even though I got in at the ground floor writing HTML1.1 for my very first website in 1995, writing it in Joe and checking it in Mosaic, I have been out of touch for too long. I had to re-learn layouting using CSS, because using tables was now regarded too backward/horrible/offensive.