Back to templates

Template details

resume-pandoc

LaTeX resume template for Pandoc based on Jason R. Blevins' template

About this template

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-color or section-color to any SVG color name such as DarkSlateGray or Tomato; doing so also changes those elements to bold sans-serif (use black if you only want the bold sans-serif look).
  • Two output formats — The same Markdown file generates both .tex and .pdf with 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 single docker run with a volume mount builds the PDF without a local TeX install.
  • Example resume included — perl-programmer-john-bokma-resume.md demonstrates the exact Markdown and YAML structure the template expects, making it a practical starting point.
  • Numbered sections toggle — Control numbering via the numbersections YAML option or the Pandoc -N flag.

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-column and right-column YAML 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.