Merge pull request 'staging' (#43) from staging into production

Reviewed-on: cccb-website-team/www#43
This commit is contained in:
hauke 2026-07-04 22:27:08 +02:00
commit 11893e9cb1
8 changed files with 70 additions and 45 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View file

@ -0,0 +1,58 @@
---
title: "Berlin #DIDit"
date: 2026-06-18T12:00:00+01:00
showHero: false
tags: ["di.day", "Ankündigung"]
---
{{< figure
src="di_day_logo.png"
title="DIDay"
alt="DIDay"
>}}
<!-- <img src="di_day_logo.png" alt="di.day Logo" height="50%"> -->
### Was?
Am Sonntag, dem 5. Juli, öffnet der Chaos Computer Club Berlin e.V. wieder seine Türen zum DID.
Zusammen mit dem [xHain hack+makespace](https://x-hain.de/) unterstützen wir auf dem Weg in die digitale Unabhängigkeit.
Gemeinsam arbeiten wir daran, unsere digitale Souveränität zurückzugewinnen.
Statt Abhängigkeiten von großen Plattformen setzen wir auf offene Alternativen und selbstbestimmte digitale Werkzeuge.
So holen wir uns Schritt für Schritt die Kontrolle über unser digitales Leben zurück und beschreiten den Weg zur digitalen Unabhängigkeit.
Ob du jetzt
- von WhatsApp zu einer datenschutzfreundlichen Alternative wechseln möchtest,
- dein Smartphone gerne ohne Google oder Apple betreiben willst,
- oder auf deinem Notebook lieber Linux anstelle von Windows benutzen würdest,
wir helfen euch dabei gerne. Bringt gerne auch eure Geräte dafür mit.
Natürlich kannst du auch einfach nur so vorbeikommen und uns Fragen stellen.
### Wo?
**Marienstraße 11, 10117 Berlin**
### Wann?
**Sonntag, 5. Juli 2026** \
**12:00 bis 16:00 Uhr**
Schaut aber auch gerne bei der
[Veranstaltung](tbd)
von [Digital-Zebra](https://termine.di.day/organisation/digitalzebra) und
der [c-base](https://termine.di.day/organisation/cbase) vorbei.
**Gemeinsam mehr erreichen** \
Diese Veranstaltung ist Teil eines Netzwerks aus mehreren Organisationen und Initiativen in Berlin.
Wir unterstützen uns gegenseitig mit Kompetenz, Erfahrung und praktischer Hilfe.
Uns alle eint der Wunsch, Wissen zu teilen, voneinander zu lernen und solidarisch zusammenzuarbeiten.
Der DI.Day bildet dabei den gemeinsamen Rahmen,
in dem wir uns für digitale Selbstbestimmung und nachhaltige digitale Strukturen einsetzen.
Schau deshalb gern auch bei den Veranstaltungen der anderen beteiligten Organisationen vorbei.
So entsteht ein vielfältiges Angebot, das Austausch, Vernetzung und gegenseitige Unterstützung lebendig macht.

View file

@ -17,4 +17,4 @@ Der CCCB und das xHain beteiligen sich gemeinsam an der internationalen [Digital
Vor Ort gibt es praktische Hilfe beim Wechsel zu datenschutzfreundlichen Diensten, beim Einrichten von Linux oder beim Betrieb von Smartphones ohne große Tech-Konzerne. Egal ob Anfänger:in oder Fortgeschrittene:r. Kommt vorbei und bringt eure Geräte und Fragen mit.
Weitere Informationen gibt es im [Ankündigungsbeitrag](https://berlin.ccc.de/post/2026/02/22/berlin-%23didit/).
Weitere Informationen gibt es im [Ankündigungsbeitrag](https://berlin.ccc.de/post/2026/07/05/berlin-%23didit/).

View file

@ -1 +0,0 @@
{{ block "main" . }}{{ .Content }}{{ end }}

View file

@ -1,21 +0,0 @@
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//CCCB//Calendar//DE
{{ with .Title }}
X-WR-CALNAME:{{ . }}
{{ end }}
CALSCALE:GREGORIAN
METHOD:PUBLISH
{{ range .Pages }}
{{ if .Date }}
BEGIN:VEVENT
UID:{{ .File.UniqueID }}@berlin.ccc.de
DTSTAMP:{{ .Date.Format "20060102T150405Z" }}
DTSTART:{{ .Date.Format "20060102T150405Z" }}
SUMMARY:{{ .Title }}
DESCRIPTION:{{ .Summary | plainify }}
URL:{{ .Permalink }}
END:VEVENT
{{ end }}
{{ end }}
END:VCALENDAR

View file

@ -1,21 +0,0 @@
BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//CCCB//Calendar//DE
{{ with .Title }}
X-WR-CALNAME:{{ . }}
{{ end }}
CALSCALE:GREGORIAN
METHOD:PUBLISH
{{ if .Date }}
BEGIN:VEVENT
UID:{{ .File.UniqueID }}@berlin.ccc.de
DTSTAMP:{{ .Date.Format "20060102T150405Z" }}
DTSTART:{{ .Date.Format "20060102T150405Z" }}
{{ with .Params.event.end }}DTEND:{{ dateFormat "20060102T150405Z" . }}{{ end }}
SUMMARY:{{ .Title }}
DESCRIPTION:{{ .Summary | plainify }}
URL:{{ .Permalink }}
{{ with .Params.location }}LOCATION:{{ . }}{{ end }}
END:VEVENT
{{ end }}
END:VCALENDAR

View file

@ -3,13 +3,23 @@
import sys
import logging
import locale
from dateutil.parser import parse
from dateutil.parser import parse as _parse
from datetime import datetime, timedelta
from dateutil.rrule import rruleset, rrulestr
import icalendar
def parse(value):
# Some templates emit DTSTART with a trailing "Z" (e.g. 20260507T190000Z)
# which produces tz-aware datetimes, while others emit naive local times.
# Normalize to naive so comparisons and sorting don't mix the two.
dt = _parse(value)
if dt.tzinfo is not None:
dt = dt.replace(tzinfo=None)
return dt
def vevent_to_event(event, rrstart=None):
if rrstart == None:
begin = parse(event["DTSTART"].to_ical())