Jekyll has hit 1.0 a few days ago! We have now more features from our beloved static site generator. For me, it was time to give my blog a new look and to try a new way to deploy it. Reading the awesome jekyll documentation, I found several references to GitHub Pages. I already knew that GitHub Pages were used for project websites or documentation but I didn't take a look to use it for my blog.

Bye Heroku, Hello Octocat

It was time to say goodbye to heroku. These guys are great. I still use it for all my Rails projects. Even at work we have all the staging and production environments deployed with them. Anyway, static websites deserve a simple deployment like just ftping the whole thing or better, git pushing everything. That's exactly how GitHub Pages work:

  • You create a repository with a special name username.github.io
  • You upload a whole Jekyll website using the standard git push origin master
  • 2 minutes later, your pages are accessible at: username.github.io

You can't do simplier than that. Really.

Still, I saw two limitations:

  • GitHub Pages run Jekyll in safe mode, which means no plugins.
  • I have a custom domain name(blog.10io.net) and I want to use it for this blog.

The good news: point 2 is part of the features from GitHub Pages. If you read their documentation, they help you to set up a custom domain in a snap.

For point 1, I did some search since I really wanted to generate the site locally and then push the result. This way I could use any plugin I want. Mister Google told me about this article written by ixtis. It shows a way to generate and upload a Jekyll website. All of this using a simple but smart rake task. After copying the task, I was deploying the whole site to GitHub Pages. Cool!

New look

I had a new way to deploy, so I decided to have a new look. This one is based on hooligan. I took the jekyll 1.0 gem, generated a new site and copied the posts directory. That's it. I had a new website using Jekyll 1.0. After some tweakings on the theme, I was pushing this whole new version to GitHub Pages.

I still plan to add more features to this blog:

  • Add my twitter stream to the sidebar
  • Add a search functionality
  • Add Google analytics
  • I am not certain to add comments, so for now I will not add Disqus comments.

If you look for an effective way to manage and publish a static site, Jekyll + GitHub Pages is a perfect combo! And remember:

You can't beat a static site!