Bauke/cv
Bauke
/
cv
1
Fork 0

Add the personal projects section.

This commit is contained in:
Bauke 2024-01-16 17:51:57 +01:00
parent e50b6e70b7
commit 4ec59a1414
Signed by: Bauke
GPG Key ID: C1C0F29952BCF558
1 changed files with 41 additions and 0 deletions

View File

@ -0,0 +1,41 @@
#import "../utilities/icon-with-text.typ": icon_with_text
#import "../utilities/localize.typ": localize
#let personal_project(data, language) = {
let personal_project_name = localize(data, "name", language)
let personal_project_heading = heading(level: 3, link(data.link, personal_project_name));
let personal_project_header = if "header_image" in data {
icon_with_text(
clip_icon: true,
icon: "../" + data.header_image,
icon_alt_text: personal_project_name,
icon_size: 1.4em,
personal_project_heading,
)
} else {
personal_project_heading
}
// Use a grid to space out the header and the body.
grid(
gutter: 0.5em,
// Use another grid to position the title and date.
grid(
columns: (1fr, auto),
personal_project_header,
align(horizon, text(size: 0.9em, localize(data, "date", language))),
),
// The body can contain Typst code so we use `eval()` to render it.
eval(localize(data, "body", language)),
)
}
#let personal_projects_section(data, language) = [
== #localize(data.locale, "personal_projects", language)
#for data in data.personal_projects {
personal_project(data, language)
}
]