Building a Static Site in Jekyll

Posted by Tejus Parikh on June 24, 2012

I’ve been having a pretty tough week personally, so what better way to distract myself from the emotional swings than think about a redesign for my personal landing page tejusparikh.com.

The first version of tejusparikh.com was just a few html pages and some really simple css. This was great, up until I added another page to support Scribit content on my site.

In order to maintain the site, I could have gone back down the path of hosting it on a full-fledge web-server, or converting it to a tumblr blog, but I like how cheap and simple using an S3 bucket as my website is.

Jekyll is the perfect fit for this problem. Jekyll is written by the same folks that brought us GitHub. Jekyll works a little like a regular CMS, but instead of rendering the page when a user accesses your site, the program builds everything as a collection of static html pages, eliminating the need for an application server for the content.

The features I found the most helpful for building a small site were:

  1. Nested Layouts - The header of a file in Jekyll specifies a layout. Specify another file as the current file’s layout and presto, layouts embedded within layouts

  2. Plugin Support - It was trivial to get jekyll-less configured inorder to create all the CSS within LESS. This one step alone probably saved all the time I spent learning how to use Jekyll.

  3. Super Easy Deploy - There are gems that will automatically push the generated site to S3, or one can just copy-and-paste them from Finder.app to Cyberduck.app. I went with the later.

  4. Edit In Your Text Editor - Web-blog editors aren’t bad, but I’m not anywhere near as proficient in them as I am with the text editor that I use day-in and day-out.

If you have a small site and have ruby installed, Jekyll is not only powerful, but easy.

Related Posts:

Tejus Parikh

Tejus is an software developer, now working at large companies. Find out when I write new posts on twitter, via RSS or subscribe to the newsletter: