Recipes¶
Adding a New Module¶
- Create a new file, e.g.
modules_en/volunteering.typ - Add your imports and content (sections, entries, etc.)
- In
cv.typ, add"volunteering"to theimport-modulescall
Language Override at Compile Time¶
For Chinese, Japanese, Korean, or Russian, also configure [lang.non_latin] in metadata.toml with name and font.
Skills with Inline Separators¶
Use #h-bar() to separate skill items within cv-skill:
Adding a Profile Photo¶
The profile photo is passed as an argument to cv() in your cv.typ, not set in metadata.toml:
Control the shape with profile_photo_radius in [layout.header]:
"50%"— circle (default)"0%"— square"10%"— rounded corners
Set display_profile_photo = false in [layout.header] to hide the photo entirely.
Custom Contact Icon with Image¶
To add a custom contact entry with an image icon (instead of a Font Awesome icon):
-
Define the entry in
metadata.tomlwith anawesomeIconfallback: -
Pass the image in
cv.typvia thecustom-iconsparameter (the key must matchcustom-1):
When a custom-icons entry is provided, it takes priority over the awesomeIcon value from TOML.
Color Customization¶
Preset Colors¶
Set awesome_color in [layout] to one of the built-in presets:
| Name | Hex |
|---|---|
skyblue |
#0395DE |
red |
#DC3522 |
nephritis |
#27AE60 |
concrete |
#95A5A6 |
darknight |
#131A28 |
Custom Hex Color¶
Pass any hex color string directly:
Cover Letter with Signature¶
Create a cover letter with a signature image at the bottom:
#import "@preview/brilliant-cv:3.2.0": letter
#let metadata = toml("metadata.toml")
#show: letter.with(
metadata,
sender-address: "123 Main Street, City, State 12345",
recipient-name: "ABC Company",
recipient-address: "456 Business Ave, City, State 67890",
date: datetime.today().display(),
subject: "Application for Data Analyst Position",
signature: image("assets/signature.png"),
)
Dear Hiring Manager,
// Your letter content here...
Sincerely,
Leave signature as "" (default) to omit the signature image.
CI/CD with GitHub Actions¶
A minimal workflow to compile your CV on every push:
name: Build CV
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Setup Typst
uses: typst-community/setup-typst@v4
- name: Compile CV
run: typst compile cv.typ cv.pdf
- name: Upload PDF
uses: actions/upload-artifact@v4
with:
name: cv
path: cv.pdf
Tip
If your CV uses custom fonts, add a step to install them before compiling. See the Troubleshooting page for font issues.