A clean, maintainable Typst-based resume with modular structure and CI/CD pipeline.
resume.typ- Main entry point that imports templates and contentsrc/templates.typ- Reusable template functions (header, section, job, etc.)src/content.typ- All resume content data (header info, work experience, education)base/- Original resume documents and text extracts
Install Typst:
- macOS:
brew install typst - Linux: See Typst installation guide
- Windows: See Typst installation guide
typst compile resume.typ morgan_watson-morris_resume.pdftypst watch resume.typ morgan_watson-morris_resume.pdf- Update content: Edit
src/content.typ- all resume data is stored here - Change styling: Edit
src/templates.typ- modify functions to adjust lay out, fonts, spacing - Structure changes: Edit
resume.typ- change the order or add/remove sections
The repository includes a GitHub Actions workflow (.github/workflows/build-resume.yml) that:
- Automatically compiles the resume on push to main/master
- Creates a PDF artifact that can be downloaded
- Creates a release with the PDF when you push a tag
You can also manually trigger the workflow from the GitHub Actions tab.
To create a release with the compiled PDF:
git tag -a v1.0.0 -m "Resume update"
git push origin v1.0.0The modular structure makes it easy to:
- Update content without touching templates
- Adjust styling without modifying content
- Add new sections or reorganize the resume
- Maintain version control with clear diffs