CLI
YAMLResume provides a CLI tool to help you manage your resume. You can follow the installation guide to install it.
YAMLResume CLI in docker
Please note that we have a docker image
for you, which has yamlresume
CLI installed with all the necessary
dependencies.
For each sub-command in this guide, you can run it in docker by appending the
sub-command after yamlresume/yamlresume
.
For example, to create a new resume in yamlresume CLI:
yamlresume new my-resume.yml
You can also run it in docker by:
docker run --rm -v $(pwd):/home/yamlresume yamlresume/yamlresume new my-resume.yml
Help
Show CLI help and all available commands:
$ yamlresume help
Usage: yamlresume [options] [command]
YAMLResume — Resume as Code in YAML
__ __ _ __ __ _ ____
\ \ / // \ | \/ | | | _ \ ___ ___ _ _ ___ ___ ___
\ V // _ \ | |\/| | | | |_) / _ \/ __| | | / _ \/ _ \ / _ \
| |/ ___ \| | | | |___| _ < __/\__ \ |_| | | | | | | __/
|_/_/ \_\_| |_|_____|_| \_\___||___/\____|_| |_| |_|\___|
Options:
-V, --version output the version number
-v, --verbose verbose output
-h, --help display help for command
Commands:
new [filename] create a new resume
build [options] <resume-path> build a resume to LaTeX and PDF
dev [options] <resume-path> build a resume on file changes (watch mode)
languages i18n and l10n support
templates manage resume templates
validate <resume-path> validate a resume against the YAMLResume schema
help [command] display help for command
Show YAMLResume CLI version:
$ yamlresume -V
0.5.0
New
Create a new resume. The default resume filename is resume.yml
, but you
can specify a custom filename:
$ yamlresume new --help
Usage: yamlresume new [options] [filename]
create a new resume
Arguments:
filename output filename (default: "resume.yml")
Options:
-h, --help display help for command
$ yamlresume new my-resume.yml
✔ Created my-resume.yml successfully.
Build
Build a resume from YAML to PDF. It will generate the latex code and PDF at the
same time, with some intermediate files .aux
, .log
etc, if you use
XeTeX as the typesetting engine.
$ yamlresume build --help
Usage: yamlresume build [options] <resume-path>
build a resume to LaTeX and PDF
Arguments:
resume-path the resume file path
Options:
--no-pdf only generate TeX file without PDF
--no-validate skip resume schema validation
-h, --help display help for command
$ yamlresume build my-resume.yml
◐ Generating resume PDF file with command: xelatex -halt-on-error my-resume.tex...
✔ Generated resume PDF file successfully.
--no-pdf
If you only want to generate the LaTeX file without PDF, you can use --no-pdf
option.
$ yamlresume build --no-pdf my-resume.yml
--no-validate
If you want to skip the resume schema validation, you can use --no-validate
option.
$ yamlresume build --no-validate my-resume.yml
Dev
Build a resume from YAML to PDF on file changes. It accepts the same options as
build
however it will automatically rebuild the resume when the YAML
file is changed (aka, watch mode). This would be very convenient for you to
preview your resume changes in real time.
$ yamlresume dev --help
Usage: yamlresume dev [options] <resume-path>
build a resume on file changes (watch mode)
Arguments:
resume-path the resume file path
Options:
--no-pdf only generate TeX file without PDF
--no-validate skip resume schema validation
-h, --help display help for command
Validate
Validate a resume against the YAMLResume schema.
$ yamlresume validate --help
Usage: yamlresume validate [options] <resume-path>
validate a resume against the YAMLResume schema
Arguments:
resume-path the resume file path
Options:
-h, --help display help for command
For example, for the following resume:
# yaml-language-server: $schema=https://yamlresume.dev/schema.json
---
content:
basics:
name: Andy Dufresne
headline: Headed for the Pacific
phone: "(213) 555-9876"
email: hi@pp
url: https//ppresume.com/gallery
summary: |
- Computer Science major with strong foundation in data structures, algorithms, and software development
- Pixel perfect full stack web developer, specialised in creating high-quality, visually appealing websites
- Experiened in databases (SQL, NoSQL), familiar with server-side technologies (Node.js, Express, etc.)
- Team player, with detail-oriented mindset and a keen eye for design and user experiences
location:
address: 123 Main Street
region: California
city: S
country: United States
postalCode: "95814"
education:
- institution: University of Southern California
url: https://www.cs.usc.edu/
degree: Bachelor
area: Computer Engineering and Computer Science
score: "3.8"
startDate: Sep 1, 2016
endDate:
courses:
- D
- Programming Language Concepts
summary: |
- Developed proficiency in programming languages such as Java, C++, and Python
- Gained hands-on experience in software development through various projects and assignments
- Strong communication and teamwork skills acquired through group projects and presentations
layout:
typography:
fontSize: 13pt
yamlresume validate
will give you a list of potential errors, with clear
positional information
$ yamlresume validate my-resume.yml
invalid-resume.yml:9:12: warning: email is invalid.
email: hi@pp
^
invalid-resume.yml:19:11: warning: city should be 2 characters or more.
city: S
^
invalid-resume.yml:31:11: warning: courses should be 2 characters or more.
- D
^
invalid-resume.yml:40:15: warning: font size option is invalid, it must be one of the following: ["10pt", "11pt", "12pt"]
fontSize: 13pt
^
✖ Resume validation failed.
Languages
List all available languages. The language code follows the spec in ISO
639 specification. You can specify
the language code in layout.locale.language
in order to change the language of
your resume. Changing the language of your resume will automatically translate
all fixed terms. You can check more details in our content -> multi
languages section.
$ yamlresume languages list
| `layout.locale.language` | Language Name |
| ------------------------ | ------------------------------- |
| en | English |
| zh-hans | Simplified Chinese |
| zh-hant-hk | Traditional Chinese (Hong Kong) |
| zh-hant-tw | Traditional Chinese (Taiwan) |
| es | Spanish |
Templates
List all available templates. You can change the resume template by setting
layout.template
in your YAML resume. PPResume
Templates for more details.
$ yamlresume templates list
| `layout.template` | Template Name | Description |
| ----------------- | ---------------- | ------------------------------------ |
| moderncv-banking | ModernCV Banking | ModernCV template with banking style |
| moderncv-casual | ModernCV Casual | ModernCV template with casual style |
| moderncv-classic | ModernCV Classic | ModernCV template with classic style |
Last updated on