Migrate WordPress site to Hugo

Replaces the WordPress 7.0.2 / HitMag site with a static Hugo build,
deployed by Gitea Actions over rsync/SSH.

Content: 26 files (9 pages + 17 posts) as Markdown page bundles, plus
127 of 165 media attachments. The remaining 38 are media-library
leftovers that appear nowhere on the live site; they are listed in
MIGRATION.md.

The WXR export contains neither media binaries nor widgets, so both were
recovered from the live host before it is retired:
  - tools/fetch_media.py downloads all uploads, capping them at 2000px
  - tools/build_data.py scrapes the "Unsere Mitglieder" and
    "In Erinnerung" widgets into data/*.yaml

TablePress' six Termine tables became data/termine.yaml, rendered with
the newest year expanded and earlier years collapsed. Old permalinks are
not preserved (clean slugs, no redirects, as agreed).

Custom layouts, no third-party theme. Plain CSS, since the pinned Hugo
0.164.0 is the non-extended build and cannot compile Sass.

Verified: clean build with zero warnings, 718 internal links checked and
none broken, no surviving wp-content URLs.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-28 19:20:11 +02:00
parent eccf30584a
commit bef5182545
188 changed files with 2770 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
{{- /*
Responsive image grid.
{{< gallery "a.jpg" "b.jpg" >}} explicit, ordered
{{< gallery >}} every image resource of the page
Thumbnails link to the full-size original.
*/ -}}
{{- $page := .Page -}}
{{- $images := slice -}}
{{- if .Params -}}
{{- range .Params -}}
{{- with $page.Resources.GetMatch . -}}
{{- $images = $images | append . -}}
{{- else -}}
{{- warnf "gallery: %q not found in %s" . $page.Path -}}
{{- end -}}
{{- end -}}
{{- else -}}
{{- $images = $page.Resources.ByType "image" -}}
{{- end -}}
{{- if $images -}}
<div class="gallery">
{{- range $images }}
{{- $thumb := .Fill "400x300 Center webp q80" }}
{{- $full := .Resize "1600x webp q82" }}
<a class="gallery-item" href="{{ $full.RelPermalink }}">
<img src="{{ $thumb.RelPermalink }}" width="{{ $thumb.Width }}" height="{{ $thumb.Height }}"
alt="" loading="lazy" decoding="async">
</a>
{{- end }}
</div>
{{- end -}}