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:
@@ -0,0 +1,64 @@
|
||||
baseURL = 'https://mcg.luxick.de/'
|
||||
title = 'Motorradclub Giebelwald e.V.'
|
||||
locale = 'de-DE'
|
||||
defaultContentLanguage = 'de'
|
||||
enableRobotsTXT = true
|
||||
enableGitInfo = false
|
||||
|
||||
# Nothing here is dated in the future on purpose; keep drafts out of production.
|
||||
buildDrafts = false
|
||||
buildFuture = false
|
||||
|
||||
[params]
|
||||
description = 'Gegründet 1976'
|
||||
tagline = 'Gegründet 1976'
|
||||
email = 'vorstand@motorradclub-giebelwald.de'
|
||||
logo = 'img/logo.png'
|
||||
banner = 'img/banner.jpg'
|
||||
dateFormat = '2. January 2006'
|
||||
|
||||
[markup.goldmark.renderer]
|
||||
# The imported WordPress content contains hand-written HTML (tables, links with
|
||||
# target attributes) that must survive rendering.
|
||||
unsafe = true
|
||||
|
||||
[markup.tableOfContents]
|
||||
startLevel = 2
|
||||
endLevel = 3
|
||||
|
||||
[taxonomies]
|
||||
tag = 'tags'
|
||||
|
||||
[menus]
|
||||
[[menus.main]]
|
||||
name = 'Aktuelles'
|
||||
pageRef = '/aktuelles'
|
||||
weight = 10
|
||||
[[menus.main]]
|
||||
name = 'Termine'
|
||||
pageRef = '/termine'
|
||||
weight = 20
|
||||
[[menus.main]]
|
||||
name = 'Downloads'
|
||||
pageRef = '/downloads'
|
||||
weight = 30
|
||||
[[menus.main]]
|
||||
name = 'Archiv'
|
||||
pageRef = '/archiv'
|
||||
weight = 40
|
||||
[[menus.main]]
|
||||
name = 'Impressum'
|
||||
pageRef = '/impressum'
|
||||
weight = 50
|
||||
|
||||
[outputs]
|
||||
home = ['html', 'rss', 'sitemap']
|
||||
section = ['html', 'rss']
|
||||
|
||||
[services.rss]
|
||||
limit = 20
|
||||
|
||||
[privacy]
|
||||
# No third-party embeds on this site; keep it that way.
|
||||
[privacy.youtube]
|
||||
disable = true
|
||||
Reference in New Issue
Block a user