Newsletter
Join the Community
Subscribe to our newsletter for the latest news and updates
A simple tool for generating good looking CV pdfs from vanilla markdown files
markdown-resume is a developer tool that converts a plain markdown file into a formatted CV in both PDF and HTML using pandoc.
markdown-resume is an open-source command-line tool that takes one or more vanilla markdown files from a src/ directory and generates matching .pdf and .html files in an output/ directory. It runs on Linux, macOS, Windows via Docker, and inside GitHub Actions CI, and was originally inspired by Eliseo Papa's markdown-cv project. The tool is distributed as a GitHub repository and as a nietaki/markdown-resume Docker image on Docker Hub.
src/ (for example one per language) and they all get compiled on a single make run.style variable in each file's YAML front matter picks a stylesheet from the styles/ directory; the title variable becomes the first h1.make watch rebuilds PDFs automatically whenever a source file changes (Linux only; macOS users can use the Docker workflow instead).make docker mounts src/ and output/ into a container and regenerates files live, while make docker-simple runs a one-shot compilation using the published latest image.Put a markdown file (for example src/sample.md) in the src/ directory, optionally set title and style in its front matter, and run make (or make docker-simple). The build script invokes pandoc to convert the markdown to HTML, then wkhtmltopdf renders the PDF from that HTML, and both files land in output/. To auto-rebuild on changes, use make watch on Linux or make docker on any system with Docker.
make-based workflow; works with any text editor; CI-based builds require nothing installed locally; CSS-based themes are easy to tweak.pandoc and wkhtmltopdf (plus lmodern for the default font); make watch is Linux-only and the README notes the Docker watch mode does not work on macOS with Podman.No. The conversion pipeline uses pandoc and wkhtmltopdf only; LaTeX is not installed or invoked. The lmodern package is optional and used only to provide the default font when rendering PDFs locally.
Place your markdown file under src/, then run make from the project root after installing the prerequisites (pandoc, wkhtmltopdf, and optionally lmodern). The generated .pdf and .html files appear in output/.
Yes. The repository ships a GitHub Actions workflow that compiles every markdown file in src/ and uploads a zip containing the output. You only need to commit and push your markdown file.
Set the style variable in the markdown front matter to the name of a directory inside styles/. Any CSS files in that directory are included in alphabetical order, so you can add your own theme or tweak the default one.
Yes. Put multiple markdown files in src/ and each one is compiled to its own PDF and HTML output. This is handy for maintaining separate language versions of your CV.