LaTeX CV that is compiled using TravisCI and automatically pushed to GitHub pages
TeX Makefile HTML
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
docker Initial commit. Jan 15, 2016
.gitignore Initial commit. Jan 15, 2016
.travis.yml Initial commit. Jan 15, 2016
CNAME Initial commit. Jan 15, 2016
LICENSE Initial commit. Jan 15, 2016
Makefile Initial commit. Jan 15, 2016 Add link to sample CV. Jan 29, 2016
cv.tex Initial commit. Jan 15, 2016
index.html Initial commit. Jan 15, 2016

CV on GitHub Pages that is compiled from LaTeX using TravisCI

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.

LaTeX template

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.

TravisCI API key

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):

    - secure: "yoursecret"

CNAME file (custom domain)

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 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).