Add separation by experience type

This commit is contained in:
Marty Oehme 2025-01-28 21:06:17 +01:00
parent 484ea7512e
commit a81276f89b
Signed by: Marty
GPG key ID: EDBF2ED917B2EF6A

View file

@ -59,14 +59,16 @@
block(inset: 5%, width: 85%, text(fill:luma(150), body))
}
#let freelance_by_client(experience:()) = {
#let by_client(experience:()) = {
let by_client = (:)
for item in experience {
let client = item.place.at(lang)
if client not in by_client {
by_client.insert(client, ())
}
by_client.at(client).push((item.title.at(lang), item.date.at(lang) ))
by_client.at(client).push( (item.title.at(lang), item.date.at(lang)) )
}
for (client, jobs) in by_client {
@ -77,6 +79,23 @@
}
}
#let by_experience_type(type:(), experience:()) = {
let by_ty = (:)
for (id, desc) in type {
let matching_exp_items = ();
// for item in experience {
// [itemtypeid: #item.typeid, id: #id]
// if item.typeid == id {
// matching_exp_items.push(item)
// }
// }
let matching_exp_items = experience.filter(item =>
int(item.typeid) == int(id))
[=== _#desc.at(lang)_]
by_client(experience: matching_exp_items)
}
}
#let entry(item: ()) = {
if "title" in item {
[*#item.title.at(lang)*]
@ -193,8 +212,7 @@
if "experience" in contents {
let title = sel_word_lang(en:"Professional Experience", de:"Berufserfahrung")
section(title: title)[]
freelance_by_client(experience:contents.experience)
by_experience_type(experience: contents.experience, type: contents.experience_types)
}
if "education" in contents {
@ -229,7 +247,7 @@
for e in contents.volunteering {
[
- *#e.title.at(lang)* (#e.date.at(lang))
#par(e.bullets.at(0).at(lang)) \
#par(e.bullets.at(0).at(lang)) \
]
}
}