My little blog & personal site.
Generates a PDF version of the web resume using Jekyll and Playwright (headless Chromium).
Requires Ruby/Bundler (same as the main site) and Node.js 18+.
cd resume-pdf
npm install
npm run generate [-- --data <path>] [-- --out <path>] [-- --keep-build]
Options:
--data <path>, path to a JSON Resume YAML file. If omitted, uses_data/resume.yml.--out <path>, output PDF path. Defaults toresume-pdf/out/resume-<name>-<YYYYMMDD>.pdf.--keep-build, keep the temporary Jekyll build directory for debugging.
Examples:
# Default resume
npm run generate
# Variant resume
npm run generate -- --data ../variants/company-x.yml
# Custom output path
npm run generate -- --out ~/Desktop/resume.pdf
# Delete all generated PDFs
npm run clean
- Runs
jekyll buildwith a config overlay (resume-pdf/_config.yml) that enables the PDF-only resume page and stylesheet. Both are excluded from normal site builds. - If
--datais provided, sets aRESUME_DATAenvironment variable. A Jekyll plugin (_plugins/resume_data_override.rb) picks this up and swaps the resume data at build time, with no file modifications. - Serves the built site on a local ephemeral port (needed for absolute font paths to resolve correctly).
- Opens the PDF resume page in headless Chromium, waits for web fonts to load, and prints to PDF with US Letter page size.
The content on this site is licensed under a Creative Commons Attribution 4.0 International license. The code is licensed under the MIT license unless otherwise noted.