Commit graph

568 commits

Author SHA1 Message Date
79baad5918 Update Blowfish to v2.106.0
The theme was pinned at v2.86.0, which declares that it works with Hugo 0.137.0
to 0.147.5. Hugo has been 0.165.0 here and 0.163.3 in the pinned nixpkgs branch
for a while, so every build complained:

  WARN  Module "blowfish" is not compatible with this Hugo version: 0.87.0/0.147.5
  WARN  deprecated: .Site.LanguageCode was deprecated in Hugo v0.158.0
  WARN  deprecated: .Site.Data was deprecated in Hugo v0.156.0

The two deprecated calls were in the templates of the theme, in head.html,
baseof.html, schema.html and several shortcodes, so they could not be fixed
from here. v2.106.0 accepts 0.158.0 to 0.165.0, which covers both Hugo versions
we build with, and no longer uses either of them. The build is free of warnings
now. v3 was not taken, it is a new major version.

The theme reorganised its JavaScript along the way and dropped js/process.js.
Our layouts/partials/footer.html is a copy of the footer of the theme with a
link to the Git repository added to the "powered by" line, and it still loaded
that file, which broke the build outright:

  ERROR ... execute of template failed: ... <resources is nil

Take the footer of v2.106.0 and add the link to it again. It is the only
template we override that belongs to the theme, the others are our own, and
nothing else in layouts/ refers to a file the theme removed. The German strings
for the 404 page still apply, the theme keeps its translations as YAML now but
the keys are unchanged, and no configuration parameter we set was dropped.

The site builds identically apart from the theme itself: no page is lost, none
lost its content, the largest pages grow by about a third from added markup,
and the churn in public/ is the renamed bundles, the dropped jQuery and
differently named image derivatives.

While at it, replace the note in the README that told the reader not to update
nixpkgs because it would bring a Hugo the theme cannot handle. That is what
just got resolved, so name the actual range instead.

Assisted-by: Claude:claude-opus-5
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-08-22 21:40:27 +02:00
8a573ed1f0 Do not ask for a calendar of every page
Every page was configured to be rendered as a calendar besides HTML, but there
is no template for that, so Hugo warned on every build:

  WARN  found no layout file for "calendar" for kind "page"

Nothing was lost to the missing template. The only per page calendar template
in the tree, layouts/page/single.ics, sits in the directory for the pages of
the "page" section, which are the imprint, the statutes and similar, while it
renders DTSTART, DTEND and RRULE, which only the pages below
content/veranstaltungen/ have. It has produced nothing for either of them, the
built site contains no per page calendar at all.

Drop the calendar from the outputs of a page. Adding a template instead would
have created a calendar file for every one of the 366 pages, 117 more files
than the site has calendars, nearly all of them empty.

The calendars per section, which the calendar page links to, are configured
separately and keep being generated.

Fixes: c28f04c6e8 ("switch to ics files; make calendars work; fix some minor issues")
Assisted-by: Claude:claude-opus-5
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-08-22 21:40:27 +02:00
f3b75137b3 Use the current names for the language config keys
Hugo 0.158.0 renamed two of the keys the German language is configured with and
warns about the old names on every build:

  WARN  deprecated: project config key languages.de.languageCode was deprecated
  WARN  deprecated: project config key languages.de.languageName was deprecated

Rename languageCode to locale and languageName to label. The generated site is
byte for byte the same afterwards, apart from the DTSTAMP of the calendar
feeds, which carries the time of the build.

Fixes: b62b53674f ("new theme (work in progress)")
Assisted-by: Claude:claude-opus-5
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-08-22 21:40:27 +02:00
9be6287a68 Delete .forgejo/workflows/test.yaml
Some checks failed
deploy blog / deploy (push) Failing after 58s
2026-08-22 15:22:52 +02:00
df7add59ee Add .forgejo/workflows/test.yaml
Some checks failed
deploy blog / deploy (push) Failing after 12s
2026-08-21 22:32:15 +02:00
e93b399854 Update .forgejo/workflows/deploy.yaml
Some checks failed
deploy blog / deploy (push) Failing after 12s
Signed-off-by: xengi <cccb-git@xengi.de>
2026-08-21 21:36:22 +02:00
f6b5413d19 Delete .forgejo/workflows/miau.yaml
All checks were successful
deploy blog / deploy (push) Successful in 40s
2026-08-12 02:26:23 +02:00
2696f0af4e python is not needed anymore
Some checks failed
deploy blog / deploy (push) Failing after 37s
Signed-off-by: xengi <cccb-git@xengi.de>
2026-08-12 02:06:53 +02:00
b9739ca58c Merge branch 'production' into staging
Some checks failed
deploy blog / deploy (push) Has been cancelled
2026-08-12 02:05:42 +02:00
facc7d15bf Merge pull request 'switch to ics files; make calendars work; fix some minor issues' (#53) from caldav into staging
Some checks failed
deploy blog / deploy (push) Failing after 38s
Reviewed-on: #53
2026-08-12 02:03:34 +02:00
c28f04c6e8
switch to ics files; make calendars work; fix some minor issues 2026-08-12 02:01:58 +02:00
1dcc6c473b Merge pull request 'staging' (#52) from staging into production
All checks were successful
deploy blog / deploy (push) Successful in 54s
Reviewed-on: #52
2026-08-11 23:32:50 +02:00
5368e75240 Add .forgejo/workflows/miau.yaml
All checks were successful
deploy blog / deploy (push) Successful in 49s
2026-08-11 23:31:40 +02:00
b1ff3727c8 Update .forgejo/workflows/deploy.yaml
All checks were successful
deploy blog / deploy (push) Successful in 56s
Signed-off-by: xengi <cccb-git@xengi.de>
2026-08-11 23:21:32 +02:00
4e2c358668 Merge pull request 'fu github pipelines' (#51) from staging into production
Some checks failed
deploy blog / deploy (push) Failing after 50s
Reviewed-on: #51
2026-08-11 23:15:28 +02:00
e690426b3f Merge branch 'production' into staging
Some checks failed
deploy blog / deploy (push) Failing after 50s
2026-08-11 23:15:14 +02:00
7689abaf3e Update .forgejo/workflows/deploy.yaml
Some checks failed
deploy blog / deploy (push) Failing after 51s
2026-08-11 23:13:51 +02:00
bafe2bcb81 Update .forgejo/workflows/deploy.yaml
All checks were successful
deploy blog / deploy (push) Successful in 52s
2026-08-11 23:05:26 +02:00
bac896e60f Update .forgejo/workflows/deploy.yaml
All checks were successful
deploy blog / deploy (push) Successful in 51s
2026-08-11 22:57:01 +02:00
87e1230301
unfix pipeline
All checks were successful
deploy blog / deploy (push) Successful in 52s
2026-08-11 22:45:17 +02:00
f839b1b01a Update .forgejo/workflows/deploy.yaml
All checks were successful
deploy blog / deploy (push) Successful in 53s
Signed-off-by: xengi <cccb-git@xengi.de>
2026-08-11 22:37:45 +02:00
2ba5b8cfa8
fix pipeline
Some checks failed
deploy blog / deploy (push) Failing after 54s
2026-08-11 22:29:30 +02:00
96919a7188
fix pipeline
Some checks failed
deploy blog / deploy (push) Failing after 52s
2026-08-11 22:20:30 +02:00
dfae28d575 Update .forgejo/workflows/deploy.yaml
All checks were successful
deploy blog / deploy (push) Successful in 52s
2026-08-11 22:10:47 +02:00
c2a2f6e160 Update .forgejo/workflows/deploy.yaml
All checks were successful
deploy blog / deploy (push) Successful in 55s
2026-08-11 22:07:01 +02:00
d3fd2ec8a7 Update .forgejo/workflows/deploy.yaml
All checks were successful
deploy blog / deploy (push) Successful in 51s
2026-08-11 22:05:43 +02:00
c18cce53f8 Update .forgejo/workflows/deploy.yaml
Some checks failed
deploy blog / deploy (push) Has been cancelled
2026-08-11 22:05:13 +02:00
9cca35810f Merge pull request 'staging' (#50) from staging into production
All checks were successful
deploy blog / deploy (push) Successful in 55s
Reviewed-on: #50
2026-08-11 21:42:16 +02:00
5f603574e3 :nerd: minor spelling mistake ❇️
All checks were successful
deploy blog / deploy (push) Successful in 53s
Signed-off-by: aprl <aprl@noreply.git.berlin.ccc.de>
2026-08-11 21:41:01 +02:00
3afd801344 Merge pull request '2026_08_23_Aktionstag_gegen_Ueberwachung' (#49) from aprl/www:2026_08_23_Aktionstag_gegen_Ueberwachung into staging
All checks were successful
deploy blog / deploy (push) Successful in 1m14s
Reviewed-on: #49
2026-08-11 21:39:38 +02:00
April John
9b8fbc0106 Text natürlicher formuliert, Gedankenstriche entfernt
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-11 21:34:13 +02:00
April John
8b4f6d3c95 Aktionstag gegen Überwachung 2026-08-23: Veranstaltung + Ankündigungspost
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-11 21:16:19 +02:00
43ae6bc869 Update .forgejo/workflows/deploy.yaml
All checks were successful
deploy blog / deploy (push) Successful in 1m16s
2026-07-22 22:11:21 +02:00
c67560bd94 Merge pull request 'staging' (#48) from staging into production
All checks were successful
deploy blog / deploy (push) Successful in 59s
Reviewed-on: #48
2026-07-05 00:38:00 +02:00
42f999443f Merge pull request 'diday-end-recurrence' (#47) from hauke/www:diday-end-recurrence into staging
All checks were successful
deploy blog / deploy (push) Successful in 1m0s
Reviewed-on: #47
2026-07-05 00:18:48 +02:00
d8773f4f6f Weise auf Ausfall des DI.Day am 5. Juli im CCCB hin
Der DI.Day findet am 5. Juli 2026 nicht im Chaos Computer Club Berlin
statt. Der neue Blog-Eintrag informiert darüber und verweist auf die
alternativen Berliner DI.Day-Veranstaltungen (c-base, Stadtschloss
Moabit).

Assisted-by: Claude:claude-opus-4-8
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-07-04 23:41:25 +02:00
ba76280a3f Merge pull request 'staging' (#46) from staging into production
All checks were successful
deploy blog / deploy (push) Successful in 55s
Reviewed-on: #46
2026-07-04 23:40:44 +02:00
e2a5fce03b Merge pull request 'fix typo' (#45) from 2026_07_05_DiDay_im_Club into staging
All checks were successful
deploy blog / deploy (push) Successful in 58s
Reviewed-on: #45
2026-07-04 23:37:47 +02:00
Bruno Ranieri
0318a0496a fix typo 2026-07-04 23:37:19 +02:00
1130d7eef0 Beende die Di.Day-Reihe nach dem 3. Mai 2026
Der Digital Independence Day findet ab Juli 2026 nicht mehr im
zweimonatlichen Turnus statt. Mit UNTIL in der RRULE endet die
Wiederholung nach dem letzten Termin am 3. Mai 2026, sodass keine
künftigen Instanzen mehr in den Kalendern (all.ics,
veranstaltungen/index.ics) und in der Terminübersicht erscheinen.

Assisted-by: Claude:claude-opus-4-8
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-07-04 23:35:50 +02:00
64ff74e5d2 Behebe Terminübersicht bei Wiederholungen mit UNTIL
gen_upcoming.py normalisiert dtstart auf naive lokale Zeit, reichte die
laut RFC 5545 in UTC anzugebende UNTIL-Zeit der RRULE aber tz-aware an
dateutil weiter. Die Mischung aus naivem dtstart und tz-awarer UNTIL
lässt dateutil.rrule mit "RRULE UNTIL values must be specified in UTC
when DTSTART is timezone-aware" abbrechen -- der Build schlägt fehl,
sobald ein wiederkehrender Termin ein UNTIL enthält.

Mit ignoretz=True wird die UNTIL-Zeit ebenfalls naiv behandelt,
konsistent zur restlichen Verarbeitung. Für Termine ohne UNTIL ist das
ein No-Op.

Fixes: 2e3a02af0c ("refacture all the things!")
Assisted-by: Claude:claude-opus-4-8
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-07-04 23:35:50 +02:00
aaf48ee2f7 Merge pull request 'remove did-post and update did-page' (#44) from 2026_07_05_DiDay_im_Club into staging
All checks were successful
deploy blog / deploy (push) Successful in 1m16s
Reviewed-on: #44
2026-07-04 23:34:43 +02:00
Bruno Ranieri
bf1de4633b remove did-post and update did-page 2026-07-04 23:32:57 +02:00
11893e9cb1 Merge pull request 'staging' (#43) from staging into production
All checks were successful
deploy blog / deploy (push) Successful in 1m3s
Reviewed-on: #43
2026-07-04 22:27:08 +02:00
09b3535525 Merge pull request 'Behebe Layoutauswahl unter aktuellem Hugo.' (#34) from hauke/www:hugo-tempate-fixes into staging
All checks were successful
deploy blog / deploy (push) Successful in 1m15s
Reviewed-on: #34
2026-07-04 22:24:32 +02:00
9363618157 Behebe Layoutauswahl unter aktuellem Hugo.
Die layouts/_default/*.calendar.html-Vorlagen werden in Hugo
≥0.158 fälschlich für die HTML-Ausgabe ausgewählt, sodass alle
Sektions- und Einzelseiten VCALENDAR- statt HTML-Inhalt
enthielten. Die Vorlagen waren ohnehin nie funktionsfähig
(Warnung „found no layout file for calendar"); die ICS-Feeds
liefern die abschnittsspezifischen Vorlagen unter
layouts/{veranstaltungen,datengarten,page}/.

list.xml.html bekommt aus demselben Grund die korrekte Endung
.xml.

tools/gen_upcoming.py vergleicht Datumsangaben jetzt
zeitzonenneutral, damit Events mit Z-Suffix keinen TypeError
auslösen.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2026-07-04 22:22:53 +02:00
476bf0d6d9 Merge pull request 'wip 1' (#42) from 2026_07_05_DiDay_im_Club into staging
All checks were successful
deploy blog / deploy (push) Successful in 52s
Reviewed-on: #42
2026-06-19 01:41:55 +02:00
Bruno Ranieri
175c15be11 wip 1 2026-06-19 01:37:32 +02:00
b88cb169c6 Merge pull request 'Post DiDay 2026-07-05' (#41) from 2026_07_05_DiDay_im_Club into staging
Some checks failed
deploy blog / deploy (push) Failing after 47s
Reviewed-on: #41
2026-06-19 01:32:19 +02:00
c250009473 Merge branch 'staging' into 2026_07_05_DiDay_im_Club 2026-06-19 01:29:48 +02:00