Skip to content

kenesparta/typst-resume

Repository files navigation

Typst Resume

A clean, single-page resume built with Typst and driven by simple JSON data files. It renders to a PDF with consistent typography and layout.

Preview

  • A recent build is included as main.pdf for quick preview.
  • Release builds are named like ken_esparta_cv_<hash>.pdf (generated by the Makefile).

Prerequisites

  • Typst Install
  • Make (optional, for using the provided Makefile)
  • Fonts are bundled in fonts/ and referenced automatically during compilation.

Quick Start

  • Build a development PDF:
    • Using Make: make gen-test
    • Directly with Typst: typst compile main.typ main.pdf --font-path fonts
  • Build a release PDF with a short hash in the filename:
    • make gen-release
  • Clean generated PDFs:
    • make clean

The generated PDF will appear in the project root.

Project Structure

  • main.typ — Entry point that includes the section templates.
  • title.typ — Name and role heading.
  • contact.typ — Contact links and social info.
  • intro.typ — Short professional summary.
  • experience.typ — Work experience section, rendered from JSON.
  • projects.typ — Selected projects, rendered from JSON.
  • education.typ — Education history, rendered from JSON.
  • skills.typ — Skills by category, rendered from JSON.
  • config.typ — Theme colors, common helpers, and reusable components.
  • fonts/ — Local font files used by the layout.
  • data/ — All data sources used to populate the resume sections:
    • experience.json
    • projects.json
    • education.json
    • skills.json
  • Makefile — Convenience tasks for building and cleaning.

Editing Your Resume

Update the JSON files in data/ to change content. Keys are straightforward and self-descriptive.

  • experience.json
    • Fields per job: company, position, location, from, to, short_description, description (array of bullet points)
    • Dates use the format MM-YYYY. An empty to value means "Now".
  • projects.json
    • Fields per project: name, institution, link, link_name, description (array of bullet points)
  • education.json
    • Fields per entry: school, location, degree, from, to
  • skills.json
    • Array of objects with: category and items (array of strings)

After editing, run a build command again to regenerate the PDF.

Customization

  • Colors and style helpers live in config.typ:
    • primary_color, secondary_color, accent_color
    • format_date function converts MM-YYYY strings into "Mon YYYY".
    • section_title and new_contact helpers for consistent section styling and links.
  • Typography is defined in main.typ and the section files, using fonts from fonts/.
  • Page size and margins are configured in main.typ.

Tips

  • Keep bullet points concise and outcome-focused.
  • Prefer consistent verb tense and measurable results where possible.
  • Rebuild after each change to verify layout fits on a single page.

Troubleshooting

  • If Typst can't find the fonts, ensure you pass the --font-path fonts flag (Makefile already does this).
  • If dates render unexpectedly, confirm the MM-YYYY format (e.g., 10-2022).

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors