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