ModernCV for Typst
April 2, 2024 ยท View on GitHub

This is a typst template inspired by LaTeX's moderncv.
Currently it features a very basic structure, but the main components are defined to allow for sufficient flexibility such to provide all the customizations that the original package has.
How to use
This template provides a few customizations that should be considered when writing CVs:
- Headings:
h1for two-columns, coloured section headingsh2andh3used internally for job roles and placesh4usable as a generic heading by users
- Functions:
cvcol: used to write in the rightmost column only. Builds oncvgridcventry: used to write a CV entry. Builds oncvgridcvlangauge: used to write a language entry. Builds oncvgriddatebox: provides content with stacked year above (big) and month below (tinier)daterange: twodateboxes separated by an em dashxdot: adds a trailing dot to a string only if it's not already presentcvgrid: basic layout function that wraps a grid. Controlled by two parametersleft_column_size(default: 25%) andgrid_column_gutter(default: 8pt) which control the left column size and the column gutter respectively.
Most of the times you'll be using cventry and cvcol, for example:
#import "@preview/moderncv:0.1.0": project, cvcol, cventry
#show: project.with(
title: "Master Frobnicator",
author: "John Doe",
github: "johndoe1337",
phone: "+01 234 56 7890",
email: "john@example.com"
)
= Work Experience
#cventry(
start: (month: "December", year: 2101),
end: (month: "", year: "Present"),
role: [Junior Frobnication Engineer],
place: "WeDontWork Inc.")[
Your description here
]
#cvcol[
==== Generic stuff
My other stuff goes here
]
Examples
See example.typ example.pdf.
How to customize colors
Currently the project function exposes three different color parameters:
main_color: Used by left-side heading bars (default:rgb(147, 14, 14))heading_color: Used in headings text (default: same asmain_color)job_color: Used in the main job occupation text (default:rgb("#737373"))