add slides, some images, some texts for post hamburg-2026 event
All checks were successful
/ build (pull_request) Successful in 55s

This commit is contained in:
lilly 2026-10-14 16:49:37 +02:00
commit bdfd46e01e
Signed by: lilly
SSH key fingerprint: SHA256:y9T5GFw2A20WVklhetIxG1+kcg/Ce0shnQmbu1LQ37g
9 changed files with 55279 additions and 31 deletions

File diff suppressed because it is too large Load diff

Binary file not shown.

After

Width:  |  Height:  |  Size: 292 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 169 KiB

View file

@ -8,6 +8,8 @@ import {readFile} from "node:fs/promises"
import {getPlaiceholder} from "plaiceholder" import {getPlaiceholder} from "plaiceholder"
import traumweh_1 from "../../../assets/media/hamburg/2026/traumweh_1.png" import traumweh_1 from "../../../assets/media/hamburg/2026/traumweh_1.png"
import max_1 from "../../../assets/media/hamburg/2026/max_1.jpg"
import max_2 from "../../../assets/media/hamburg/2026/max_2.jpg"
type Image = { type Image = {
image: any, image: any,
@ -22,25 +24,15 @@ const images_raw: Record<string, Image> = {
alt: "Ein Foto der Veranstaltung. Eine Speakerin steht auf einer Bühe. Auf einer Leinwand ist eine Präsentation zu sehen. Auf Bannern steht DIDAYS 2026 Hamburg.", alt: "Ein Foto der Veranstaltung. Eine Speakerin steht auf einer Bühe. Auf einer Leinwand ist eine Präsentation zu sehen. Auf Bannern steht DIDAYS 2026 Hamburg.",
attribution: "CC-4.0 BY-SA traumweh", attribution: "CC-4.0 BY-SA traumweh",
}, },
traumweh_2: { max_1: {
image: traumweh_1, image: max_1,
alt: "Ein Foto der Veranstaltung. Eine Speakerin steht auf einer Bühe. Auf einer Leinwand ist eine Präsentation zu sehen. Auf Bannern steht DIDAYS 2026 Hamburg.", alt: "Ein Foto der einer leeren, bunt erleuchteten Bühnenszene. Auf der Leinwand auf der Bühne ist unscharf ein Programmablauf des Tages zu sehen. Diverse Banner zeigen den Schriftzug DIDAYs 2026.",
attribution: "CC-4.0 BY-SA traumweh", attribution: "CC-4.0 BY-SA max",
}, },
traumweh_3: { max_2: {
image: traumweh_1, image: max_2,
alt: "Ein Foto der Veranstaltung. Eine Speakerin steht auf einer Bühe. Auf einer Leinwand ist eine Präsentation zu sehen. Auf Bannern steht DIDAYS 2026 Hamburg.", alt: "Ein Foto einer Speakerin auf einer Bühne. Hinter ihr ist eine Leinwand auf der auf gelber Folie der eine Definition für Hacking steht. Dies sei 'atypisches Benutzerverhalten' laut der Deutschen Bundespost.",
attribution: "CC-4.0 BY-SA traumweh", attribution: "CC-4.0 BY-SA max",
},
traumweh_4: {
image: traumweh_1,
alt: "Ein Foto der Veranstaltung. Eine Speakerin steht auf einer Bühe. Auf einer Leinwand ist eine Präsentation zu sehen. Auf Bannern steht DIDAYS 2026 Hamburg.",
attribution: "CC-4.0 BY-SA traumweh",
},
traumweh_5: {
image: traumweh_1,
alt: "Ein Foto der Veranstaltung. Eine Speakerin steht auf einer Bühe. Auf einer Leinwand ist eine Präsentation zu sehen. Auf Bannern steht DIDAYS 2026 Hamburg.",
attribution: "CC-4.0 BY-SA traumweh",
}, },
} }
@ -66,24 +58,38 @@ for (const image_name in images_raw) {
images[image_name] = image images[image_name] = image
} }
const impressions = ["traumweh_1", "traumweh_2", "traumweh_3", "traumweh_4", "traumweh_5"] const impressions = ["traumweh_1", "max_1", "max_2"]
const slides = [ const slides = [
{ {
name: "Vortragstitel", name: "Ziemlich gute Privatsphäre",
path: "/hamburg/2026/slides/vortrag.pdf", author: "anna elbe",
path: "/hamburg/2026/slides/anna elbe - Ziemlich gute Privatsphäre.pdf",
}, },
{ {
name: "Vortragstitel", name: "Datenschutz für Betroffene.pdf",
path: "/hamburg/2026/slides/vortrag.pdf", author: "CCCHH",
path: "/hamburg/2026/slides/CCCHH - Datenschutz für Betroffene.pdf",
}, },
{ {
name: "Vortragstitel", name: "Nutze deinen Computer mit Linux",
path: "/hamburg/2026/slides/vortrag.pdf", author: "Endof10",
path: "/hamburg/2026/slides/Endof10 - Nutze deinen Computer mit Linux.pdf",
}, },
{ {
name: "Vortragstitel", name: "Einfach, sicher und verantwortungsvoll digital unterwegs",
path: "/hamburg/2026/slides/vortrag.pdf", author: "Omas gegen Rechts",
path: "/hamburg/2026/slides/Omas gegen Rechts - Einfach, sicher und verantwortungsvoll digital unterwegs.pdf",
},
{
name: "OpenStreetMap",
author: "OpenStreetMap",
path: "/hamburg/2026/slides/OpenStreetMap - OpenStreetMap.pdf",
},
{
name: "Repair Café Eidelstedt Flyer",
author: "Repair Café Eidelstedt",
path: "/hamburg/2026/slides/Repair Cafe Eidelstedt - Flyer.pdf",
}, },
] ]
--- ---
@ -99,9 +105,13 @@ const slides = [
</div> </div>
<div class="bg-base-200 pt-8 pb-16"> <div class="bg-base-200 pt-8 pb-16">
<div class="container p-8 max-w-5xl mx-auto flex flex-col md:flex-row gap-10 items-center md:items-start"> <div class="container p-8 max-w-5xl mx-auto flex flex-col gap-10 items-center md:items-start">
<p class="text-xl/8 text-center"> <p class="text-xl/8 text-center">
[Platzhaltertext Rückblick Event] Die ersten DIDAYs fanden 2026 das erste Mal mit reger Beteiligung diverser Hamburger Gruppen in Harburg statt.
Dort haben wir ausgiebig über Passwort-Manager, sichere Messenger, Verantwortung im digitalen Raum, Medienkompetenz, Linux und vieles Mehr diskutiert und Erfahrungen ausgetauscht.
</p>
<p class="text-xl/8 text-center">
Wir bedanken uns bei <a href="/hamburg/2026/wer" class="font-bold link">allen Partnern</a>, die sich mit Vorträgen, Workshops, Organisation und einer bunten Sammlung kleiner Stände eingebracht haben!
</p> </p>
</div> </div>
</div> </div>
@ -220,10 +230,10 @@ const slides = [
<div class="mask-[url(/transitions/small.svg)] bg-base-200 h-10 mask-repeat-x mask-[auto_100%]"/> <div class="mask-[url(/transitions/small.svg)] bg-base-200 h-10 mask-repeat-x mask-[auto_100%]"/>
<div class="container p-8 max-w-4xl mx-auto"> <div class="container p-8 max-w-4xl mx-auto">
<h2 class="text-4xl font-semibold mb-8"> <h2 class="text-4xl font-semibold mb-8">
[Platzhaltertitel Vortragsfolien] Vortragsfolien
</h2> </h2>
<p> <p>
[Platzhaltertext Inhalt] Hier findet ihr einige der Folien zu den bei uns gehaltenen Vorträgen einfach zum Download.
</p> </p>
<div class="grid grid-cols-1 md:grid-cols-2 gap-4 w-full py-6"> <div class="grid grid-cols-1 md:grid-cols-2 gap-4 w-full py-6">
{slides.map(slide => {slides.map(slide =>
@ -231,6 +241,7 @@ const slides = [
class="card shrink-0 bg-base-100 card-md shadow-lg border-base-200 border-2"> class="card shrink-0 bg-base-100 card-md shadow-lg border-base-200 border-2">
<div class="card-body"> <div class="card-body">
<h2 class="card-title">{slide.name}</h2> <h2 class="card-title">{slide.name}</h2>
<p>von {slide.author}</p>
<div class="justify-end card-actions"> <div class="justify-end card-actions">
<button class="btn btn-base-200"> <button class="btn btn-base-200">
<File/> <File/>