Jeremy Minton About
Setting up a new Jekyll Website
Posted by Jeremy Minton, ,

Jekyll was something I was told about from a friend of mine from College, James Black, and appealed to me for a few reasons. The increased security, lack of databases and lack of updates all appealed. My recent love affair with git makes having everything in text files quite attractive and coding in vim is always better. But my main reason for exploring this was the ease of customising behaviour without the wordpress framework monolith looming over you.

So, here I am with a working website. It wasn’t that bad really once I had ruby and rubygem running. I am running ubuntu on this machine (14.04 with bugs since updating from 12.04) and one of the things that tripped me for a while was that jekyll exists on the debian package repository but it is way out of date (v0.11). I was also having trouble using ‘gem install’ as per the jekyll installation instructions because I had not installed the ruby development package.

sudo apt-get install ruby #to make sure it was installed
sudo apt-get install ruby1.9.1-dev
gem install jekyll

Then it’s quite straight forward to make a site:

jekyll new <sourceDirectory> #Although 'new' doesn't exist with on v0.11
cd <sourceDirectory>
jekyll build -d <buildDirectory>
cd <buildDirectory>; jekyll serve

This is pretty plain though and so I found a set of templates here and went with Wangana, compliments to the developer Nii Adjetey Sowah who kindly offered the MIT License. I downloaded this and, after some faffing trying to keep some of the content I spent five minutes making on the vanilla site, followed his instructions to use ‘bundler’:

sudo apt-get install bundler #because I didn't have it.
sudo bundle install
jekyll build -d <buildDirectory>
cd <buildDirectory>; jekyll serve

It does look like there is a watch function that will automatically build and serve the website when changes are made but I haven’t learnt the extent of this behaviour and so have not started using it yet.

So now I have a very attractive website and just need to fill it with content.