Resume/Cover via Markdown & Pandoc

My Markdown resume with Pandoc wrapper

After wrangling a number of options to maintain my resume and cover letters, I’ve adopted Git, Markdown and Pandoc as a means to manage, edit and present my resume.

Armed with Markdown and a Git repository to house and version this core resume and cover letter in a raw markup language, I can leverage Pandoc to convert the document into the relevant format; HTML, PDF, Docx, LaTeX.

LaTeX serves as the intermediary format for Pandoc’s PDF conversion, as well a powerful markup language in its own right. I have maintained a LaTeX-formatted resume and cover letter for over ten years as an academic exercise. Granted, 1.3GB of TeX distribution is a mammoth requirement to get PDF conversion. You can get around this by using HTML and printing to PDF, by using a tool like Macdown or Dillinger.

I don’t use Microsoft products unless absolutely essential for a project - Word, included. As collaboration and documentation tools have evolved, I find less need to use a monolithic word processing application like LibreOffice or Pages. Instead, I have narrowed my attention to portable formats with a pure syntax. Markdown has essentially taken over in this regard. Wiki-centric markup like TWiki or Confluence’s deprecated markup language have been outmoded. I was a heavy user of Confluence’s wiki markup, but since it was deprecated it’s no longer viable. Even Confluence has adopted Markdown as a format for conversion into the “storage format”.

The result is a copy of my resume and basic cover letter in Markdown format with an accompanying Pandoc conversion script (pandoc.sh).

pandoc.sh

Requirements

  • pandoc
  • pdflatex

To generate a PDF on macOS, install pdflatex and be sure it’s in $PATH.

Usage

Run pandoc.sh in the directory containing the raw CV and Cover, passing the filenames as arguments 1 and 2:

sh pandoc.sh william-kennedy.md cover.md

Output is generated in the directory in the formats specified in pandoc.sh in the FORMATS variable: docx, latex, html, pdf.

Set the NAME variable to the name (your name) to be used in the output file: $NAME.[CV|Cover].$DATE.$fmt

Date is formatted as YYYYMMDD