feat: write template
This commit is contained in:
commit
a0a6d2cf84
98 files changed
+6609
No files matched your search
+124
@@ -0,0 +1,124 @@
|
||||
#import "./persons.typ"
|
||||
#import "../pallete.typ": palette
|
||||
// helpers for title
|
||||
#let getWhere(person) = {
|
||||
let function = person.function
|
||||
if function == "Validierungsexperte" {
|
||||
return "In der Genehmigung"
|
||||
}
|
||||
if function == "Hauptexperte" or function == "Nebenexperte" or function == "Verantwortliche Fachkraft" {
|
||||
return "In der Durchführung"
|
||||
}
|
||||
if function == "Berufsbildner" {
|
||||
return "Zur Information, Kenntnis"
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
#let beteiligtePersonen() = {
|
||||
return (
|
||||
persons.byFunction("Validierungsexperte"),
|
||||
persons.byFunction("Hauptexperte"),
|
||||
persons.byFunction("Nebenexperte"),
|
||||
persons.byFunction("Verantwortliche Fachkraft"),
|
||||
persons.byFunction("Berufsbildner"),
|
||||
)
|
||||
}
|
||||
#let title(
|
||||
title: content,
|
||||
author: content,
|
||||
company: content,
|
||||
departement: content,
|
||||
tradeschool: "Gewerblich-industrielle Berufsschule Bern GIBB",
|
||||
metadata: (
|
||||
specialisation: "Applikationsentwicklung",
|
||||
managementMethod: "HERMES",
|
||||
// year as in "Jahrgang"
|
||||
year: "IPA 2025",
|
||||
place: "Kanton Bern",
|
||||
dateOfSubmission: datetime,
|
||||
currentversion: version,
|
||||
),
|
||||
) = {
|
||||
// set text(font: "Helvetica Neue")
|
||||
|
||||
place(
|
||||
top + left,
|
||||
image("../assets/Logo_RGB_farbig_positiv.svg", height: 2cm),
|
||||
)
|
||||
place(
|
||||
top + right,
|
||||
[
|
||||
#set text(size: 8pt, font: "Helvetica Neue")
|
||||
#v(4pt)
|
||||
Eidgenössisches Finanzdepartement EFD
|
||||
|
||||
*#company* \
|
||||
#departement \
|
||||
Individuelle praktische Arbeit
|
||||
],
|
||||
)
|
||||
|
||||
v(4cm)
|
||||
|
||||
text(
|
||||
size: 21pt,
|
||||
font: "Helvetica Neue",
|
||||
fill: palette.secondary.at("500"),
|
||||
title,
|
||||
)
|
||||
|
||||
align(
|
||||
right,
|
||||
text(
|
||||
size: 17pt,
|
||||
font: "Helvetica Neue",
|
||||
fill: gray,
|
||||
[
|
||||
Individuelle praktische Arbeit \
|
||||
#author
|
||||
],
|
||||
),
|
||||
)
|
||||
|
||||
set table(stroke: 0.1pt + palette.ui.border)
|
||||
|
||||
v(.5cm)
|
||||
[
|
||||
#set text(font: "Helvetica Neue")
|
||||
#table(
|
||||
columns: (.5fr, 1fr),
|
||||
inset: 8pt,
|
||||
align: horizon,
|
||||
[*Autor*], author,
|
||||
[*Firma*], company,
|
||||
[*Abteilung*], departement,
|
||||
[*Berufsschule*], [gibb Berufsfachschule Bern],
|
||||
)
|
||||
|
||||
#heading(level: 3, [Beteiligte Personen], outlined: false)
|
||||
|
||||
#context table(
|
||||
columns: (.5fr, .5fr, .5fr),
|
||||
inset: 8pt,
|
||||
..beteiligtePersonen()
|
||||
.map(p => (
|
||||
par([*#p.at("function-name", default: p.function)*], justify: false),
|
||||
link("mailto:" + p.email)[#p.name],
|
||||
context getWhere(p),
|
||||
))
|
||||
.flatten()
|
||||
)
|
||||
|
||||
#table(
|
||||
columns: (.5fr, 1fr),
|
||||
inset: 8pt,
|
||||
align: horizon,
|
||||
[*Fachrichtung*], [#metadata.specialisation],
|
||||
[*Projektvorgehensmodell*], [#metadata.managementMethod],
|
||||
[*Jahrgang, Kanton*], [#metadata.dateOfSubmission.year(), #metadata.place],
|
||||
[*Abgabedatum*], metadata.dateOfSubmission.display("[day].[month].[year]"),
|
||||
[*Version*], [Version v#metadata.currentversion],
|
||||
)
|
||||
]
|
||||
}
|
||||
Reference in new issue
Block a user