Listen up! This is a straight-up killer setup for building resumes without all the garbage. Write your stuff in Markdown, get professional LaTeX PDFs. No bullshit, just results.
Word is like that cheap equipment that explodes your whole lab. You change one tiny thing, and BOOM - your whole document is contaminated. Images float around like they're haunted. You paste something and get weird formatting diseases. Your headers go all Heisenberg when you're not looking. Paragraphs get all messed up. Those fancy interface menus hide basic stuff. Big documents run slower than an RV in the desert. And don't get me started on those auto-formatting "features" that just screw everything up. It's not a document editor - it's like a meth lab where only bad things happen to your resume. Hard pass, yo!
- Let's you write simple text files (even my high school dropout self can handle it)
- Turns your basic text into fancy-ass PDFs automatically
- Builds fresh PDFs whenever you push changes (lazy and smart)
- Runs on whatever rig you've got (no platform drama)
- Make
- Pandoc
- XeLaTeX
- Aptos font (used in the template)
sudo apt-get update
sudo apt-get install -y texlive-xetex texlive-fonts-recommended texlive-fonts-extra pandoc ttf-mscorefonts-installer
sudo fc-cache -f -vbrew install pandoc
brew install --cask mactex-no-guisudo zypper refresh
sudo zypper install texlive-xetex texlive-fonts-recommended texlive-latex pandoc fetchmsttfonts
sudo fc-cache -f -vsudo dnf install texlive-xetex texlive-collection-fontsrecommended texlive-collection-fontsextra pandoc msttcorefonts
sudo fc-cache -f -vsudo pacman -Sy texlive-most pandoc
yay -S ttf-ms-fonts
sudo fc-cache -f -v# Generate both resume and cover letter
make
# Generate only the resume
make resume
# Generate only the cover letter
make cover
# View both PDFs
make view
# View only the resume
make view-resume
# View only the cover letter
make view-cover
# Check information about the output files
make info
# Create a backup of markdown files (only if changes detected)
make bak
# Clean temporary files
make clean
# Remove PDFs and temporary files
make distclean
# Show help message
make helpThe resume and cover letter use a .secrets file for personal contact information:
- Not committed to git repository (in
.gitignore) - All fields are optional - placeholders used when missing
- Comment out any field with
#to use placeholder text instead
Example .secrets file:
# Personal contact information
RESUME_PHONE="66668888"
RESUME_COUNTRY_CODE="65"
RESUME_LOCATION="Singapore"
RESUME_EMAIL="[email protected]"
resume/sections/- Directory containing section files for the resumeheader.md- Name, contact info, objective, and summaryexperiences.md- Work experienceeducation.md- Educational backgroundskills.md- Technical and soft skillsprojects.md- Project descriptionsextracurricular.md- Volunteer and extracurricular activitieslanguages.md- Language proficienciesreferences.md- References section
cover-letter/coverletter.md- Cover letter contenttemplates/- LaTeX templatesresume-template.tex- Template for resume PDF stylingcoverletter-template.tex- Template for cover letter PDF styling
Makefile- Build automation.secrets- Personal contact information (not in git).github/workflows/workflow.yml- CI/CD configuration
The GitHub Actions workflow automatically:
- Compiles the resume and cover letter on every push to master branch
- Installs required dependencies and fonts
- Deploys the PDFs to a personal storage repository
- Runs only when relevant files are modified
The workflow detects changes in:
- Markdown files in the resume and cover letter directories
- LaTeX templates
- Makefile and GitHub workflow configuration
The output filenames are generated based on the name in resume/sections/header.md:
FirstName_MiddleName_LastName_SWE.pdf
FirstName_MiddleName_LastName_CoverLetter.pdf
To change this format, modify the RESUME_OUTPUT and COVER_OUTPUT variables in the Makefile.
The template files can be modified to adjust:
- Fonts and typography
- Colors and styling
- Layout and spacing
- Section organization
- Uses the Aptos font
- Accent color: RGB(0, 102, 204)
- Responsive layout with hyperlinks
- Custom environments for entries
- Matches the resume styling for consistency
- Support for signature image
- Paper background color: RGB(244, 241, 236)
- Formatted for professional business correspondence
This setup is primarily for personal use but might be helpful for others looking to maintain their resume and cover letter in a similar manner. Feel free to adapt any part of it for your own needs.
PDF files are not tracked in this repository (see .gitignore).
Cooked up with ❤️ by Kai - Fork it, remix it, make it yours, yo!
