A frankentake on CVs using Typst
To build the CV, you need to have typst and make installed. If you have Nix installed, you can enter a development shell with all dependencies by running:
nix developOnce the dependencies are available, you can build the PDF version of the resume by running:
make buildThis will use the template defined in TEMPLATE (default: ./templates/vantage.typ) and the data from INPUT_FILE (default: ./resumes/configuration.yaml) to generate OUTPUT_FILE (default: ./output/resume.pdf).
You can also generate an HTML version:
make htmlOr a PNG version:
make pngTo automatically rebuild the CV when source files (.typ or .yaml) change:
make watchTo format the Typst files:
make formatThe main data for the CV is stored in INPUT_FILE (default: ./resumes/configuration.yaml). You can edit this YAML file to update your personal information, experience, education, skills, etc.
To change the template used for rendering the CV, you can modify the TEMPLATE variable in the Makefile or specify it when running make. For example, to use a different template named my_custom_template.typ located in the ./templates/ directory:
make build TEMPLATE=./templates/my_custom_template.typEnsure your new template is compatible with the data structure in your INPUT_FILE.
To manage multiple CV versions for different positions, you can easily specify different input files or templates directly via make command arguments.
For example, to use a specific data file for a "Software Engineer" position and a different one for a "Data Scientist" position, you can run:
# For Software Engineer position
make build INPUT_FILE=./resumes/software_engineer.yaml
# For Data Scientist position
make build INPUT_FILE=./resumes/data_scientist.yamlSimilarly, if you have different templates tailored for these roles:
# For Software Engineer position with a specific template
make build TEMPLATE=./templates/swe_template.typ INPUT_FILE=./resumes/software_engineer.yaml
# For Data Scientist position with another template
make build TEMPLATE=./templates/data_science_template.typ INPUT_FILE=./resumes/data_scientist.yamlThis allows for flexible management of various CV versions without altering the Makefile for each build.