Kloinforz/2025_07_24/template.typ

63 lines
No EOL
1.9 KiB
Typst

#import "@preview/datify:0.1.4": day-name, month-name, custom-date-format
#let template(
title: none,
number: none,
date: none,
draft: true,
doc
) = {
set page(
header: [
#table(columns: (1fr, 1fr), stroke: none, gutter:0%, [
#text(title, size: 35pt, font: "Inter", weight: "bold")\
#context if counter(page).get().at(0) == 1 [
Ausgabe #number (vom #custom-date-format(date, "DD. Month YYYY", "de"))
] else [
Issue #number (from #custom-date-format(date, "Month DD, YYYY", "en"))
]
],
table.cell(align: right)[#image("logos/d120-breit-bunt-hell-pfad.svg", width: 63%)]
)
#line(length: 100%)
],
header-ascent: 0.5em,
footer-descent: 0em,
margin: (x: 1em, top: 8em, bottom: 6em),
footer: [
#line(length: 100%)
#par(justify: true)[
#context if counter(page).get().at(0) == 1 [
Hast du Vorschläge fürs nächste Kloinforz oder willst mitmachen? Mail an inforz\@d120.de. #linebreak(justify: true)
] else [
Questions? Recommendations for next issue? Want to participate? Mail inforz\@d120.de. #linebreak(justify: true)
]
Fachschaft Informatik -- S2|02 D120 -- Hochschulstr. 10 -- 64289 Darmstadt -- fs\@d120.de
#linebreak(justify: true)
d120.de/social-media #h(1fr) vim > emacs; typst > latex #h(1fr) :wq
]
],
background: if draft {
rotate(24deg,
text(112pt, fill: rgb("FFCBC4"))[
*DRAFT*
]
)
},
columns: 2,
)
set text(font: "Inter")
let colors = (rgb("2cdd6aff"), rgb("6bd7d5ff"), rgb("ba2adfff"), rgb("e9407aff"), rgb("fabd41ff"))
set heading(numbering: "1")
show heading: it => {
set text(size: 15.4pt, weight: "bold")
let c = counter(heading).get().at(0)
block(width: 100%, fill: colors.at(calc.rem(c - 1, colors.len())), inset: 2mm)[
#it.body
]
}
doc
}