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.
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 generate.py and
build the LaTeX documents with pdflatex
and biber
.
The Makefile will also:
- Stage to my website with
make stage
, - Start a local jekyll server of my website with updated
documents with
make jekyll
, and - Push updated documents to my website with
make push
.
- Read
cv.yaml
into Python as a map and loop through theorder
vector, which maps a section key to the title to display. This is done so sections can be moved and hidden without deleting them. - Generate the LaTeX or Markdown content for every section by
using the templates
cv-section.tmpl.tex and
cv-section.tmpl.md, which use
moderncv.
The conditional statements make the sections a little messy,
but using a template for each section lets the order be changed
solely by the
order
vector. - Generate the entire LaTeX or Markdown document by using the templates cv.tmpl.tex and cv.tmpl.md.
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.
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 | 768 | CV, typesetted in Helvetica Neue, using XeTeX, TikZ and Biblatex |
cies/resume | 192 | My resume as a PDF including the well commented Latex sources and build instructions. |
deedydas/Deedy-Resume | 501 | A one page , two asymmetric column resume template in XeTeX that caters to an undergraduate Computer Science student |
divad12/resume | 24 | 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 | 214 | A markdown port of my resume |
jsonresume/resume-schema | 330 | JSON-Schema is used here to define and validate our proposed resume json |
kaeluka/cv | 65 | My CV. |
mwhite/resume | 546 | Markdown -> PDF/HTML resumé generator |
prat0318/json_resume | 1026 | Generates pretty HTML, LaTeX, markdown, with biodata feeded as input in JSON |
QuteBits/resume_42 | 4 | It generates a beautiful resume from yaml data |
raphink/CV | 48 | My CV |
sc932/resume | 296 | My CV/resume in LaTeX. |
terro/CV | 18 | My cv template |
there4/markdown-resume | 397 | Generate a responsive CSS3 and HTML5 resume with Markdown, with optional PDF output. |
zellux/resume | 97 | My resume, generated with moderncv |