Github pages and Jekyll

December 23, 2011

I have now been using the static site generator Jekyll for my blog since July. Overall the experience has been great, and I had been running it on an old server box with git post-receive hooks to handle the Jekyll build, compass compilation and deployment to the live site.

Whilst a great solution, it demanded having a box to do the hosting, with webserver (nginx), ruby stack and gems for Jekyll and Compass. I recently had a look at my admin commitments and decided it was time to simplify my hosting, which took me to Github pages.

I already use Github for public repositories, so it made sense to look at this to host my website too. Jekyll is an integrated part of the Github pages system, and by simply creating an repository named user.github.com the system automatically builds Jekyll sites within that repository and serves them from that url. Custom URLs are also supported and simple to set up, streamlining the process of moving a blog over to Github (especially if you have your site already under Jekyll and Git version control!

My one gripe would be that it doesn’t support Compass natively for CSS during the build process, which means changes to my CSS need to be made locally, built and committed in order to be available on Github. However, this is a small inconvenience in an otherwise great product!