A no-frills curriculum vitae (CV) template for Typst that uses a YAML file for data input in order to version control CV data easily.
This is based on the popular template on Reddit by u/SheetsGiggles and the recommendations of the r/EngineeringResumes wiki.
See example CV and @jskherman's CV:
cv.typ is intended to be used by importing the cv.typ file from a "content"
file (see example.typ as an example). In this content file,
call the functions which apply document styles, show CV components, and load CV
data from a YAML file (see example.yml as an example). Inside
the content file you can modify several style variables and even override
existing function implementations to your own needs and preferences.
With Typst CLI (Recommended)
The recommended usage with Typst CLI is by adding this cv.typ repository as a git
submodule. This way, upstream changes can be
pulled easily.
<your-cv-repo>/
├── cv.typ/ // git submodule
| └── cv.typ
├── <your-cv-content>.typ // #import "cv.typ/cv.typ": *
└── <your-cv-data>.yml
- Add jskherman/cv.typ as git submodule. into your CV's repo.
git submodule add https://github.com/jskherman/cv.typ
-
Copy and rename
example.typandexample.ymlto your CV's repo root directory. Use these files as template/starting point for your CV. -
Run the following to command to automatically recompile your CV file on changes.
typst watch <your-cv-content>.typTake a look at the example setup for ideas on how to get started. It includes a GitHub action workflow to compile the Typst files to PDF and upload it to Cloudflare R2.
With typst.app
- Upload the
cv.typ,utils.typ,example.typ. andexample.ymlfiles to your Typst project. You may renameexample.typandexample.yml. - Use
example.typandexample.yml(or whatever the names after you rename it) as a template/starting point for your CV.