Adopting a DevOps practice starts with understanding where you are in the implementation journey. Download the DevOps Transformation Roadmap. Brought to you in partnership with Techtown.

A little while ago, I decided that I wanted to update my CV. I figured that given I am in tech, it made sense for my CV to be online. I was aware of GitHub Pages, which give you a nice-looking URL. This seemed like a perfect location for me to put my tech CV.

http://robhinds.github.io/

Once I had it looking pretty decent and had updated to modern Bootstrap styling so that it was fully responsive, I thought I would stick it on GitHub as a GitHub page. GitHub provides support for everyone to have a free hosted page with normal HTML, JS resources, etc. (which is pretty nice of them!) and gives you a nice, share-able URL like http://{username}.github.io.

While reading about GitHub pages, I noticed that they have native support for Jekyll (a static HTML generator tool for building websites), which is when I had my second realisation of the day: I could make my CV open-source-able by making it a configurable Jekyll projects that lets users just update some config in their GitHub account, and hey presto — they have a nicely styled, personalised tech CV!

So I started porting it over to Jekyll, which just involved moving the configurable, user-specific items into a config file (_config.yml) and then breaking the HTML sections into fragments to make it more manageable to understand what is going on. The idea of Jekyll is pretty straight-forward. It is just a simple tokenized, template approach to putting together static HTML output. However, it does work well and I really didn't find myself wanting for anything in the process. The GitHub native support was also really nice because all I needed to do was just upload the source of the project to my GitHub account and GitHub handled the build and serving of the site out of the box!

And that's all that the configuration it takes! The YAML format is pretty readable; it largely just works with indenting. Hopefully, after taking a look over the nested sections of data, it's fairly easy to understand how you can modify parts to make it customizable.

You can see my GitHub CV page here. Out of the box, you can configure lots of aspects: custom text blocks, key skills, blogs, apps, GitHub projects, StackOverflow, etc.