With this repository you can show your CV using Git (obviously), LaTeX (beautiful type-setting, and a good portion of geekness), TravisCI (automatize all the things!), docker (keep build environments versionized), and GitHub pages (why host yourself?). In addition you can use a custom domain to host your CV (e.g. a subdomain).
Once set up, everytime you commit a new version of cv.tex
this repository will take care of LaTeX compilation into PDF and hosting on GitHub pages.
See also my blog post and an example cv.
Included is Alessandro Plasmati's Classicthesis-Styled CV template. You can exchange it for any LaTeX template you like that does not have dependencies that are not met by an updated TeX Live installation. Please see also the used docker image. However, the filename has to be "cv.tex".
When you clone or fork this repository make sure that you enable it on TravisCI.
As Travis CI needs to be able to push to your GitHub repository (specifically the gh-pages
branch) you need to authenticate it. As you do not want to store any passwords, ssh, or API keys in your repo or the TravisCI configuration the easiest way is to use the travis
command line tool that is available as a gem to encrypt an Authentication Token for GitHub so that Travis CI can decrypt it when needed. First we need to install it:
# on OSX using the default Ruby installation
sudo gem install travis
Now we create a personal access token on GitHub to use with Travis CI. Follow these instructions to do so. I named mine TravisCI cv-on-ghpages
and kept the standard scope settings. Copy the token when you created it as you will not be able to see it again after you close the page.
Encrypt the token with the travis
command line tool:
# where 'your_token' is the token from the last step
travis encrypt GH_TOKEN=your_token
Copy the resulting key to line 18 of the .travis.yml
file (replace yoursecret
but keep the quotes):
env:
global:
- secure: "yoursecret"
Change the CNAME
file to your needs if you want to be able to redirect a custom domain name to your CV. Refer to GitHub for help in setting up a corresponding DNS entry at your DNS provider.
Now if you adapt the LaTeX template and push to your GitHub repository about 9 minutes later a beautiful PDF version of your CV will be visible at the domain yourusername.github.io/yourrepositoryname or the custom domain name that you set. Congratulations and good luck with any job applications! :)
The code is largely inspired by travis-ci-latex-pdf by Harsh Vakharia (and the corresponding blog post). This repository contains Alessandro Plasmati's Classicthesis-Styled CV template (License: CC BY-NC-SA 3.0).