My random thoughts about software engineering

An aspiring software craftsman journey, By Mahmoud Ben Hassine

New Year New Blog!

First things first, I wish you a happy new Year 2015! May this year be full of success, happiness and good health for all of us :smile:

One of my resolutions for this year was to move my blog from WordPress to another static blog generator which would be free, hackable and easy to use. Why moving from WordPress? Well, mainly for three reasons:

  • The service is free but custom domain costs 22$/year
  • Free accounts are really limited in terms of look and feel customizations and custom themes are relatively expensive (the beautiful ones are about 60$)
  • The third point that is that there are advertisements appearing on your blog! And this is really annoying, you see..

So why should I pay WordPress if I can use an alternative service with similar features (if not with more features) for free?!

In this post, I would like to share with you my experience of moving my blog from WordPress to a completely free, beautiful and powerful alternative.

The static blog generator

I was impressed by the number of static blog generators out there after checking https://staticsitegenerators.net/.

After several prototypes, I have decided to use jekyll. I have already used jekyll to generate static documentation and websites for frameworks I have developed (namely Easy Batch and Easy Rules), but I’ve never used it to generate a blog.

Since I have already successfully used to the tool, my choice has been quickly made. The most interesting point is that GitHub pages are powered by Jekyll, and since GitHub is providing free hosting service, my choice has been reinforced!

Which theme?

To be honest, I am not the guy with high skills in web design :smile: So when it comes to web design, I tend to use a pre built theme from Twitter Bootstrap. There are hundreds of web design frameworks out there, but I was always happy with bootstrap so I didn’t changed my habit.

Combined with Font Awesome, you can have a really nice looking UI in no time.

I have used the blog example from Twitter Bootstrap and introduced some customizations. Here, unlike using WordPress, I have total control over HTML, CSS and JS.

What about syntax highlighting?

Jekyll comes with built-in support for syntax highlighting trough Pygments and Rouge. So syntax highlighting is just for free. I chose Pygments since it provides more themes.

Another important point about embedding code snippets it that jekyll integrates very well with GitHub gists. You simply have to add a line with the gist’s id and you’re done.

What about comments?

Disqus, of course. One of the most used social discussion thread manager out there, for free!

Integrating discuss was very easy. Just create a discussion for your site and copy/paste the provided Javascript snippet to your page.

The steps to follow are detailed here, it couldn’t be easier, really.

What about analytics?

Google analytics to the rescue, it’s free and simply awesome. Personally, it covers all of my needs in terms of stats so I did not looked around for another analytics service.

What about migration process?

There are tools provided by Jekyll to import blog data from WordPress. In my case, I preferred the manual solution since I didn’t have huge content to migrate.

Summary

The combo Jekyll + GitHub pages + Disqus + Google Analytics + Twitter Bootstrap + Font Awesome is really a great solution to build a completely free blog which is beautiful, customizable and powerful.