- HTML 60.4%
- CSS 39.6%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .forgejo/workflows | ||
| archetypes | ||
| assets | ||
| content | ||
| layouts/partials | ||
| .editorconfig-checker.json | ||
| .gitignore | ||
| .mailmap | ||
| .markdownlint.yml | ||
| .pre-commit-config.yaml | ||
| CHANGELOG.md | ||
| go.mod | ||
| go.sum | ||
| hugo.yaml | ||
| LICENSE | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| renovate.json5 | ||
Maintenance Site
Fehlerseite
Hugo rendert die Startseite ein zweites Mal im Output-Format errorpage nach
/_error/. Diese Fassung ist die Vorlage der Fehlerseite, die Traefik bei 502,
503 und 504 anzeigt: die komplette Wartungsseite, ganz oben eine Karte mit
Statuscode, Ursache, betroffenem Hostnamen und Uhrzeit. Ausgeliefert wird sie
von nginx in k3s-prod (apps/maintenance-page) auf git.casa-due-pur.de unter /error/<status>, nginx
setzt die Werte per SSI ein. Die Texte je Statuscode stehen in der
nginx-Konfiguration, nicht hier.
Die Karte zeigt zusätzlich eine Request-ID, unter der nginx den Fehler als JSON-Zeile protokolliert, und die vollständige URL. Ein kleines Skript liest sie aus der Adresszeile und baut daraus den Text für „Details kopieren“ und die vorausgefüllte Mail hinter „Störung melden“. Ohne JavaScript bleiben Adresse, Zeitpunkt und Request-ID sichtbar.
Die Karte kommt aus custom_body.html, das Theme bindet das Partial am Ende von
<body> ein. Beide Partials prüfen .RelPermalink auf /_error/, auf der
normalen Startseite erscheint die Karte nicht. error-card.css blendet in der
Fehlerfassung den Kopfbereich aus und legt die Karte darüber.
Die Seite erscheint unter dem Host der ausgefallenen Anwendung, etwa
cloud.zyria.de. Deshalb gilt:
baseURList/_maintenance/. Traefik leitet diesen Pfad auf allen Hosts an die Wartungsseite, CSS, JavaScript, Schriften und Bilder sind so überall same-origin. Verweise dürfen nicht anbaseURLvorbei auf/zeigen.- SSI-Anweisungen entstehen über das Partial
ssi.html, weil html/template Kommentare aus Templates entfernt.minify.tdewolff.html.keepCommentsinhugo.yamlverhindert, dass--minifysie wieder entfernt. Das lässt auch die übrigen HTML-Kommentare der Seite stehen. - Das Kartendesign entspricht der Ersatzvorlage
error.htmlink3s-prod, die nginx nutzt, wenn diese Vorlage fehlt. Änderungen am Aussehen gehören in beide.
Lokal ansehen lässt sich nur das Gerüst ohne eingesetzte Werte: hugo server
und http://localhost:1313/_maintenance/_error/.