From 10737afd5b1005b4e7f38354a61e05736c67a9ae Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sat, 22 Aug 2026 20:29:34 +0200 Subject: [PATCH 1/3] 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: b62b53674fc9 ("new theme (work in progress)") Assisted-by: Claude:claude-opus-5 Signed-off-by: Hauke Mehrtens --- config/_default/languages.de.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/_default/languages.de.toml b/config/_default/languages.de.toml index 1301a61..1586f85 100644 --- a/config/_default/languages.de.toml +++ b/config/_default/languages.de.toml @@ -1,6 +1,6 @@ disabled = false -languageCode = "de" -languageName = "Deutsch" +locale = "de" +label = "Deutsch" weight = 1 title = "Chaos Computer Club Berlin" -- 2.54.0 From d327960203143a3d2f454125091bf13f056c97c3 Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sat, 22 Aug 2026 20:29:34 +0200 Subject: [PATCH 2/3] 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: c28f04c6e85c ("switch to ics files; make calendars work; fix some minor issues") Assisted-by: Claude:claude-opus-5 Signed-off-by: Hauke Mehrtens --- config/_default/hugo.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/_default/hugo.toml b/config/_default/hugo.toml index 218ffbb..3167bf2 100644 --- a/config/_default/hugo.toml +++ b/config/_default/hugo.toml @@ -33,7 +33,7 @@ post = "/post/:year/:month/:day/:slug/" [outputs] home = ["html", "rss", "json"] section = ["html", "Calendar", "rss", "xml"] -page = ["html", "Calendar"] +page = ["html"] # Output Formats Configuration [outputFormats.Calendar] -- 2.54.0 From c4f76051505c6a919fba8425347406ad2ae20a5c Mon Sep 17 00:00:00 2001 From: Hauke Mehrtens Date: Sat, 22 Aug 2026 20:35:34 +0200 Subject: [PATCH 3/3] 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: ... --- README.md | 5 +- layouts/partials/footer.html | 108 +++++++++++++++++++---------------- themes/blowfish | 2 +- 3 files changed, 62 insertions(+), 53 deletions(-) diff --git a/README.md b/README.md index 977dbb3..2d846e4 100644 --- a/README.md +++ b/README.md @@ -76,8 +76,9 @@ This deletes `public/` and runs `hugo` with the parameters from `.hugo-params`. - After entering the shell with `nix develop`, hugo is available and `hugo serve` and `./build.sh` should work - You can build the staging and production builds with `nix build .#staging-content` and `nix build .#production-content` -- Do not update the nixpkgs branch - 25.05 contains a newer hugo version that is incompatible with the theme (last - checked June 2025) +- The theme accepts a limited range of Hugo versions, declared as `[module.hugoVersion]` in + `themes/blowfish/config.toml`. Blowfish v2.106.0 wants 0.158.0 to 0.165.0, the nixpkgs branch pinned in `flake.nix` + carries 0.163.3. Keep the two in range when updating either of them, Hugo warns on every build otherwise. --- diff --git a/layouts/partials/footer.html b/layouts/partials/footer.html index 12a2638..b12a880 100644 --- a/layouts/partials/footer.html +++ b/layouts/partials/footer.html @@ -2,69 +2,77 @@ {{/* Footer menu */}} {{ if .Site.Params.footer.showMenu | default true }} {{ if .Site.Menus.footer }} - + {{ end }} + {{ $navClass := printf "flex flex-row pb-4 text-base font-medium text-neutral-500 dark:text-neutral-400 %s" (cond $onlyIcon "overflow-x-auto py-2" "") }} + {{ $ulClass := printf "flex list-none %s" (cond $onlyIcon "flex-row" "flex-col sm:flex-row") }} + {{ $liClass := printf "flex mb-1 text-end sm:mb-0 sm:me-7 sm:last:me-0 %s" (cond $onlyIcon "me-4" "") }} + {{ end }} {{ end }}
- {{/* Copyright */}} {{ if .Site.Params.footer.showCopyright | default true }} -

- {{- with replace .Site.Params.copyright "{ year }" now.Year }} - {{ . | markdownify }} - {{- else }} - © - {{ now.Format "2006" }} - {{ .Site.Params.Author.name | markdownify }} - {{- end }} -

+

+ {{- with replace .Site.Params.copyright "{ year }" now.Year }} + {{ . | markdownify }} + {{- else }} + © + {{ now.Format "2006" }} + {{ .Site.Params.Author.name | markdownify }} + {{- end }} +

{{ end }} {{/* Theme attribution */}} {{ if .Site.Params.footer.showThemeAttribution | default true }} -

- {{ $hugo := printf `Hugo` - }} - {{ $blowfish := printf `Blowfish` }} - {{ i18n "footer.powered_by" (dict "Hugo" $hugo "Theme" $blowfish) | safeHTML }} - (Git-Repo) -

+

+ {{ $hugo := printf `Hugo` + }} + {{ $blowfish := printf `Blowfish` + }} + {{ i18n "footer.powered_by" (dict "Hugo" $hugo "Theme" $blowfish) | safeHTML }} + (Git-Repo) +

{{ end }} -
- - {{ $jsProcess := resources.Get "js/process.js" }} - {{ $jsProcess = $jsProcess | resources.Minify | resources.Fingerprint "sha512" }} - + {{ if not .Site.Params.disableImageZoom | default true }} + + {{ end }} {{/* Extend footer - eg. for extra scripts, etc. */}} {{ if templates.Exists "partials/extend-footer.html" }} - {{ partialCached "extend-footer.html" . }} + {{ partialCached "extend-footer.html" . }} {{ end }} diff --git a/themes/blowfish b/themes/blowfish index 0b06a64..a89d96e 160000 --- a/themes/blowfish +++ b/themes/blowfish @@ -1 +1 @@ -Subproject commit 0b06a64139beba6287e7685f4c810ad4ff772fde +Subproject commit a89d96e4dd63b0a1c1129d795ef4b56e491da1df -- 2.54.0