72 lines
1.3 KiB
Plaintext
72 lines
1.3 KiB
Plaintext
#let language = "en"
|
|
|
|
#let cvdata = (
|
|
personal: yaml("data/en/personal.yaml"),
|
|
experience: yaml("data/en/experience.yaml"),
|
|
education: yaml("data/en/education.yaml")
|
|
// skills: yaml("data/en/skills.yaml")
|
|
)
|
|
|
|
|
|
#let w = cvdata.experience
|
|
|
|
#let getWithLang(lang, data) = {
|
|
if type(data) == dictionary {
|
|
data.at(lang)
|
|
} else {
|
|
data
|
|
}
|
|
}
|
|
|
|
#(regex("\d{4}-\d{2}-\d{2}") in "2023-04-12")
|
|
|
|
#let myarr = (2, 1, 3, 4,)
|
|
|
|
// #myarr.sorted(key: a => getWithLang(a.gt))
|
|
|
|
|
|
#let filterLanguage(lang, data) = {
|
|
if type(data) == dictionary {
|
|
if data.at(lang, default: none) == none {
|
|
data = data
|
|
.pairs()
|
|
.map(xs => (xs.first(), filterLanguage(lang, xs.last())))
|
|
.fold((:), (acc, xs) => {
|
|
acc.insert(xs.first(), xs.last())
|
|
acc
|
|
})
|
|
}
|
|
else {
|
|
data = filterLanguage(lang, data.at(lang))
|
|
}
|
|
} else if type(data) == array {
|
|
data = data.map(v => filterLanguage(lang, v))
|
|
}
|
|
|
|
data
|
|
}
|
|
|
|
#filterLanguage("fr", cvdata)
|
|
|
|
|
|
#let dict = (
|
|
name: "myName",
|
|
address: "myAddress"
|
|
)
|
|
|
|
#let a = (a: 1, b: 2)
|
|
|
|
#let f(data) = {
|
|
data
|
|
.pairs()
|
|
.map(xs => (xs.first(), xs.last()))
|
|
.fold((:), (acc, xs) => {
|
|
acc.insert(xs.first(), xs.last())
|
|
acc
|
|
})
|
|
}
|
|
|
|
#f(dict)
|
|
|
|
#let a = (:)
|
|
#type(a) |