Created: 2011-07-11 18:15
Updated: 2013-10-22 09:31

Original code from :

I copied it to prevent original history to show up on mine

new instruction


clone the code, put it in resume directory
cd resume
virtualenv -p python2.6 resume_env
source resume_env/bin/activate pip install PyYAML pip install text pip install cheetah make

original instruction

Resume was created using:

  • YAML source - for the resume content
  • LaTeX template - for presentation and layout
  • Python script and Cheetah (templating engine) for compiling together the YAML and LaTeX
  • pdflatex for .tex --> .pdf
  • GNU Make for compilation
  • Vim and git

The purpose is to avoid data duplication and to separate content from presentation. For example, I can now create an HTML resume by writing just a CSS + HTML template without having to copy-paste job descriptions, etc. Editing and updating is restricted to just one place - the YAML source.

Rough instructions (will update as a blog post when I roll a blog engine):

  1. Install dependencies: LaTeX, Python, etc.
  2. Install yaml parser. For Python: sudo apt-get install python-yaml Install tex package for python: sudo pip install tex Install python-cheetah (templating engine): sudo easy_install cheetah
  3. Get LaTeX resume templates or use the one here (based on Paciorek's, the first link)
  4. Write resume in YAML format.
  5. Modify a LaTeX resume template with Cheetah tags.
  6. Write Makefile.
  7. Compile, preview, and edit.


  • custom types to unescape Latex (eg \LaTeX, \url{})
  • clean up this README and convert into markdown
  • add HTML layout
  • keep LinkedIn, Google profile, and Facebook in sync
  • turn this into an easy-to-use web app
Cookies help us deliver our services. By using our services, you agree to our use of cookies Learn more