Generate printable PDFs from Markdown on macOS, Windows, or Linux using Docker. The local pipeline is now:
- Markdown → HTML (Pandoc)
- HTML → PDF (wkhtmltopdf) with CSS styling
- resume-leadership.md – primary source used today
- scripts/render-pdf.sh – Dockerized Pandoc → HTML, then wkhtmltopdf → PDF
- Makefile –
pdfandcleantargets - .github/workflows/create-pdf.yml – CI workflow that publishes artifacts
- Docker Desktop or Docker Engine running
- Build default PDF
make pdf- Custom input/output
make pdf INPUT=resume-leadership.md OUTPUT=build/my-resume.pdf- Direct script usage
sh scripts/render-pdf.sh resume-leadership.md build/resume-leadership.pdfUnder the hood:
- Pandoc image:
pandoc/core:latest - wkhtmltopdf image:
surnet/alpine-wkhtmltopdf:3.20-0 - CSS applied:
resume-stylesheet.css(override withCSS_FILE)
- With Git Bash you can run
make pdf. - PowerShell one‑liner example (equivalent to the script):
# Git Bash is recommended; for PowerShell, use the Makefile or invoke the script directly.
sh scripts/render-pdf.sh resume-leadership.md build/resume-leadership.pdf- Workflow:
.github/workflows/create-pdf.yml - Matrix builds for multiple sources (e.g.,
resume.md,resume-leadership.md). - Produces zipped artifacts containing HTML, PDF, and stylesheet.
CSS_FILE– path to the CSS file used in the Pandoc HTML step. Example:
CSS_FILE=resume-stylesheet.css make pdf- Originally inspired by Sonya Sawtelle’s write‑up on Markdown→PDF resumes: https://sdsawtelle.github.io/blog/output/simple-markdown-resume-with-pandoc-and-wkhtmltopdf.html
- This repository now uses a Dockerized Pandoc/LaTeX flow for local builds and a GitHub Actions workflow for CI artifacts. Refer to Sonya’s post for historical context.