This repo builds a one-page PDF CV from Markdown using Pandoc and a PDF renderer.
sections/left.md- photo, name, bio, contact, QRsections/middle.md- work experience, education, events, languagessections/right.md- skills and last updated placeholderstyles/cv.css- layout and typographyassets/- images (profile, QR)manifest.yaml- manual version used in the PDF file namescripts/build_cv.py- build pipeline
Requirements:
- Pandoc
- Python 3.11+
Linux (GitHub Actions uses this path):
python scripts/build_cv.pyWindows:
python scripts/build_cv.pyNotes:
- On Windows, the script prefers WeasyPrint if available (and GTK is configured). If WeasyPrint fails, it falls back to Edge/Chrome, then Playwright if installed.
- To use WeasyPrint on Windows, set
GTK_PATHto your GTK root and install WeasyPrint (pip install weasyprint).
The PDF is created in build/ with this name:
Rafael_Rodriguez_Senior_Software_Engineer_<version>.pdf
The version comes from manifest.yaml:
version: "2026.01"- Edit Markdown in
sections/. - Update styles in
styles/cv.css. - Replace images in
assets/. - Update
manifest.yamlwhen you want a new output filename.
The "Last updated" date is set dynamically at build time.
Workflow: .github/workflows/build-cv.yml
- Builds on push to
mainand on manual run. - Uploads the PDF as an artifact.
- If a tag starts with
v, it creates a GitHub Release with the PDF attached.