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. Create and activate a virtual-env.
    python -m venv .venv
    source .venv/bin/activate
  2. Install dependencies.
    pip install -r requirements.txt
  3. Run the script to generate .tex files. Additionally, a build script is available at gen_tex.sh.
    python gen_cv.py data/short.json templates/jakes_resume.tex.jinja2 short.tex
  4. 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

Build locally (using a container)

  1. Build the image.

    docker build --tag "localhost/latex-full:latest" .
  2. Build the .tex file (see previous section).

    python gen_cv.py data/short.json templates/jakes_resume.tex.jinja2 short.tex
  3. Build the .pdf file (SOURCE is the local folder where short.tex is located).

    # docker
    docker run --rm -v SOURCE:TARGET localhost/latex-full:latest buildpdf SOURCE DEST
    
    # podman
    podman run --rm --user=ubuntu \
    --userns=keep-id:uid=1000,gid=1000 \
    -v "$(pwd)"/SOURCE/:/mnt/cv:z localhost/latex-full:latest \
    buildpdf /mnt/cv /mnt/cv

About

Automate build for my personal CV

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published