An automated resume generation workflow.
Pandoc is used to generate a resume in multiple formats (pdf, html) from the jsonresume schema.
# clone the repo
$ git clone git@github.com/kencx/resume
# edit schema with details
$ vim schema.json
# generate the files in outputs/
$ make
make
will do the following:
- Build the custom Docker image for Pandoc
- Use the built Pandoc image to generate the PDF and HTML resume in
outputs/
To build with a different metadata file:
$ cp schema.json custom.json
# make changes
$ vim custom.json
$ docker compose run --rm pandoc --metadata custom.json
All commands listed below are the raw pandoc
commands that will be run in the
Python build
script.
- All templates are stored in
templates/
- All filters are stored in
filters/
- All static files (fonts, CSS) are stored in
static/
- See
defaults.yml
for default flags
The PDF is generated from an existing LaTeX template:
$ pandoc --defaults defaults.yml \
--template templates/resume.pandoc.tex \
--output=outputs/resume.pdf \
README.md
The HTML requires two steps:
- An intermediate Markdown file is generated from an existing Markdown template
- The intermediate Markdown is turned into HTML with a custom stylesheet and lua-filter
$ pandoc --defaults defaults.yml \
--template=templates/resume.pandoc.md \
--output=outputs/intermediate.md \
README.md
$ pandoc --defaults defaults.yml \
--output=outputs/resume.html \
--css static/latex.css \
outputs/intermediate.md
- Support docx generation
- Generate HTML resume from LaTeX template