Skip to content

mstolin/cv

Repository files navigation

CV

This project is meant to automatically build my resume and deploy it online as a PDF. You can use it as you want to build your own.

The idea is, that you define your resume in a structured format (.json) and a script (.gen_cv.py) generates a .tex file for you. Afterward, you can build it, e.g. to PDF, as usual using latexmk.

An example is available at short.json, that contains four sections and three different styles. The available template is based on Jake's Resume.

The workflow pdf.yml automatically builds the PDF(s) and deploys them to github pages. An example is available at marcel.to/cv/short.pdf.

Requirements

Manual Build

  1. Run the script to generate .tex files. Additionally, a build script is available at build_tex.sh.
    uv run gen_cv.py data/short.json templates/jakes_resume.tex.jinja2 build/short.tex
    # Or
    ./build_tex.sh data/ templates/jakes_resume.tex.jinja2 build/
  2. Build the .pdf file. A build script is available at build_pdf.sh.
    latexmk -interaction=nonstopmode -file-line-error -pdf -halt-on-error -shell-escape -outdir=. short.tex
    # Or
    ./build_pdf.sh build/ pdf/

Build using Docker Container

First, build the Docker container as localhost/cv:latest.

docker build --tag "localhost/cv:latest" .

Next, build the .tex and .pdf files.

docker run --rm -it \
  --mount type=bind,src=./data/,dst=/mnt/data/,ro \
  --mount type=bind,src=./templates/jakes_resume.tex.jinja2,dst=/mnt/templates/jakes_resume.tex.jinja2,ro \
  --mount type=bind,src=./tex/,dst=/mnt/tex/ \
  --mount type=bind,src=./pdf/,dst=/mnt/pdf/ \
  localhost/cv:latest \
  sh -c "buildtex /mnt/data /mnt/templates/jakes_resume.tex.jinja2 /mnt/tex && buildpdf /mnt/tex /mnt/pdf"

About

Automate build for my personal CV

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors