Skip to content

Latest commit

 

History

31 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sebastian F. Steffensen - CV & Resume System

A modern, multi-language CV and Resume system built with Typst, inspired by the basic-resume template but enhanced with additional fields and Danish language support.

Project Structure

├── template.typ           # Main template with language support
├── justfile              # Build automation
├── Resume/                # Personal resume files
│   ├── English-Resume.typ
│   └── Danish-Resume.typ
├── CV/                    # Personal CV files
│   ├── English-CV.typ
│   └── Danish-CV.typ
├── CoverLetter/           # Personal cover letter files
│   ├── English-CoverLetter.typ
│   └── Danish-CoverLetter.typ
├── example/               # Generic example templates
│   ├── Resume/
│   │   ├── English-Resume.typ
│   │   └── Danish-Resume.typ
│   ├── CV/
│   │   ├── English-CV.typ
│   │   └── Danish-CV.typ
│   └── CoverLetter/
│       ├── English-CoverLetter.typ
│       └── Danish-CoverLetter.typ
├── PDF-output/            # Personal compiled PDFs (for upload)
└── example-pdf/           # Example compiled PDFs (tracked in git)

Getting Started

Prerequisites

  • Typst CLI installed and available in PATH
  • Just for build automation (optional but recommended)

Setup

  1. Clone or download this repository
  2. Ensure the folder structure exists:
    just setup

Build Commands

# Compile all documents
just all

# Compile specific document types
just resumes        # Both English and Danish resumes
just cvs           # Both English and Danish CVs
just cover-letters # Both English and Danish cover letters

# Compile individual documents
just resume-en     # English Resume
just resume-da     # Danish Resume
just cv-en         # English CV
just cv-da         # Danish CV
just cover-letter-en # English Cover Letter
just cover-letter-da # Danish Cover Letter

# Compile example documents (for showcasing the system)
just examples           # All example documents
just example-resume-en  # Example English Resume
just example-resume-da  # Example Danish Resume
just example-cv-en      # Example English CV
just example-cv-da      # Example Danish CV
just example-cover-letter-en # Example English Cover Letter
just example-cover-letter-da # Example Danish Cover Letter

# Watch for changes (specify document path)
just watch Resume/English-Resume.typ

# Clean generated PDFs
just clean

Language Support

The template supports both English and Danish with localized section headers:

  • English: Education, Work Experience, Projects, Licenses & Certifications, etc.
  • Danish: Uddannelse, Erhvervserfaring, Projekter, Licenser & Certificeringer, etc.

Set language with the language: "en" or language: "da" parameter in the resume template.

Template Features

Enhanced Functions

Based on the original basic-resume template with these additions:

  • certificates() - Enhanced with ID field and language support
  • references() - New function for professional references
  • section-header() - Automatic language-aware section headers
  • edu() - Enhanced with honors, courses, and highlights
  • work() - Enhanced with URL support and highlights
  • project() - Enhanced with affiliation and highlights
  • skills() - Multi-category skills organization
  • cover-letter() - Professional cover letter template with recipient information

Multi-language Configuration

The template includes a built-in language configuration system:

#let lang-config = (
  en: (
    education: "Education",
    work: "Work Experience",
    // ... more translations
  ),
  da: (
    education: "Uddannelse",
    work: "Erhvervserfaring",
    // ... more translations
  )
)

Document Types

Resume (Short Format)

  • Concise, 1-2 page format
  • Essential work experience and education
  • Key projects and skills
  • Ideal for job applications

CV (Comprehensive Format)

  • Complete career history
  • All projects and experiences
  • Detailed skills and qualifications
  • Academic and detailed professional use

Cover Letter

  • Personalized business letter format
  • Recipient and company information
  • Professional greeting and closing
  • Customizable for each application
  • Note: Cover letters are compiled locally only and are NOT uploaded via GitHub Actions

Example Templates

The example/ directory contains clean, generic templates perfect for:

Getting Started

  • Fork-friendly templates with placeholder content
  • Clear customization points marked with comments
  • Professional example content demonstrating best practices
  • Multi-language support (English and Danish)

What's Included

  • Complete resume examples (short format)
  • Comprehensive CV examples (detailed format)
  • Cover letter templates with Lorem ipsum content
  • All templates available in both English and Danish

Example Files (example/)

  • Generic templates with placeholder content
  • Educational and demonstration purposes
  • Fork-friendly with no personal information
  • Compiled to example-pdf/ with example commands (just examples, just example-resume-en, etc.)
  • Tracked in git for easy access and demonstration
  • Perfect starting point for new users

Recommended Workflow

  1. Start with examples to understand the system
  2. Copy example templates to personal directories
  3. Customize personal templates with your information
  4. Use personal templates for actual applications
  5. Keep examples for reference and system updates

Customization

Personal Information

Update personal details in each document file:

#let name = "Your Name"
#let location = "Your Location"
#let email = "your.email@domain.com"
// ... etc

Styling

Modify the template call to customize appearance:

#show: resume.with(
  accent-color: "#26428b",     # Change accent color
  font: "Georgia",             # Change font
  paper: "a4",                 # Paper size (a4, us-letter)
  language: "en",              # Language (en, da)
  author-position: center,     # Name alignment
  // ... more options
)

Development

The system is designed to be easily extensible:

  1. Add new languages: Extend lang-config in template.typ
  2. Add new sections: Create new functions following the existing pattern
  3. Modify styling: Update the template styling rules
  4. Add new document types: Create new folders and corresponding justfile commands

Output

Running just all generates these PDFs and organizes them:

GitHub Actions Workflow

The automated workflow compiles and uploads CV and Resume files from the PDF-output/ directory to Cloudflare R2. Cover letters are intentionally excluded from automated uploads to maintain privacy and allow for customization per application.

Content Formatting (v2.0+)

The template now supports Typst formatting (like *bold*, _italic_, etc.) in highlights, honors, courses, and skills!

Credits

  • Based on basic-resume by stufx
  • Inspired by the original cv.typ template
  • Built with Typst - the modern markup and typesetting system

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages