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 and outputs LaTeX and Markdown by using Jinja templates.
This requires a Python 3 installation,
and the hashbang of generate.py assumes an executable named
python3 is available on the path.
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 latexmk 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.
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.
The Makefile can also start a Jekyll server and push the
new documents to another repository.
To use the Jekyll integration,
review the BLOG_DIR variable and the jekyll and push targets.
- 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
REPLACEMENTSingenerate.pyconverts them properly. - The LaTeX templates use modified Jinja delimiters to avoid overlaps with
normal LaTeX. See
generate.pyfor details.
This work is distributed under the MIT license (LICENSE-bamos.mit)
with portions copyright Ellis Michael from
emichael/resume.
Ellis' portions are also distributed under the MIT license
(LICENSE-emichael.mit) and include
a re-write of generate.py and template restructuring.