A template to power your own static resume using Jekyll and Netlify


Resume template powered by Jekyll + GitHub Pages. Cloned and adapted from jglovier.

Quick Start

Make sure you have an appropriate version of ruby installed. To run locally:

  1. clone repo
  2. bundle install (uses bundler to install the project dependencies specified in the Gemfile(s))
  3. bundle exec jekyll serve
  4. Open your browser to localhost:4000

Most of the basic customisation will take place in the /_config.yml file. Most of the content configuration will take place in the /_layouts/resume.html file.


I made some changes to the structure of the content in _data and _layouts/resume.html.

  • Favicon: line 17 of _layouts/head.html. Remember to remove / when specifying the file name as @LazaroIbanez pointed out.

  • Template keys: I added environment, responsibilities and achievements to the layout. Surely more verbose than what @jglovier did, but worth it imo. Since _layouts/resume.html controls which of these fields are included in the build remember to change the key names there as well.

  • Hyperlinks: Added a target="_blank" in _includes/icon-links.html to keep the reader focused on the main page.

  • Social Preview: It's a png image at 1.6 ratio called social_preview.png saved in the settings of this repository. This is what pops up when sharing the link on Slack/Telegram etc.

  • SEO: plugin to make it easier to find the page online see docs

  • Google Analytics: Added the plugin jekyll-analytics and configured Google Analytics to have fun tracking traffic.

Ruby environment

If you are on macOS chances are you will run into issues when trying to make changes to the system ruby at /usr/bin/ruby. As suggested in this stack-exchange thread, I recommend installing another version of ruby and control it with a ruby version manager. Popular options are RVM, rbenv and chruby, I chose the latter because I like transparency, predictability and control. I also installed ruby with ruby-install which works well with chruby. For a more in depth discussion and guidelines see this blog post by Steve Marshall. To get that going:

brew update
brew install chruby

then add this line to your ~/.bashrc or ~/.zshrc file as detailed in the configuration section of the readme:

 source /usr/local/opt/chruby/share/chruby/

If you are using zsh I recommend adding the line above to ~/.oh-my-zsh/custom/chruby.zsh (create it if it does not exist). This works thanks to zsh customisations, which are automatically sourced by the script. Then install the ruby installer ruby-install, which you'll use to install any version of ruby you need:

brew install ruby-install

The first time it runs, ruby-install updates the latest versions of the packages you can install. You should see something like this:

>>> Downloading latest ruby versions ...
>>> Downloading latest jruby versions ...
>>> Downloading latest rbx versions ...
>>> Downloading latest truffleruby versions ...
>>> Downloading latest mruby versions ...
Stable ruby versions:

Now you can install a version of ruby compatible with Jekyll, I am just going with the latest (takes a good 10 minutes):

ruby-install ruby-2.7.0

Now this chruby system && which ruby results in /usr/bin/ruby, while chruby ruby-2.7.0 && which ruby returns ~/.rubies/ruby-2.7.0/bin/ruby. To make this the default in any new shell update or create the file ~/.oh-my-zsh/custom/ruby.zsh with the line chruby ruby-2.7.0.

Publishing to GitHub Pages

GitHub Pages will host this for free with your GitHub account. Just make sure you're using a gh-pages branch, and the site will automatically be available at (you can rename the repo to resume for your own use if you want it to be available at You can also add a CNAME if you want it to be available at a custom domain...

Your own domain name

To setup your GH Pages site with a custom domain, follow the instructions on the GitHub Help site for that topic.