Turn your GitHub Page into a Personalised Resume

8:14 PM , , , 0 Comments

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


http://robhinds.github.io/


Once I had it looking pretty decent, and updated to modern Bootstrap styling so 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.

Whilst I was reading about GitHub pages, I noticed that they have native support for Jekyll - which is 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, 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 - its just a simple tokenised/template approach to putting together static HTML output, but 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, 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!

# Site settings
title: Rob Hinds
twitter_username: rob_hinds
name: Rob Hinds
#User specific content
#Links that will appear in the navbar
primarylinks:
- title: Blog
url: http://automateddeveloper.blogspot.com/
- title: GitHub
url: https://github.com/robhinds
- title: DZone
url: https://dzone.com/users/899489/rhinds.html
#Any buzzword skills you want to include
skills:
- Groovy
- Spring MVC
- Spring Boot
#Blogfeed is optional - including this will add JS to call the feed and populate blog list
blogfeed: http://automateddeveloper.blogspot.com/feeds/posts/default
#Work experience is required
roles:
- title: Senior Engineer
start: 2012
end: Ongoing
employer: Covestor
description: Covestor is an investment marketplace startup that was successfully acquired by Interactive Brokers in 2015. <br/> I am a senior engineer working closely with the CTO, working across the full-stack, I am involved in all aspects of the technology including the website and back-end services.
#Education is required
education:
- level: Bachelor of Science (B.Sc.)
date: 2003
subject: Artificial Intelligence and Computer Science
school: University of Birmingham
#This section is optional (as is the image link below)
coursera:
profileurl: https://www.coursera.org/user/i/c6362b4056f755a04bef6a791a62102b
courses:
- title: Functional Programming Principles in Scala
link: https://www.coursera.org/course/progfun
optionalimage: https://d1z850dzhxs7de.cloudfront.net/topics/progfun/small-icon.hover.png
date: September 16, 2013
#List of interesting Github repo/projects to include - optional
github:
- robhinds/twitter-sentiment-analysis
- robhinds/spring-reactor-twitter
- robhinds/microservices
#Stackoverflow flair is optional
stackoverflow:
profileurl: http://stackoverflow.com/users/258813/rhinds
flairimageurl: http://stackoverflow.com/users/flair/258813.png
#Mobile apps section is optional
apps:
- name: Chuck the Quiz
platform: Android
url: https://play.google.com/store/apps/details?id=com.tmm.android.chuck&feature=search_result#?t=W251bGwsMSwxLDEsImNvbS50bW0uYW5kcm9pZC5jaHVjayJd
description: A basic early Android app (open sourced)
#An additional info freetext section is optional at the bottom of the page - can be text or HTML
additionalinfo: |
<strong>JVM</strong>: I am experienced in a variety of Java API’s and frameworks. I have recently worked with Spring 4, Spring Boot, JPA (Hibernate and EclipseLink) in addition to others. In my current role Groovy is the primary language used - and I am familiar with many of the languages features and quirks (including writing <a target='_blank' href="https://dzone.com/articles/functional-programming-groovy">Functional Programming style groovy</a>).
view raw _config.yml hosted with ❤ by GitHub
And that's all the configuration it takes! The YAML format is pretty readable - it largely just works with indenting, and hopefully taking a look over the nested sections of data, its fairly easy to understand how you can modify parts to make it customise-able.


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

How can you have a custom GitHub CV?

It really is super simple to get your own GitHub CV:
  1. Create a Github account (if you don't already have one)

  2. Go to the project repository and fork the repository

  3. Change the name of the repository (in the settings menu) to {{yourusername}}.github.io

  4. Edit the /_config.yml file in your repository - it should be pretty straight forward as to what the links/details are that you need to add.

  5. Visit your new profile page: {{yourusername}}.github.io and start sharing it!


0 comments: