My data-driven resume in LaTeX. The resume template is Jake's Resume, by Jake Gutierrez. The parsers are mine.
I wanted a single "source of truth" for my pdf resume and website. I could have written a LaTeX parser, but .tex is generally not a good way to store data. Thus, I put the data in Astro-header-like makrdown .md documents, so both my LaTeX resume and website can read from the same data source.
I have no idea why anyone but myself would want to build this resume from source.
- Install the python packages. Make a venv if you want.
- Run
python3 build_resume.py.
That's it. Running parse_data.py prints the LaTeX output sections.
.
├── resume-data/ # Markdown data
│ ├── education/
│ ├── experience/
│ ├── projects/
│ ├── skills/
│ └── achievements/
├── template/ # Stores template
│ └── resume_template.tex
├── parse_data.py # Markdown to LaTeX
├── build_resume.py # Build Script
└── RyanBatubaraResume.tex # Final tex
└── RyanBatubaraResume.pdf # Final pdf
Create a new .md file in data/education/:
---
institution: 'University Name'
location: 'City, State'
degree: 'Your Degree'
startDate: 'Start Date'
endDate: 'End Date'
coursework: 'Relevant coursework (optional)'
---Create a new .md file in data/experience/:
---
title: 'Job Title'
company: 'Company Name'
location: 'City, State'
startDate: 'Start Date'
endDate: 'End Date'
link: 'https://company-website.com' # optional
accomplishments:
- 'Achievement 1'
- 'Achievement 2'
paperLink: 'https://paper-url.com' # optional, for linking "this paper"
---Create a new .md file in data/projects/:
---
name: 'Project Name'
technologies: 'Tech1, Tech2, Tech3'
link: 'https://project-link.com'
accomplishments:
- 'What you built/achieved'
- 'Impact or results'
---Create a new .md file in data/skills/:
---
category: 'Category Name'
skills: 'Skill1, Skill2, Skill3, Skill4'
---Create a new .md file in data/achievements/:
---
title: 'Achievement Title'
location: 'Location (optional)'
year: 'Year'
link: 'https://verification-link.com'
---- All strings should be quoted with single quotes
'text' - Lists use YAML format with
- 'item'syntax - Links are automatically formatted as LaTeX hyperlinks
- Special characters in URLs (like underscores) are automatically escaped
- The
_template.mdfiles show the expected format for each section