Since my initial post I have been in a love and hate relationship with WordPress. Wordpress has a huge community, enormous amount of templates and even more plugins. It allows you to adjust your site to your needs without a lot of knowlegde of php, mysql and other related technologies.
Many plugins and themes have helped me to get things working quickly, but also caused some serious headache from time to time. A couple of weeks ago I had a chat with my friend Damian Flynn and he pointed out that his blog was running on GitHub. That was new to me. Although I have been using GitHub for quite some time now, I wasn’t aware you could actually run your blog on that platform too. As it turns out the technology is baked into the platform.
After doing some reading I found a a lot of pros to running your blog on GitHub.
- It is fast. Your blog on GitHub does not use a database, it just renders the pages you put in a repository.
- You can create your blogs in markdown. I have been working with markdown for couple of months and its super simple.
- You can build your site completely within GitHub.
- You can leverage the pull request functionality, allowing readers to improve the blog articles in a controlled manner.
- Export (backup) of your site takes seconds, just clone the repository and you have a complete backup of all your blogpost, images and site configuration
- You can easily start by forking a repo with a prebaked config and template.
- It is free!!
Wow! Seems like a no brainer. There are a couple of cons you should be aware of.
- As with everything, there is a learning curve. Understanding the blog capablities in GitHub can be a bit hard if you are new to the platform.
- After starting with a forked repo, I wanted to adjust some of the features to my own needs that resulted in breaking changes to the site functionality I forked. I decided to start from scratch.
- If you start from scratch, you quickly become into the situation that custom configuration with a client is referenced. This is very difficult on a Windows client. I decided to do the complete configuration directly on GitHub without any client, just using the out of the box platform capabilites.
- Using only the platform capablities can be challenging. It requires knowledge of HTML, CSS and Jekyll.
To summarize, it took me a couple of weekends and evenings to get everything working the way I wanted. But I brushed up my HTML and CSS knowledge and learned Jekyll (which was completely new to me). I cleaned up all my articles and images and now have the same layout as I had with WordPress, just much faster, totally free and with the added capabilities of GitHub.