Skip to content

Latest commit

Β 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“„ Typst CV

A clean, two-column CV built with Typst β€” featuring a slim sidebar for profile picture, contact details, and skills, alongside a wider main section for experience and education.

Preview

The latest compiled PDF is available as a GitHub Release.

Note

This link will always reference the latest release of your CV on GitHub.

Direct download: https://github.com/Kanerix/typst-cv/releases/latest/download/cv.pdf

Project Structure

typst-cv/
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ cv.typ             # Main CV layout
β”‚   β”œβ”€β”€ helpers.typ        # Shared functions & colour palette
β”‚   β”œβ”€β”€ jobs.typ           # Work experience entries
β”‚   β”œβ”€β”€ education.typ      # Education entries
β”‚   β”œβ”€β”€ summary.typ        # Profile summary
β”‚   └── kasper.jpg         # Profile picture
β”œβ”€β”€ Poppins/               # Poppins font family (.ttf files)
β”œβ”€β”€ .github/
β”‚   └── workflows/
β”‚       └── pipeline.yaml  # CI: compile PDF & create GitHub release
β”œβ”€β”€ VERSION                # Current release version
β”œβ”€β”€ LICENSE                # Apache 2.0
└── README.md

Getting Started

Prerequisites

Compile Locally

typst compile --font-path Poppins src/cv.typ cv.pdf

Or use watch mode for live reloading while editing:

typst watch --font-path Poppins src/cv.typ cv.pdf

The --font-path Poppins flag tells Typst where to find the bundled Poppins font files.

Customisation

Content

The CV content is split into separate files under src/ for easy editing:

File Contents
cv.typ Page layout, name, and sidebar
summary.typ Profile summary paragraph
jobs.typ Work experience entries
education.typ Education entries
helpers.typ Shared helper functions & colours

To add a new job or education entry, use the entry function in the respective file:

#entry(
  title: "Job Title",
  subtitle: "Company Name",
  date: "Jan 2023 – Present",
  description: [
    - Accomplishment one.
    - Accomplishment two.
  ],
)

Colours

The colour palette is defined at the top of src/helpers.typ:

#let bg      = rgb("#fff8f2")   // Page background
#let fg      = rgb("#333333")   // Main text colour
#let muted   = rgb("#777777")   // Subtle/secondary text
#let primary = rgb("#d7b299")   // Sidebar & headings

Profile Picture

The profile picture is displayed in a circular clip in the sidebar. To adjust the zoom and position, modify the place call in src/cv.typ:

  • Zoom in/out β€” increase or decrease the width value.

CI/CD

A GitHub Actions workflow (.github/workflows/pipeline.yaml) automatically:

  1. Triggers when the VERSION file is changed (or via manual dispatch).
  2. Compiles the CV to PDF using Typst.
  3. Creates a GitHub Release tagged with the version from VERSION, with the PDF attached.

To create a new release, simply bump the version in VERSION and push:

echo "1.0.0" > VERSION
git add VERSION
git commit -m "Release v1.0.0"
git push

License

This project is licensed under the Apache License 2.0.

About

πŸ“„ CV built with Typst – auto compiled and released via GitHub Actions.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Used by

Contributors

Languages