Rafael Benevides bio photo

Rafael Benevides

In a serious relationship with Software Development

Email Twitter Facebook Google+ LinkedIn Instagram Github Last.fm Youtube

I was a frequent blogger until 5 years ago as I explained on my previous post but this year I decided to return blogging and then move my blog to use Jekyll and host it on GitHub Pages.

This post makes an overview of the steps that I used.

Why Github pages?

GitHub Pages allows Users, Organizations and Projects to host websites directly from your Github repository. It allows you to publish HTML files, use an Automatic Page Generator(based on project’s README file content) or use Jekyll.

Jekyll is a static site generator. It makes “easy to create site-wide headers and footers without having to copy them across every page. It also offers some other advanced templating features.” (from GitHub help)

I’ve used another static site generators before like { :awestruct }. In my Blog, besides the commenting system, all other “elements” doesn’t need to be dynamic, which means that a static site generator is a perfects match.

The Jekyll theme

I’m an awful webdesigner, so I decided to look for an existing Jekyll theme. There’s a website called jekyllthemes.org that contains several themes that you can use.

I don’t know how, but I landed on the Minimal Mistakes Jekyll Theme. To start using it is as simple as its instalation guide shows.

The content migration from JRoller to Jekyll

It was very important for me to don’t loose all the previous content of my blog, so I was fortunate to find a webpage that explains hot to migrate from JRoller to Jekyll.

JRoller is very customizable which allowed me to create a new page template that generates a XML with all Blog entries and comments. Then a Groovy script converted it to the proper directory structure needed by Jekyll and transformed it to Markdown - The template language used by Jekyll.

Of course, I needed to do many adjusts on the exported result, but it worthed to have the previous blog content available out of JRoller and available in text mode in my github repostiory.

The comments provider with Disqus

Having the comments back was also important to me, so the next step was to setup an account in Disqus. I’ve used it before when I was working with { :awestruct } generated websites and it the Minimal Mistakes Jekyll Theme supports it out of the box.

The same page that contained instructions on how to migrate from JRoller, contained another Groovy script that converts the comments (extracted in a XML file) to another format that could be imported by Disqus.

Disqus provides a tool to do an URL mapping from previous comments/blog to a new one. It was very helpful to adjust the imported URLs from JRoller.

The final customization

Having my website page running at http://rafabene.github.io made me feel that it was time to setup a custom domain in Github Pages - I had the domain rafabene.com since 2009 when I tried to use Wordpress.com as to host my Blog.

The good part on having control on your own generated website is that I could activate back the Google Analytics and Google Webmasters.

In my old JRoller blog I placed a Meta Refresh Tag to this page.

Finally I replaced the Social Sharing links to use the ones provided by ShareThis. and also added links to previous/next posts.


The whole process took me a whole Saturday and I hope that describing the basic steps could encourage more people to get the benefits of GitHub Pages hosting. I’m very happy with the final result and having the blog availabe in my github repostiory is an extra. Feel free to poke around!