Update Blowfish to v2.106.0 #56

Open
hauke wants to merge 3 commits from hauke/www:blowfish-update into staging

2026-08-27

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-27 21:42:54 +02:00
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-27 21:42:54 +02:00
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-27 21:42:54 +02:00