Installation
YAMLResume is a Node.js tool, under the hood, it transform your resumes from the YAML format to LaTeX code and then call a LaTeX typesetting engine to compile the generated LaTeX code to PDF. Besides, to get optimal PDF output, we also suggest to install some fonts. In a nutshell, you need to install the followings to get started with YAMLResume:
- Node.js
- yamlresume package
- a typesetting engine
- [optional] some fonts
Please follow the appropriate instructions below to install the necessary tools based on your operating system. At the time of writing, our guide covers MacOS, Windows, and some Linux distributions.
Node.js
Node.js 20.x or newer is required.
There may be like 100+ methods to install Node.js on different OS, you can check the official Node.js Download to get started.
We recommend using a package manager to install Node.js.
yamlresume
Installing yamlresume
is a breeze. You can install it using your favourite
Node.js package manager:
Verify that yamlresume
is installed successfully:
If you just want to give yamlresume
a try without installing it, you can use
npx
, pnpx
or other similar tools:
Typesetting Engine
Under the hood, yamlresume
does the job of a compiler, parsing a YAML resume
to an
AST
and then transforming the AST to LaTeX
code.
As a mini-compiler, yamlresume
relies on a typesetting engine to compile the
generated LaTeX code to PDFs. Therefore you must first install a typesetting
engine first before you can use yamlresume
to generate resume PDFs.
YAMLResume currently supports two typesetting engines: XeTeX and Tectonic.
Why LaTeX?
At the time of writing, LaTeX is still the best choice of typesetting engine for producing professional looking PDFs. Typst is a great alternative, but it is still in its early stage and its CJK support is not mature and production ready yet. Previously I wrote a post On Typesetting Engines explaining the reasons why I chose LaTeX over other typesetting engines when I founded PPResume.
XeTeX
XeTeX is a TeX typesetting engine using Unicode and supporting modern font technologies such as OpenType, Graphite and Apple Advanced Typography (AAT).
It is a very mature, stable typesetting engine that is widely used by many academic and scientific people.
The easiest way is to install the MacTeX distribution.
It includes XeTeX along with many other TeX-related programs and packages. You can download it from the MacTeX website or install it via homebrew:
Verify that XeTeX is installed successfully:
Tectonic
Tectonic is a modernized, complete, self-contained TeX/LaTeX engine, powered by XeTeX and TeXLive.
A full TeX Live distribution typically takes up several GB of disk space, while tectonic's initial installation takes up only 10+ MB. It automatically downloads support files, so you don't have to install a complete LaTeX distribution. When you start using a new LaTeX package, Tectonic simply downloads the files it needs and continues processing.
Tectonic provides an official installation
guide, but this
would just put tectonic in the directory where you ran the installation command,
yamlresume
needs a global tectonic
command in your $PATH
, so you need to
figure that out with some shell hacks on your own.
If you're a macOS user, you're in luck because Homebrew provides prebuilt package:
In to my experience, tectonic still has some minor compatibility issues with official XeTeX, so if you do not mind the long download tim eof a full TeX Live distribution, XeTeX is still the recommended choice here.
Font
Linux Libertine
YAMLResume adopts Linux Libertine as the default font for Latin characters. It is highly recommended to install it in order to get an optimal PDF output.
For Homebrew users:
Otherwise you can download the latest version of Linux Libertine from the website and install the font with macOS's Font Book.
Google Noto
If you need CJK resumes, you will also need to install Google Noto fonts for best unicode coverage.
For Homebrew users:
Troubleshooting
You can raise an issue if
you have trouble to install yamlresume
or its dependencies.
Getting Tired?
If you are getting tired of the installation process, you can try PPResume, which is a hosted, commercial resume builder solution who open sourced YAMLResume.