If my work helps you drift through tedious job seeking journey, don't hesitate to think about buying me a Coke Zero... or a lot of them! 🥤
Brilliant CV is a Typst template for making Résume, CV or Cover Letter inspired by the famous LaTeX CV template Awesome-CV.
1. Separation of style and content
Version control your CV entries in the
modules
folder, without touching the styling and typesetting of your CV / Cover Letter (hey, I am not talking about Macrohard Word, you know)
2. Quick twitches on the visual
Add company logos, put your shiny company name or your coolest title at the first line globally or per-document needs
3. Multilingual support
Centrally store your multilingual CVs (English + French + German + Chinese + Japanese if you are superb) and change output language in a blink
(NEW) 4. AI Prompt and Keywords Injection
Fight against the abuse of ATS system or GenAI screening by injecting invisible AI prompt or keyword list automatically.
CV | Cover Letter |
---|---|
CV (French, red, no photo) | Cover Letter (French, red) |
---|---|
CV (Chinese, green) | Cover Letter (Chinese, green) |
---|---|
If you are using Typst online editor, you don't have to follow local development steps.
In order to make Typst render correctly, you will have to install the required fonts Roboto, Source Sans Pro (or Source Sans 3) as well as Fontawesome 6 in your local system.
NOTE: For online editor, Source Sans Pro are already included; however you will still have to manually upload the .otf
or .ttf
files of Fontawesome and Roboto to your project, by creating a folder fonts
and put all the otf
files there. See Issue
A documentation on CV functions is provided for reference.
You have two ways to bootstrap the template, according to your need and tech-savvy level.
In your local system, just working like git clone
, boostrap the template using this command:
typst init @preview/brilliant-cv:<version>
Replace the <version>
with the latest or any releases (after 2.0.0).
utpm is a WIP packager manager for Typst. Install it with official instructions.
Git clone then this repository on your local system, and within the workspace, run utpm workspace link --force
.
You will have to take care of templating by yourself, though.
Adapt the metadata.toml
to suit your needs, then typst c cv.typ
to get your first CV!
It is recommended to:
- Use
git
to manage your project, as it helps trace your changes and version control your CV. - Use
typstyle
andpre-commit
to help you format your CV. - Use
typos
to check typos in your CV if your main locale is English. - (Advanced) Use
LTex
in your favorite code editor to check grammars and get language suggestions.
For the time being, upgrade can be achieved by manually "find and replace" the import statements in batch in your favorite IDE. For example:
#import "@preview/brilliant-cv:2.0.0" -> #import "@preview/brilliant-cv:2.0.2"
Make sure you read the release notes to notice any breaking changes. We estimate that there would still be some as Typst has not reached to a stable release neither.
The version
v1
is now deprecated, due to the compliance to Typst Packages standard. However, if you want to continue to develop on the older version, please refer to thev1-legacy
branch.
With an existing CV project using the v1
version of the template, a migration is needed, including replacing some files / some content in certain files.
- Delete
brilliant-CV
folder,.gitmodules
. (Future package management will directly be managed by Typst) - Migrate all the config on
metadata.typ
by creating a newmetadata.toml
. Follow the example toml file in the repo, it is rather straightforward to migrate. - For
cv.typ
andletter.typ
, copy the new files from the repo, and adapt the modules you have in your project. - For the module files in
/modules_*
folders:- Delete the old import
#import "../brilliant-CV/template.typ": *
, and replace it by the import statements in the new template files. - Due to the Typst path handling mecanism, one cannot directly pass the path string to some functions anymore. This concerns, for example, the
logo
argument incvEntry
, but also oncvPublication
as well. Some parameter names were changed, but most importantly, you should pass a function instead of a string (i.e.image("logo.png")
instead of"logo.png"
). Refer to new template files for reference.
- Delete the old import
- You might need to install
Roboto
andSource Sans Pro
on your local system now, as new Typst package discourages including these large files. - Run
typst c cv.typ
without passing thefont-path
flag. All should be good now, congrats!
Feel free to raise an issue for more assistance should you encounter a problem that you cannot solve on your own :)
- Typst is a newborn, open source and simple typesetting engine that offers a better scripting experience than LaTeX.
- Awesome-CV is the original LaTeX CV template from which this project is heavily inspired. Thanks posquit0 for your excellent work!
- Font Awesome is a comprehensive icon library and toolkit used widely in web projects for its vast array of icons and ease of integration.
- tidy is a package that generates documentation directly in Typst for your Typst modules. Keep it tidy!