Keep your markdown CV up-to-date with version control and available in various common formats: HTML, PDF, DOCX, and LaTeX. A live web version is also hosted with GitHub Pages.
The format rendering is handled using GitHub actions using Pandoc via official Docker images.
cv-md/
├── .github/
│ └── workflows/
│ └── convert-cv.yml # GitHub Actions workflow for conversion
├── cv/
│ ├── cv.md # Your CV in Markdown format
│ └── templates/
│ ├── cv-template.tex # LaTeX template
│ ├── cv-template.html # HTML template
│ ├── cv-template.docx # DOCX reference
│ └── style.css # Custom CSS for HTML output
├── outputs/
│ ├── cv.html # Generated CV in HTML format
│ ├── cv.pdf # Generated CV in PDF format
│ ├── cv.docx # Generated CV in DOCX format
│ └── cv.tex # Generated CV in LaTeX format
└── README.md # Project docs
- On every push to the cv.md file or
cv/templates/
, the workflow runs and:- Converts
cv/cv.md
to PDF, LaTeX, DOCX, and HTML using Pandoc Docker images. - Saves all generated files in the
outputs/
directory. - Uploads the
outputs/
directory as a workflow artifact. - Commits and pushes the updated
outputs/
directory back to the repository (on GitHub Actions only). - Live HTML version hosted on GitHub Pages (after forked repo setup, see below).
- Converts
-
Fork this repository
- (Optional:) Set up GitHub Pages for a live HTML version.
-
Clone to your local machine
git clone https://github.com/YOUR_GITHUB_USERNAME/cv-md.git cd md-cv
-
Edit Your CV
Update
cv/cv.md
with your latest information. You can also edit templates incv/templates/
. -
Push Changes
git add cv/cv.md git commit -m "Update CV" git push origin main
-
Workflow Execution
- The workflow triggers automatically on push.
- You can monitor progress in the "Actions" tab on GitHub.
-
Accessing Outputs
- The latest generated files are always available in / pushed to the
outputs/
directory in the repository. - You can also download them as workflow artifacts from the GitHub Actions run summary.
- The latest generated files are always available in / pushed to the
To enhable a hosted GitHub Pages version:
- Go to your repo Settings > Pages.
- Under
Source
, selectDeploy from a branch
- Under branch, select
master
and/(root)
. Save - Your CV will be accessible at:
https://YOUR-GITHUB-USERNAME.github.io/cv-md/outputs/cv
- The workflow uses official Pandoc Docker images for reproducible builds.
- The
outputs/
directory is committed back to the repository automatically (only on GitHub Actions, not when running locally withact
).
Caution
If you run the workflow locally with act
, the commit/push step is skipped to avoid hangs or errors.
Note
If you run change the latex template, you may find errors where packages are not already included in the docker://pandoc/extra
build.
- A GitHub account with Actions enabled.
- No local Pandoc or TeX installation is required; all conversion is handled in the workflow.
You can read a bit more about this project on my blog.