Continuous Delivery for...Resumes?

If you’ve ever wrote a resume, you know it can be a tedious task. Microsoft word and LibreOffice both have
resume templates that act as a good starting point. Once you put all your information in, you start making
little tweaks to get the information to look perfect…

Then I decided on markdown. Oh boy. I was already writing my website and my blog (this post) in markdown and generating them using jekyll.
Why not do this for my resume?

I wrote up a quick markdown file and had jekyll build it to html automatically. It was as easy as dropping resume.md into the root directory of my source.
Just add this to the top of your markdown file and jekyll will make it a page:

---
layout: resume
title: Resume
permalink: /KevinLawResume.html
---

Now what’s cool with jekyll is you can inherit this markdown into a layout. I made a layout called resume.html in _layouts/.
Inside of that html file I just add my custom css:

..and it worked!
We load the custom stylesheet in because the css link in the html layout is relative to the webserver and we aren’t running the webserver when running this command.

Note: Use the system package wkhtmltopdf and not RubyGem’s wkhtmltopdf. The one in RubyGems is very out of date.

So how do we deploy this thing?

I had my site running on github since it has free static site hosting using jekyll (the only reason my site is in jekyll).
Well, they don’t allow custom build steps like wkhtmltopdf.

Turns out, gitlab.com just added gitlab-pages with SSL support and any static site generator you want, as long as it writes to /public folder.
I mirrored my repo over to gitlab, and here is my full .gitlab-ci.yml file.