From e8d9f678c2ce953f1acd6d16b91307d1d9ff43e9 Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Mon, 15 Sep 2025 10:19:49 +0200 Subject: [PATCH] feat(resume): Allow toggling longform for main body contents --- lib/lib.typ | 4 ++-- lib/resume.typ | 21 ++++++++++++--------- resume.typ | 2 +- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/lib/lib.typ b/lib/lib.typ index 661248d..4eea33b 100644 --- a/lib/lib.typ +++ b/lib/lib.typ @@ -131,11 +131,11 @@ horizon_line() }; -#let section(title: "Section", entries: (), body) = { +#let section(title: "Section", entries: (), longform: true, body) = { section_header(title) if body == none or body == [] { for e in entries { - entry(item: e) + entry(item: e, show_sublists: longform) } } else { body diff --git a/lib/resume.typ b/lib/resume.typ index 3870bef..2a7a087 100644 --- a/lib/resume.typ +++ b/lib/resume.typ @@ -1,7 +1,7 @@ #import "lib.typ": * #import "wrapit.typ": * -#let create_body(main: (), contents: (:)) = { +#let create_body(main: (), contents: (:), longform: true) = { for item in main { if item == "summary" and "summary" in contents { section( @@ -9,36 +9,37 @@ { contents.summary.at(lang) }, + longform: longform ) } if item == "experience_by_type" and "experience" in contents { let title = (en: "Professional Experience", de: "Berufserfahrung").at(lang) - section(title: title)[] + section(title: title, longform: longform)[] by_experience_type(experience: contents.experience, type: contents.experience_types) } if item == "experience_by_client" and "experience" in contents { let title = (en: "Professional Experience", de: "Berufserfahrung").at(lang) - section(title: title)[] + section(title: title, longform: longform)[] by_client(experience: contents.experience) } if item == "experience" and "experience" in contents { let title = (en: "Professional Experience", de: "Berufserfahrung").at(lang) - section(title: title, entries: contents.experience)[] + section(title: title, entries: contents.experience, longform: longform)[] } if item == "education" and "education" in contents { let title = (en: "Education", de: "Ausbildung").at(lang) - section(title: title, entries: contents.thesis + contents.education)[] + section(title: title, entries: contents.thesis + contents.education, longform: longform)[] } if item == "volunteering" and "volunteering" in contents { let title = (en: "Volunteer Work", de: "Ehrenamt").at(lang) - section(title: title, entries: contents.volunteering)[] + section(title: title, entries: contents.volunteering, longform: longform)[] } if item == "digital" and "digital" in contents { let title = (en: "Digital Organization", de: "Digitales Schaffen").at(lang) - section(title: title, entries: contents.digital)[] + section(title: title, entries: contents.digital, longform: longform)[] } if item == "skills" and "skills" in contents { @@ -48,6 +49,7 @@ { sidebar_entry(item: contents.skills) }, + longform: longform ) } @@ -58,6 +60,7 @@ { sidebar_entry(item: contents.languages) }, + longform: longform ) } } @@ -91,7 +94,7 @@ } } -#let resume(contents, main: ("experience_by_type", "education"), sidebar: ("volunteering", "languages", "skills")) = { +#let resume(contents, main: ("experience_by_type", "education"), sidebar: ("volunteering", "languages", "skills"), longform:true) = { show: style set text(lang: lang) @@ -158,7 +161,7 @@ } else { [] } wrap-content( sb, - create_body(main: main, contents: contents), + create_body(main: main, contents: contents, longform: longform), align: top + right, columns: (auto, 30%), ) diff --git a/resume.typ b/resume.typ index f94862c..66ed9e5 100644 --- a/resume.typ +++ b/resume.typ @@ -1,3 +1,3 @@ #import "lib/resume.typ": resume -#resume.with()(yaml("content.yml")) +#resume.with(longform: false)(yaml("content.yml"))