Skip to content

YAML Format Overview

A devResume YAML file has three layers:

  1. Top-level metadata — your name, title, contact info, chosen theme and font.
  2. Sections array — the body of the resume, composed of typed section blocks.
  3. Per-section items — the actual entries (jobs, skills, projects, …) inside each section.
name: Jane Developer
title: Senior Engineer
theme: classic-navy
font: inter
contact:
location: Berlin, Germany
sections:
- type: text
title: Summary
content: Backend engineer focused on distributed systems.

This renders a complete (short) resume. Everything below is optional.

FieldTypeRequiredNotes
namestringyesYour full name. Appears in the header.
titlestringnoProfessional title shown below the name.
profile_imagestring (URL)noAvatar image. Supports https:// URLs.
themestringyesFormat template-variant, e.g. classic-navy. See Themes.
fontstringnoFont ID. One of: inter, jetbrains-mono, merriweather, ibm-plex-sans. Defaults to inter.
contactobjectnoSee Contact.
sectionsarrayyesOrdered list of sections. See Section Types.
section_breaksboolnoIf true, sections that overflow a page start a new page instead of splitting.

All fields optional. Omit what you do not want to show.

contact:
phone: +49 151 23456789
location: Berlin, Germany
github: github.com/janedev
linkedin: linkedin.com/in/janedev
xing: xing.com/profile/janedev
website: jane.dev
twitter: janedev

The github, linkedin, xing, and twitter fields accept either a full URL or a handle. The rendered resume picks the right format.

YAML supports comments with #. Use them to temporarily hide content or leave notes:

contact:
# phone: +49 151 23456789 # not public yet
location: Berlin, Germany

Commented lines are invisible in the rendered resume.

If a value starts with a reserved YAML character (-, :, #, [, {), wrap it in quotes:

title: "Data Analyst - EMEA Region"
# vs.
title: Data Analyst # no colon, no quotes needed

Years should be quoted so YAML treats them as strings, not integers:

start: "2022" # string, renders as "2022"
end: "present" # already a string