Upgrade to Hugo 0.16x and zen theme v7.1.0
All checks were successful
/ build (pull_request) Successful in 32s
/ cleanup-staging (pull_request) Successful in 3s

- Bump themes/zen from v5.7.0 to v7.1.0 (vanilla CSS, no libsass).
- Move layouts to Hugo's new template structure (_default -> root,
  index.html -> home.html, shortcodes -> _shortcodes).
- Replace deprecated language API in templates (Locale, Direction, Name)
  and sync base templates and mobile menu with theme v7.
- Config: languageName/languageCode -> label/locale; move copyright to
  the top-level key the v7 footer reads.
- Port _custom.scss to assets/css/_custom.css and map page/body
  backgrounds to v7's --color-body-bg/--color-page-bg.
- CI: build with hugomods/hugo:0.165.0.
This commit is contained in:
Stefan Bethke 2026-10-16 15:06:48 +02:00
commit 5c1b60fa3a
12 changed files with 22 additions and 33 deletions

View file

@ -11,7 +11,7 @@ jobs:
build:
runs-on: docker
container:
image: docker.io/hugomods/hugo:0.150.1
image: docker.io/hugomods/hugo:0.165.0
steps:
- name: Pipeline info
run: |

View file

@ -18,11 +18,15 @@ th, td {
margin-left: 2em;
}
/* Zen v7 paints body with --color-body-bg and .page with --color-page-bg. */
:root {
--color-body-bg: light-dark(var(--color-grey-100), #141414);
--color-page-bg: light-dark(var(--color-white), #242424);
}
@media (prefers-color-scheme: dark) {
:root {
--color-backdrop: #141414;
--color-headings: #faf5f5;
--color-body-bg: #242424;
--color-header-bg: #242424;
--color-text: #faf5f5;
--color-link: #66f2ff;

View file

@ -1,16 +1,15 @@
baseURL: 'https://hackertours.hamburg.ccc.de/'
defaultContentLanguage: de
defaultContentLanguageInSubdir: true
#languageCode: 'de-de'
title: 'Hamburg Hackertours'
theme: "zen"
copyright: "[CCC Hansestadt Hamburg e.V.](https://hamburg.ccc.de) ist nur der Vermittler der Touren. Für das Angebot und die Durchführung der Touren sind die jeweiligen Veranstalter verantwortlich."
ignoreLogs:
- 'warning-frontmatter-params-overrides'
#https://themes.gohugo.io/themes/hugo-theme-zen/#configuration
params:
contact: "ticket@hackertours.hamburg.ccc.de"
copyright: "[CCC Hansestadt Hamburg e.V.](https://hamburg.ccc.de) ist nur der Vermittler der Touren. Für das Angebot und die Durchführung der Touren sind die jeweiligen Veranstalter verantwortlich."
dateFormat: "02.01.2006 15:04"
description: "Hamburg Hackertours"
footer: "[Impressum & Datenschutz](https://hamburg.ccc.de/imprint/) – [Ticket Shop](https://tickets.hamburg.ccc.de/hackertours/39c3ht/)"
@ -28,19 +27,19 @@ params:
languages:
en:
weight: 1
languageName: "English"
languageCode: "en"
label: "English"
locale: "en"
contentDir: content/en
pagination:
pagerSize: 25
params:
copyright: "[CCC Hansestadt Hamburg e.V.](https://hamburg.ccc.de) only acts as an agent for the tours. The respective tour operators are responsible for the offer and running of the tours."
footer: "[Imprint & Data Protection](https://hamburg.ccc.de/imprint/) – [Ticket Shop](https://tickets.hamburg.ccc.de/hackertours/39c3ht/)"
title: "Hamburg Hackertours"
copyright: "[CCC Hansestadt Hamburg e.V.](https://hamburg.ccc.de) only acts as an agent for the tours. The respective tour operators are responsible for the offer and running of the tours."
de:
weight: 2
languageName: "Deutsch"
languageCode: "de"
label: "Deutsch"
locale: "de"
contentDir: content/de
pagination:
pagerSize: 25

View file

@ -8,7 +8,7 @@
<rect width="80" height="12" x="10" y="70" rx="5"></rect>
</svg>
</button>
<div class="mobile-nav__sheet link-inverted link-nav" id="sheet" aria-hidden="true">
<div class="mobile-nav__sheet link-nav" id="sheet" data-theme="dark" aria-hidden="true">
<div class="mobile-nav__region">{{ if hugo.IsMultilingual }}{{ partial "language-selector.html" . }}{{ end }}</div>
<nav class="mobile-nav__main-menu" aria-label="{{ i18n "menu_title" }}">
<ul class="mobile-nav__navbar">

View file

@ -6,11 +6,11 @@
{{- $label := cond (eq $code "de") "DE" (cond (eq $code "en") "EN" (cond (eq $code "deen") "DE/EN" "")) -}}
{{- $title := "" -}}
{{- if eq $code "deen" -}}
{{- $title = cond (eq .Site.Language.Lang "de") "Diese Tour wird zweisprachig stattfinden (Deutsch und Englisch)" "This tour will be bilingual (German and English)" -}}
{{- $title = cond (eq .Site.Language.Name "de") "Diese Tour wird zweisprachig stattfinden (Deutsch und Englisch)" "This tour will be bilingual (German and English)" -}}
{{- else if eq $code "de" -}}
{{- $title = cond (eq .Site.Language.Lang "de") "Diese Tour wird auf Deutsch stattfinden" "This tour will be held in German" -}}
{{- $title = cond (eq .Site.Language.Name "de") "Diese Tour wird auf Deutsch stattfinden" "This tour will be held in German" -}}
{{- else if eq $code "en" -}}
{{- $title = cond (eq .Site.Language.Lang "de") "Diese Tour wird auf Englisch stattfinden" "This tour will be held in English" -}}
{{- $title = cond (eq .Site.Language.Name "de") "Diese Tour wird auf Englisch stattfinden" "This tour will be held in English" -}}
{{- end -}}
<abbr style="font-size: .65em; vertical-align: super;" title="{{ $title }}">{{ $label }}</abbr>
{{- end -}}

View file

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html class="nojs" lang="{{ site.LanguageCode | default site.Language.Lang }}" dir="{{ site.Language.LanguageDirection | default "ltr" }}">
<html class="nojs" lang="{{ site.Language.Locale | default site.Language.Name }}" dir="{{ site.Language.Direction | default "ltr" }}"{{ with $.Param "colorScheme" }} data-theme="{{ . }}"{{ end }}>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
@ -15,7 +15,7 @@
{{ block "head" . }}{{ end }}
</head>
<body class="{{ if .IsPage }}single-page{{ else }}list-page{{ end }}{{ if .IsHome }} front{{ end }}{{ with $.Param "bodyclass" }} {{ . }}{{ end }}">
<body class="{{ if .IsPage }}single-page{{ else }}list-page{{ end }}{{ if .IsHome }} front{{ end }}{{ with .Section }} section-page--{{ . | urlize }}{{ end }}{{ with $.Param "bodyclass" }} {{ . }}{{ end }}">
<div class="page layout__page{{ if $.Param "sidebar" }} layout__sidebar-second{{ end }}">
<header class="header layout__header">
{{ if $.Param "logo" | default true -}}
@ -41,14 +41,7 @@
{{ if $.Param "sidebar" }}{{ partial "sidebar.html" . }}{{ end -}}
<footer class="footer layout__footer mt--l">
{{ if templates.Exists "partials/footer.html" -}}
{{ partial "footer.html" . }}
{{ else -}}
{{ if $.Param "feedlinks" }}{{ partial "feedlinks.html" . }}{{ end -}}
<p>{{ with $.Param "copyright" }}{{ . | markdownify }}{{ else }}<span>© {{ site.Title }}</span>{{ end }}</p>
{{ with $.Param "footer" }}<p>{{ . | markdownify }}</p>{{ end }}
{{ if $.Param "poweredby" }}<p>Powered by <a href="https://gohugo.io/">Hugo</a> and the <a href="https://github.com/frjo/hugo-theme-zen">Zen theme</a>.</p>{{ end }}
{{ end -}}
</footer>
{{ if $.Param "cookieconsent" }}{{ partialCached "cookieconsent.html" . }}{{ end -}}

View file

@ -1,5 +1,5 @@
<!DOCTYPE html>
<html class="nojs" lang="{{ site.LanguageCode | default site.Language.Lang }}" dir="{{ site.Language.LanguageDirection | default "ltr" }}">
<html class="nojs" lang="{{ site.Language.Locale | default site.Language.Name }}" dir="{{ site.Language.Direction | default "ltr" }}"{{ with $.Param "colorScheme" }} data-theme="{{ . }}"{{ end }}>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
@ -15,7 +15,7 @@
{{ block "head" . }}{{ end }}
</head>
<body class="{{ if .IsPage }}single-page{{ else }}list-page{{ end }}{{ if .IsHome }} front{{ end }}{{ with $.Param "bodyclass" }} {{ . }}{{ end }}">
<body class="{{ if .IsPage }}single-page{{ else }}list-page{{ end }}{{ if .IsHome }} front{{ end }}{{ with .Section }} section-page--{{ . | urlize }}{{ end }}{{ with $.Param "bodyclass" }} {{ . }}{{ end }}">
<div class="page layout__page{{ if $.Param "sidebar" }} layout__sidebar-second{{ end }}">
<header class="header layout__header">
{{ if $.Param "logo" | default true -}}
@ -43,14 +43,7 @@
{{ if $.Param "sidebar" }}{{ partial "sidebar.html" . }}{{ end -}}
<footer class="footer layout__footer mt--l">
{{ if templates.Exists "partials/footer.html" -}}
{{ partial "footer.html" . }}
{{ else -}}
{{ if $.Param "feedlinks" }}{{ partial "feedlinks.html" . }}{{ end -}}
<p>{{ with $.Param "copyright" }}{{ . | markdownify }}{{ else }}<span>© {{ site.Title }}</span>{{ end }}</p>
{{ with $.Param "footer" }}<p>{{ . | markdownify }}</p>{{ end }}
{{ if $.Param "poweredby" }}<p>Powered by <a href="https://gohugo.io/">Hugo</a> and the <a href="https://github.com/frjo/hugo-theme-zen">Zen theme</a>.</p>{{ end }}
{{ end -}}
</footer>
{{ if $.Param "cookieconsent" }}{{ partialCached "cookieconsent.html" . }}{{ end -}}

@ -1 +1 @@
Subproject commit acc3f6277010b9eac4290c86f340330616fe2d54
Subproject commit 6d4ee822a88a3dbe2443b2c985523e376f47056f