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.typ
andexample.yml
to 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>.typ
Take 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.yml
files to your Typst project. You may renameexample.typ
andexample.yml
. - Use
example.typ
andexample.yml
(or whatever the names after you rename it) as a template/starting point for your CV.