My CV written in LaTeX format, with a GitHub Actions workflow to generate a PDF which is added as an asset to release tags produced by Semantic Release.
LaTeX is something I last used at university to write my dissertation and I found that, while challenging, it gave me really great control over the final document. Traditional word processors never gave me the same control I remember having, and now it is not nearly as challenging as it was when I was new to programming.
Having everything in a git repo also means I'll never have to search for my most recent CV again. A nice bonus is that I'll have a nice history of my CV over the years.
Using GitHub Actions to generate the final PDF document means I know the PDF matches the source code, it also means I don't need to use Dropbox anymore.
I decided to use semantic-release to produce releases and then upload the generated PDF as an asset to them so I can control the public facing iterations using branches and commits.
- Download and install MacTeX
- Open TeX Live Utility and update
Add the following to .zshrc
(or equivalent)
# LaTeX
export LATEXMK=/Library/TeX/texbin/latexmk
export LATEXINDENT=/Library/TeX/texbin/latexindent
export PATH=$PATH:$LATEXMK
export PATH=$PATH:$LATEXINDENT
Setup Perl via homebrew if it is not already. The system Perl is for Mac OS and will cause problems if used
brew install perl
Setup Perl to use brew installation
sudo cpan local::lib
Add the following to .zshrc
eval "$(perl -I$HOME/perl5/lib/perl5 -Mlocal::lib)"
Install required Perl modules
cpan YAML::Tiny
cpan File::HomeDir
cpan Unicode::GCString