This repo contains the source I use to automatically generate my curriculum vitae as a webpage and PDF from YAML and BibTeX input.
generate.py 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 blog-info.py and github-info.py.
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
pip3 install -r requirements.txt.
On Mac or Linux,
make will call generate.py and
build the LaTeX documents with
The Makefile will also:
- Stage to my website with
- Start a local jekyll server of my website with updated
make jekyll, and
- Push updated documents to my website with
What to modify
Change the content in
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
- Strings in
cv.yamlshould be LaTeX (though, the actual LaTeX formatting should be in the left in the templates as much as possible).
- If you do include any new LaTeX commands, make sure that one of the
generate.pyconverts them properly.
- The LaTeX templates use modified Jinja delimiters to avoid overlaps with
normal LaTeX. See
All publications are stored as BibTeX in
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
Ellis' portions are also distributed under the MIT license
LICENSE-emichael.mit) and include
a re-write of
generate.py and template restructuring.
- Generate visual resume from https://ndphillips.github.io/blog/Introducing-the-VisualResume-(v0.1.0)-R-Package/
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.
|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|
|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|
|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|