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!
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!