kronos/src/typst/event.typ

76 lines
1.5 KiB
Typst
Raw Normal View History

2026-04-27 22:20:49 +02:00
#import "@preview/bulb:0.1.0": dither
#set page(
width: 297mm,
height: 169mm,
background: context {
place(center + horizon, {
image("assets/event.svg")
})
},
margin: (top: 0cm, bottom: .5cm, x: .5cm),
)
#let make_event_card(title, description, date, address, picture, name) = {
move(
dx: 148mm,
dy: 23mm,
image(
dither(
read("assets/photo.jpg", encoding: none),
mode: "bw",
method: "bayer8x8",
size: 360,
),
),
)
place(
top+left,
dx: 94mm,
dy: -4mm,
image("assets/hs3_logo_hires.png", height: 38mm, width: 38mm),
)
set text(font: ("Hanken Grotesk"), size: 14pt)
place(
top+left,
dx: 12mm,
dy: 30mm,
block(
width: 118mm,
height: 130mm,
grid(
rows: (2fr, 6fr, 0.75fr, 0.5fr),
text(size: 28pt, weight: "bold", title),
text(size: 10pt, description),
text(
size: 24pt,
weight: "bold",
grid(
columns: (1fr, 1fr),
date.split(" ").at(0),
align(right)[#date.split(" ").at(1)]
),
),
address,
)
)
)
align(right+bottom)[#text(size: 14pt, weight: "bold", name)]
}
#let events = json("content/events.json")
#let index = 0
#for event in events {
make_event_card(event.title, event.txt_description, event.txt_date, "Gdańsk, al. Wojska Polskiego 41", "", "Joanna Roscoe")
index = index + 1
if index < events.len() {
pagebreak()
}
}