Skip to content
Generates my CV, resume, and other job-related docs from YAML/Markdown. (unsupported)
TeX Python PowerShell Batchfile Makefile HTML
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.

Linux Build Status Windows Build Status Python Dependency Status


This repo contains the source I use to automatically generate my curriculum vitae as a webpage and PDF from YAML and BibTeX input. reads from cv.yaml and publications.bib and outputs LaTeX and Markdown by using Jinja templates. Statistics about my blog and github account are obtained using and


I'm finding that this doesn't work well for me anymore. At some point I'll want to redo this using a better framework. Some options are:

Building and running

The dependencies are included in requirements.txt and can be installed using pip with pip3 install -r requirements.txt. On Mac or Linux, make will call and build the LaTeX documents with latexmk and biber.

The Makefile will also:

  1. Stage to my website with make stage,
  2. Start a local jekyll server of my website with updated documents with make jekyll, and
  3. Push updated documents to my website with make push.

What to modify

Change the content in cv.yaml. You should also look through the template files to make sure there isn't any special-case code that needs to be modified. If you want to use the Makefile with your jekyll website, you'll need to modify the Makefile slightly.


  1. Strings in cv.yaml should be LaTeX (though, the actual LaTeX formatting should be in the left in the templates as much as possible).
  2. If you do include any new LaTeX commands, make sure that one of the REPLACEMENTS in converts them properly.
  3. The LaTeX templates use modified Jinja delimiters to avoid overlaps with normal LaTeX. See for details.


All publications are stored as BibTeX in publications.bib. The entries can be obtained from Google Scholar. The order in the BibTeX file will be the order in the output files.

BibTeX is built for integration with LaTeX, but producing Markdown is not traditionally done from BibTeX files. This repository uses BibtexParser to load the bibliography into a map. The data is manually formatted to mimic the LaTeX IEEE bibliography style.


This work is distributed under the MIT license ( with portions copyright Ellis Michael from emichael/resume. Ellis' portions are also distributed under the MIT license ( and include a re-write of and template restructuring.


Similar Projects

There are many approaches to managing a resume or CV in git, and this project uses unique Markdown and LaTeX templates. The following list shows a short sampling of projects, and I'm happy to merge pull requests of other projects.

Name Stargazers Description
afriggeri/cv 776 CV, typesetted in Helvetica Neue, using XeTeX, TikZ and Biblatex
ajn123/CV 2 My resume in Latex
cies/resume 198 My resume as a PDF including the well commented Latex sources and build instructions.
deedydas/Deedy-Resume 516 A one page , two asymmetric column resume template in XeTeX that caters to an undergraduate Computer Science student
divad12/resume 27 Yaml resume compiled into multiple formats (such as LaTeX, HTML (TODO), etc.)
emichael/resume 1 Generate LaTeX and Markdown resume from YAML with Python.
icco/Resume 215 A markdown port of my resume
jsonresume/resume-schema 352 JSON-Schema is used here to define and validate our proposed resume json
kaeluka/cv 65 My CV.
mwhite/resume 551 Markdown -> PDF/HTML resumé generator
prat0318/json_resume 1033 Generates pretty HTML, LaTeX, markdown, with biodata feeded as input in JSON
QuteBits/resume_42 6 Python script that generates a beautiful resume from YAML data
raphink/CV 49 My CV
sc932/resume 298 My CV/resume in LaTeX.
terro/CV 18 My cv template
there4/markdown-resume 430 Generate a responsive CSS3 and HTML5 resume with Markdown, with optional PDF output.
zellux/resume 101 My resume, generated with moderncv

You can’t perform that action at this time.