resume-pandoc is a LaTeX resume template for Pandoc, derived from Jason R. Blevins' cv-template, that converts a Markdown resume into a polished PDF or .tex file from the command line.
What is resume-pandoc?
resume-pandoc is a LaTeX template designed for use with Pandoc, taking a Markdown resume with a YAML metadata block as input and producing either a LaTeX source file or a compiled PDF as output. It is created by John Bokma and inspired by Jason R. Blevins' classic resume template. The template is invoked through Pandoc's --template option and is specifically built for resumes rather than general documents.
Key Features
- YAML metadata control — All layout and style settings live in a YAML block, including name, PDF keywords, left-column and right-column content, font size (default 10pt), font encoding (default T1), URL color (default blue), link color (default magenta), and a switch for section numbering.
- Custom name and section colors — Set
name-colororsection-colorto any SVG color name such asDarkSlateGrayorTomato; doing so also changes those elements to bold sans-serif (useblackif you only want the bold sans-serif look). - Two output formats — The same Markdown file generates both
.texand.pdfwith virtually identical pandoc commands, so you can review LaTeX source or ship a PDF. - Docker reproducibility — A Dockerfile is included;
docker build --tag=resume-pandoc .creates an image, and a singledocker runwith a volume mount builds the PDF without a local TeX install. - Example resume included —
perl-programmer-john-bokma-resume.mddemonstrates the exact Markdown and YAML structure the template expects, making it a practical starting point. - Numbered sections toggle — Control numbering via the
numbersectionsYAML option or the Pandoc-Nflag.
Who is it for?
- Pandoc users — Anyone already comfortable with Pandoc can adopt this template without learning a new markup language; the resume stays in Markdown and converts on demand.
- Developers who want version-controlled resumes — Keep the resume in Git, track changes, and generate a fresh PDF every time via a single command.
- Docker users — Developers who want a consistent build environment across machines can use the provided Docker image to avoid installing Pandoc and a LaTeX distribution locally.
What can you do with resume-pandoc?
- Write a resume in Markdown — Draft or maintain a resume in plain text and produce a professional LaTeX-styled PDF with one command:
pandoc resume.md -f markdown+yaml_metadata_block --template templates/jb2resume.latex -o resume.pdf. - Customize the two-column header — Populate the
left-columnandright-columnYAML lists with contact details, links, or a summary that appear directly under the name on the first page. - Match your personal branding — Adjust colors and fonts through the YAML metadata so the resume aligns with a personal site or portfolio.
How does it work?
The template is a LaTeX file (jb2resume.latex) placed in a templates folder. You run Pandoc with the Markdown file, enable yaml_metadata_block, and point --template at it. Pandoc injects the YAML values into the template variables, and the LaTeX engine compiles the PDF. With Docker, you build the image once and then run a container that mounts your current directory as /data, which renders the PDF output to that same folder.
FAQ
Does resume-pandoc require LaTeX to be installed?
For PDF output, yes — Pandoc uses a LaTeX engine such as pdflatex. The repository offers a Docker image that bundles the required tools, so you can skip a local TeX installation.
What Markdown format is expected?
The input must include a YAML metadata block, and the file must be parsed with -f markdown+yaml_metadata_block for the metadata to reach the template.
Can I change the font and color of my name?
Yes. Set name-color in the YAML block to any SVG color name; the template makes the name bold and sans-serif. If you only want the bold sans-serif change, use black.
What operating systems are supported?
The template itself is OS-independent, but the instructions mention setup guides for Ubuntu 17.04 and Docker Desktop for macOS, showing it works on Linux and macOS workflows.




