My latex π§ββοΈ CV built, thumbnailed, released and published to
my GitHub Pages personal website through GitHub actions π€
View online Β»
Share ideas
Β·
Report Bug
Β·
Request Feature
The source code was forked and adapted from Professional CV by Igal Tabachnik.
Peronal add-ons:
- compute age
- helpers for employer & job records with computed experience durations
- can be dyanamically generated in light or dark mode version
- embed version number as clickable link (to corresponding release page)
- GitHub actions
- build & release light & dark versions with version numbering embedded in the generated pdf
- publish latest release to my GitHub pages repo
- generate thumbnails (automatically pushed to my GitHub pages repo and embedded in this README)
Page 1 | Page 2 | Page 3 | Page 4 |
---|---|---|---|
Built with lualatex due to some known issues with FontAwesome.
Lualatex can be installed easily as part of TexLive
A package is also available for Windows but I personally prefer using a WSL2 which is pretty well integrated with VSCode.
-
On debian, the following packages must be installed
sudo apt install git texlive texlive-luatex texlive-fonts-extra
-
On windows, setup the debian instance as described above then open the cloned project in the WSL2 context
-
On MacOS, the following packages must be installed
brew install texlive
Building locally is just a matter of clicking the build button in VSCode in the VSCode setup.
Altrernatively, the pdf can be generated using the command-line:
# Generate the standard pdf
pdflatex cv
# Generate the standard pdf with embedded version number/name as clickable url
pdflatex "\def\releasenumber{ga-build}\def\releaseurl{https://example.com}\input{cv}"
# Generate the pdf in dark mode (can be combined with the above)
pdflatex "\def\darkmode{}\input{cv}"
A bunch of github actions were implemented to cover the build, release and deployment processes:
- : builds the cv.tex project with lualatex
- : build and release to the repo releases
- : copies the latest pdf release to a github pages site repo
- : generates thumbnails to be embedded in this README
This GitHub Actions workflow automates the process of building the LaTeX-based CV, ensuring stability of the codebase. Triggered by manual or branch events, it fetches the code, compiles the CV, performs linting, and uploads the result, adjusting actions based on success or failure.
graph TD
%% Workflow Title
Build_Lualatex_Workflow[Build - Lualatex Workflow]
%% Nodes
Build_Lualatex_Workflow -->|on| B[on: workflow_dispatch]
Build_Lualatex_Workflow -->|on| C[on: push - master]
Build_Lualatex_Workflow -->|on| D[on: pull_request - master]
B -->|jobs| C1[build_latex - runs-on - ubuntu-latest]
C -->|jobs| C1
D -->|jobs| C1
subgraph C1[build_latex - runs-on - ubuntu-latest]
E[Checkout code]
E -->| | F[Create cv-maxpowis-ga-build.tex]
F -->| | G[Lint LaTeX document]
G -->| | H[Upload TeXtidote report]
H -->| | I[Compile LaTeX document]
I -->|on success| J[Upload pdf]
I -->|on failure| K[Upload logs]
end
- Expose dark cv as alternate download on personal website
- Complete this README with missing GitHub actions flowcharts and descriptions
Based on the Beerware license.
Well, you'll find it all in my cv