What is Jekyll and how do I use it?

Jekyll is a static blog generator. Basically, what that means is that it doesn’t use a database and doesn’t request data on the fly. You create your blog posts locally, push them out to github, and the pages of the blog are generated by Jekyll in advance of the user making a request to see the page.

This is a really great way to speed up your readers’ ability to navigate around your blog and read articles. Google also loves it because page load times are significantly better when your site doesn’t have to make a trip to the server, then to the database, then to the blog app to build the page, then serve the page. It is a single trip and the speed difference is considerable.

At my current job, I implemented a static site generator for our primary website using Middleman, and our Google rankings skyrocketed as a result. Side note, I used Middleman for that project because Jekyll is made for smaller, blog-type sites. Middleman is a much more robust static site generator that is meant to be used for larger websites (not necessarily blogs).

Both Jekyll and Middleman are ruby frameworks. Since this is a Javascript blog, I will also note that there are Node.js static site generators available to use as well. I have used Jekyll and Middleman many times in the past for other projects, so my familiarity with them is what weighed my decision to use them even though they are not Javascript based. Also, Jekyll can be easily hosted on Github (which I’ll talk more about later), so that saved me a bit of work.

Setting up your blog

I’m not going to spend a ton of time on this topic because there are already sufficient help articles and example sites available to learn from, but I will list the order of events that I followed.

  1. Set up a github repo as described on the github pages site
  2. Set up Jekyll locally as described in this help article
  3. Choose a theme (or create your own… but life is short). I used Pixyll.
  4. If applicable, purchase domain and update DNS settings.
  5. Write some articles and update the about page
  6. Push the changes up to github
  7. Profit (maybe… one day)