Automating Local Markdown Resume to PDF Formatting with Simple Scripts

Ads

When you build a resume inside graphic layout tools or multi-column word processors, the resulting file often contains hidden text frames, disjointed bounding boxes, and overlapping layers. Modern applicant tracking systems frequently extract this text out of order, garbling your work history.

Maintaining your master career document in plain text and compiling your Markdown resume to PDF using a local automated script produces a predictable single-stream document hierarchy that parses cleanly on recruitment platforms.

The Core Benefits of Plain Text Resume Architecture

Working in plain Markdown decouples your career content from visual presentation. This separation provides distinct operational advantages:

Prerequisites for a Local Compilation Pipeline

You can run this automation on macOS, Linux, or Windows (via WSL or PowerShell). The setup relies on Pandoc, a universal open-source document converter, combined with a lightweight PDF engine like weasyprint or wkhtmltopdf.

Install the required packages using your package manager (such as brew install pandoc on macOS, or apt install pandoc on Ubuntu).

The Minimalist Pandoc Build Command

Organize your folder with your resume.md file and a minimal stylesheet named style.css. Keep typography clean: use standard fonts like Helvetica, Arial, or Georgia with 0.5-inch margins.

Create a build script named build.sh and use the following bash routine:

#!/usr/bin/env bash # Compile Markdown to ATS-clean PDF using Pandoc and Weasyprint set -e  INPUT_FILE="resume.md" OUTPUT_FILE="resume.pdf" pandoc "$INPUT_FILE" -o "$OUTPUT_FILE" --pdf-engine=weasyprint --css=style.css echo "Compiled $OUTPUT_FILE"