Skip to content

jskherman/cv.typ

Repository files navigation

Typst CV Template

Apache-2 License

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.

Note

Due to circumstances, this project will be minimally maintained and responses to issues and pull requests will be delayed. If you would like to contribute to this project, I will be happy to review and merge your pull requests when I can. Thank you for your understanding.

Demo

See example CV and @jskherman's CV:

Sample CV Page 1 Sample CV Page 2

Usage

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
  1. Add jskherman/cv.typ as git submodule. into your CV's repo.
git submodule add https://github.com/jskherman/cv.typ
  1. Copy and rename example.typ and example.yml to your CV's repo root directory. Use these files as template/starting point for your CV.

  2. 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.

  1. Upload the cv.typ, utils.typ, example.typ. and example.yml files to your Typst project. You may rename example.typ and example.yml.
  2. Use example.typ and example.yml (or whatever the names after you rename it) as a template/starting point for your CV.