maintaining a cv in markdown 1
I wanted a single source of truth for my CV, so I didn’t need to maintain both an online copy I can link to, and a copy in something docs-like that I can mail around as a PDF.
The solution as it currently stands is that I write my CV in markdown, here on a GitHub pages site, and also run a GitHub actions workflow that uses md-to-pdf to render a PDF copy and commit it back to the repository.
For reference 2 the repository for this site is gilmoregrills/gilmoregrills.github.io.
rendering a pdf
The workflow is on GitHub at .github/workflows/render-pdf.yml (again, private) but the basic process is:
- On a push to main that includes a change to any file other than what’s in
_renders/. - Check out the repo containing this site.
- Use
npmto installmd-to-pdf,catthe markdown file containing my CV and pipe it tomd-to-pdfwith a bunch of inline arguments 3. - Another pre-made action commits the rendered PDF back to the repo in the
_renders/directory.
Every change to my markdown CV overwrites the previous PDF, so my latest CV is always available [^4] at _renders/robin-lightfoot-cv.pdf for me to fetch and send when I need it.
Currently both the styling of this site and the rendered PDF aren’t very beautiful, so maybe I should start working on that a little. md-to-pdf allows you to pass custom css to the cli & is p extensible, and this site is a website so 😌✌️
[^4] (for me)