Compare commits
6 commits
feat/hugo-
...
main
| Author | SHA1 | Date | |
|---|---|---|---|
| ed931f49cc | |||
| 28b9784e36 | |||
|
1d0e8d59c4 |
|||
|
ff9cbb8d8d |
|||
| 76ba862b7c | |||
| 239598dc4e |
14 changed files with 122 additions and 40 deletions
|
|
@ -13,7 +13,7 @@ jobs:
|
|||
build:
|
||||
runs-on: docker
|
||||
container:
|
||||
image: hugomods/hugo:exts-0.158.0
|
||||
image: hugomods/hugo:exts-0.148.1
|
||||
steps:
|
||||
- name: Pipeline info
|
||||
run: |
|
||||
|
|
|
|||
|
|
@ -34,8 +34,6 @@ Please note, that the website should be re-deployed at least daily to update the
|
|||
### Add Pages
|
||||
|
||||
To run a local version, just install HUGO by following the [instructions](https://gohugo.io/installation/) for your operating system.
|
||||
Note that you also need to install the [Dart Sass compiler](https://sass-lang.com/dart-sass/).
|
||||
|
||||
To build the website and run a development webserver, execute:
|
||||
```shell
|
||||
hugo server
|
||||
|
|
|
|||
BIN
content/blog/2026/2026-05-23-nein-zu-olympia/header.png
Normal file
BIN
content/blog/2026/2026-05-23-nein-zu-olympia/header.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 173 KiB |
50
content/blog/2026/2026-05-23-nein-zu-olympia/index.md
Normal file
50
content/blog/2026/2026-05-23-nein-zu-olympia/index.md
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
---
|
||||
categories: article
|
||||
title: 'Der CCCHH sagt NEIN zu Olympia in Hamburg'
|
||||
date: '2026-05-31T23:59:59+02:00'
|
||||
publishDate: '2026-05-23T20:00:00+02:00'
|
||||
draft: false
|
||||
authors:
|
||||
- lilly
|
||||
tags:
|
||||
- überwachung
|
||||
- ki
|
||||
- vorratsdatenspeicherung
|
||||
header:
|
||||
caption: >-
|
||||
Logo des NOLYMPIA Hamburg Bündnisses.
|
||||
Es ist ein schwarzer Schriftzug mit dick gedrucktem NO und anschließendem LYMPIA auf rotem Hintergrund.
|
||||
Das Wort Hamburg ist klein und nach rechts versetzt unter NOLYMPIA zu sehen.
|
||||
image: header.png
|
||||
---
|
||||
|
||||
Der Senat Hamburgs möchte sich gerne mit unserer schönen Stadt als Austragungsort für die olympischen Spiele 2036, 2040 oder 2044 bewerben[^1].
|
||||
Wir teilen die Meinung des Senats und der regierenden Fraktionen nicht, dass olympische Spiele in Hamburg unzählige und eindeutige Vorteile bringen würde. Ganz im Gegenteil!
|
||||
Bei der Austragung der letzten Spiele in Paris und auch davor haben wir gesehen, dass die Stadt zwar in aller Munde kommt, aber die Spiele selbst für die Menschen dort ein riesiger Kostenpunkt und massive Belastung sind[^2][^3].
|
||||
|
||||
Eine konkrete oder belastbare Planung zur Umsetzung der Sicherheit während der Spiele hat die Stadt noch nicht veröffentlicht, aber den bereits durchgesickerten Eckpunkten stehen wir sehr kritisch gegenüber.
|
||||
Das Konzept der Stadt sieht vor, die Spiele in das bestehende Stadtleben zu integrieren[^4].
|
||||
Dies würde bedeuten, dass in diversen Stadtteilen in den Wohnvierteln und Sportstätten vor der Haustür Sicherheitszonen eingerichtet werden.
|
||||
Sicherheitszonen bedeuten den massiven Ausbau von Überwachungskameras, wahrscheinlich mit undurchsichtiger und massenhafter KI-Auswertung jedes öffentlichen Verhaltens <q>integriert</q> in das komplette Stadtleben[^5].
|
||||
|
||||
Wie der Senat die Zugangskontrolle in diesen Sicherheitszonen gestalten will ist auch noch unklar.
|
||||
Ob wir hier eine Einschränkung der Bewegungsfreiheit für Menschen ohne Tickets mitsamt übergriffigen und dauerhaften Polizeikontrollen wie in Paris[^6] zu erwarten haben oder ob es hier eine digitale Version über irgendwelche hastig gebauten Apps erzwungen wird, können wir noch nicht sagen.
|
||||
Keines von beiden ist eine hinnehmbare Option.
|
||||
|
||||
Ein weiterer Punkt für uns als stark queerer Verein, der von einem bunten Miteinander **aller** Arten von Menschen lebt, sind die trans\*- und menschenfeindlichen Vorstellungen des IOC[^7].
|
||||
Das Organisationskommittee steht hier nicht für die moderne pluralistische Gesellschaft, die der Senat uns verkaufen will, sondern für ein rückwärtsgewanntes Weltbild, welches vor der Hetze rechter Mobs kuscht.
|
||||
Damit schadet das IOC nicht nur der queeren Community in Hamburg sondern der Sicherheit und Selbstbestimmung aller Frauen[^8]!
|
||||
|
||||
Long story Short: Es gibt in Hamburg viel Potential und Möglichkeiten für positive Stadtgestaltung.
|
||||
Wir brauchen aber kein Prestigeprojekt Olympia, um eine bessere Realität zu schaffen.
|
||||
|
||||
|
||||
[^1]: https://www.ndr.de/sport/mehr_sport/olympia-referendum-in-hamburg-alle-fragen-und-antworten,olympia-526.html
|
||||
[^2]: https://www.nolympia-hamburg.de/stellungnahme/
|
||||
[^3]: https://www.nolympia-hamburg.de/nolympiahh/wp-content/uploads/2026/01/10-Min-NOlympische-Fakten-Links-und-Quellen-28012026.pdf
|
||||
[^4]: https://www.hamburg-activecity.de/olympia-konzept
|
||||
[^5]: https://taz.de/Ueberwachung-von-Drogenszene/!5933508/
|
||||
[^6]: https://www.zeit.de/digital/datenschutz/2024-07/ki-olympische-spiele-ueberwachung-sicherheit-paris
|
||||
[^7]: https://www.spiegel.de/sport/olympia/ioc-internationales-olympisches-komitee-verlangt-kuenftig-geschlechtertest-von-sportlerinnen-a-81fa279b-1e7f-4d8a-9aa0-f4799a0590d6
|
||||
[^8]: https://www.klassegegenklasse.org/trans-frauen-sind-frauen-egal-was-das-gericht-sagt/
|
||||
|
||||
|
|
@ -0,0 +1,23 @@
|
|||
---
|
||||
categories: event
|
||||
title: 'Kein DIDAY im Juni 2026'
|
||||
date: '2026-06-07T14:00:00+01:00' # date of the event
|
||||
publishDate: '2026-06-01T12:00:00+01:00' # when to publish
|
||||
draft: false
|
||||
location: Z9
|
||||
authors:
|
||||
- June
|
||||
tags:
|
||||
- DID
|
||||
- digitale selbstverteidigung
|
||||
# header:
|
||||
# caption: A caption für the picture will be used as Alt-Text
|
||||
# image: Path to the image
|
||||
---
|
||||
|
||||
Leider können wir im Juni, am 06.07.2026, keinen [Digital Independence Day](https://diday.org) für euch anbieten.
|
||||
|
||||
<!--more-->
|
||||
|
||||
Wir laden euch aber dazu ein, eine der vielzähligen alternativen Veranstaltungen in Hamburg zu besuchen. Was wann wo stattfindet, könnt ihr im [DIDAY Terminkalender](https://events.diday.org) herausfinden.
|
||||
Und selbstverständlich könnt ihr auch die zahlreichen Onlne-Ressourcen rund ums Thema Digital Independence nutzen, um euch selbstständig zu einem neuen Thema zu informieren. Dazu gibt es die [Anleitungen auf diday.org](https://diday.org/de/guides/), die [Wechselrezepte auf di.day](https://di.day/de/wechselrezepte) oder auch die Folien zu unseren vergangen DIDAYs zu den Themen [Messenger](https://hamburg.ccc.de/blog/2026/03/01/diday-messenger-alternativen-zu-whatsapp-und-co./diday_Messenger.pdf) und [Cloud](https://hamburg.ccc.de/blog/2026/05/03/diday-die-eigene-cloud/diday_Die_eigene_Cloud.pdf).
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 1.3 MiB |
BIN
content/home/2-visit/Z9-hauptraum-202512-leinwand.jpeg
Normal file
BIN
content/home/2-visit/Z9-hauptraum-202512-leinwand.jpeg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.2 MiB |
|
|
@ -8,11 +8,11 @@ headless: true
|
|||
Wenn du uns kennenlernen möchtest, komm doch einfach mal zum [Open Chaos](https://wiki.hamburg.ccc.de/club:terminserien:openchaos) vorbei.
|
||||
Gelegentlich bieten wir außerdem Vorträge zu spezifischen Themen an, die hier im [Blog]({{< ref "/blog" >}}) und im Kalender veröffentlichen.
|
||||
|
||||
{{< img-resize "2-visit/Z9-hauptraum-202301-leinwand.jpeg" "300x" "float-right" >}}
|
||||
{{< img-resize "2-visit/Z9-hauptraum-202512-leinwand.jpeg" "400x" "float-right" >}}
|
||||
Wir haben einen großen Raum für Vorträge, Workshops oder gemütliches Hacken an Projekten mit Tischen für ca. 20 Personen, Küche und Sofaecke.
|
||||
{{< clearfix >}}
|
||||
|
||||
{{< img-resize "2-visit/Z9-hauptraum-202301-kueche.jpeg" "300x" "float-right" >}}
|
||||
{{< img-resize "2-visit/Z9-hauptraum-202301-kueche.jpeg" "400x" "float-right" >}}
|
||||
Zusätzlich befinden sich direkt nebenan zwei Werkstatträume zum Löten, 3D-Drucken, Lasercutten, Schreinern, etc.
|
||||
{{< clearfix >}}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
baseURL = 'https://hamburg.ccc.de/'
|
||||
locale = 'de-de'
|
||||
languageCode = 'de-de'
|
||||
defaultContentLanguage = 'de'
|
||||
timeZone = 'Europe/Berlin'
|
||||
title = 'CCC Hansestadt Hamburg e.V.'
|
||||
|
|
|
|||
|
|
@ -1,6 +1,3 @@
|
|||
@use "sass:map";
|
||||
@use "sass:math";
|
||||
|
||||
$roomstate_color_unknown: #dda218;
|
||||
$roomstate_color_open: var(--ins-color);
|
||||
$roomstate_color_closed: var(--del-color);
|
||||
|
|
@ -167,12 +164,7 @@ body>main {
|
|||
margin-bottom: 1rem;
|
||||
}
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6 {
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
margin: 0.5rem 1rem;
|
||||
}
|
||||
|
||||
|
|
@ -210,7 +202,7 @@ body>main {
|
|||
display: block;
|
||||
margin: 0 auto;
|
||||
// (250px - 2*var(--grid-spacing-horizontal)) * 3/4
|
||||
max-height: math.div(222px * 3, 4);
|
||||
max-height: (222px * 3/4);
|
||||
}
|
||||
|
||||
// 2*250px + 2*var(--spacing) + 1px
|
||||
|
|
@ -219,7 +211,7 @@ body>main {
|
|||
|
||||
img.groups-img {
|
||||
// (150px - 2*var(--grid-spacing-horizontal)) * 3/4
|
||||
max-height: math.div(122px*3, 4);
|
||||
max-height: (122px*3/4);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -229,7 +221,7 @@ body>main {
|
|||
|
||||
img.groups-img {
|
||||
// (350px - 2*var(--grid-spacing-horizontal)) * 3/4
|
||||
max-height: math.div(322px*3, 4);
|
||||
max-height: (322px*3/4);
|
||||
}
|
||||
|
||||
// 2*350px + 2*var(--spacing) + 1px
|
||||
|
|
@ -238,7 +230,7 @@ body>main {
|
|||
|
||||
img.groups-img {
|
||||
// (250px - 2*var(--grid-spacing-horizontal)) * 3/4
|
||||
max-height: math.div(222px*3, 4);
|
||||
max-height: (222px*3/4);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -303,7 +295,7 @@ body>main {
|
|||
// When the header content doesn't display nicely anymore, switch to mobile mode.
|
||||
@import "../pico-1.5.11/scss/variables";
|
||||
|
||||
@media (max-width: map.get($breakpoints, md)) {
|
||||
@media (max-width: map-get($breakpoints, md)) {
|
||||
.hamburger-button {
|
||||
display: unset;
|
||||
position: absolute;
|
||||
|
|
@ -383,15 +375,15 @@ body>main {
|
|||
}
|
||||
|
||||
// Use the media queries, which we need, from here:
|
||||
@if map.get($breakpoints, "sm") {
|
||||
@media (min-width: map.get($breakpoints, "sm")) {
|
||||
@if map-get($breakpoints, "sm") {
|
||||
@media (min-width: map-get($breakpoints, "sm")) {
|
||||
ul {
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
}
|
||||
|
||||
.main-nav {
|
||||
max-width: map.get($viewports, "sm");
|
||||
max-width: map-get($viewports, "sm");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -462,12 +454,17 @@ div.nav-aside {
|
|||
margin: 15px var(--block-spacing-horizontal);
|
||||
}
|
||||
|
||||
.image-container {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
|
||||
img {
|
||||
padding: 15px var(--block-spacing-horizontal);
|
||||
width: 100%;
|
||||
height: 25cqw;
|
||||
object-fit: cover;
|
||||
object-position: top;
|
||||
max-width: 100%;
|
||||
max-height: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
{{- /* Deprecate site.Author.email in favor of site.Params.author.email */}}
|
||||
{{- $authorEmail := "" }}
|
||||
{{- with site.Params.author }}
|
||||
{{- if reflect.IsMap . }}
|
||||
|
|
@ -5,8 +6,14 @@
|
|||
{{- $authorEmail = . }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- else }}
|
||||
{{- with site.Author.email }}
|
||||
{{- $authorEmail = . }}
|
||||
{{- warnf "The author key in site configuration is deprecated. Use params.author.email instead." }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- /* Deprecate site.Author.name in favor of site.Params.author.name */}}
|
||||
{{- $authorName := "" }}
|
||||
{{- with site.Params.author }}
|
||||
{{- if reflect.IsMap . }}
|
||||
|
|
@ -16,6 +23,11 @@
|
|||
{{- else }}
|
||||
{{- $authorName = . }}
|
||||
{{- end }}
|
||||
{{- else }}
|
||||
{{- with site.Author.name }}
|
||||
{{- $authorName = . }}
|
||||
{{- warnf "The author key in site configuration is deprecated. Use params.author.name instead." }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- $pctx := . }}
|
||||
|
|
@ -36,12 +48,12 @@
|
|||
<title>{{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{ . }} on {{ end }}{{ .Site.Title }}{{ end }}</title>
|
||||
<link>{{ .Permalink }}</link>
|
||||
<description>Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{ . }} {{ end }}{{ end }}on {{ .Site.Title }}</description>
|
||||
<generator>Hugo</generator>
|
||||
<language>{{ site.Language.Locale }}</language>{{ with $authorEmail }}
|
||||
<generator>Hugo -- gohugo.io</generator>
|
||||
{{ with $authorEmail }}
|
||||
<managingEditor>{{.}}{{ with $authorName }} ({{ . }}){{ end }}</managingEditor>{{ end }}{{ with $authorEmail }}
|
||||
<webMaster>{{ . }}{{ with $authorName }} ({{ . }}){{ end }}</webMaster>{{ end }}{{ with .Site.Copyright }}
|
||||
<copyright>{{ . }}</copyright>{{ end }}{{ if not .Date.IsZero }}
|
||||
<lastBuildDate>{{ (index $pages.ByLastmod.Reverse 0).Lastmod.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }}
|
||||
<lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }}
|
||||
{{- with .OutputFormats.Get "RSS" }}
|
||||
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
|
||||
{{- end }}
|
||||
|
|
@ -57,7 +69,7 @@
|
|||
<pubDate>{{ .PublishDate.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
|
||||
{{- with $authorEmail }}<author>{{ . }}{{ with $authorName }} ({{ . }}){{ end }}</author>{{ end }}
|
||||
<guid>{{ .Permalink }}</guid>
|
||||
<description>{{ .Content | transform.XMLEscape | safeHTML }}</description>
|
||||
<description>{{ .Content | html }}</description>
|
||||
</item>
|
||||
{{- end }}
|
||||
</channel>
|
||||
|
|
|
|||
|
|
@ -46,8 +46,10 @@
|
|||
{{- end }}
|
||||
</div>
|
||||
{{- if isset .Params "header" }}
|
||||
<div class="image-container">
|
||||
{{- $img := .Resources.GetMatch .Params.header.image }}
|
||||
<img class="container" src="{{ $img.RelPermalink }}" alt="{{ .Params.header.caption }}" />
|
||||
<img src="{{ $img.RelPermalink }}" alt="{{ .Params.header.caption }}" />
|
||||
{{- end }}
|
||||
</div>
|
||||
</header>
|
||||
{{- end }}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
{{- $cssOptionsMain := dict "transpiler" "dartsass" "targetPath" "css/style.css" -}}
|
||||
{{- $cssOptionsPico := dict "transpiler" "dartsass" "targetPath" "css/pico.css" -}}
|
||||
{{- $cssOptionsMain := dict "transpiler" "libsass" "targetPath" "css/style.css" -}}
|
||||
{{- $cssOptionsPico := dict "transpiler" "libsass" "targetPath" "css/pico.css" -}}
|
||||
{{- $jsResources := resources.Match "js/*.js" }}
|
||||
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
{{- index hugo.Data "calendar.json" }}
|
||||
{{- index .Site.Data "calendar.json" }}
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
|
|
@ -8,7 +8,7 @@
|
|||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{- range first 7 (sort hugo.Data.calendar "dtstart" ) }}
|
||||
{{- range first 7 (sort $.Site.Data.calendar "dtstart" ) }}
|
||||
{{- if eq ._type "vevent"}}
|
||||
<tr>
|
||||
{{- $start := time .dtstart }}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue