⚙️ 🤖 Startseiten-Links explizit auf index.html — file://-Portabilität (lokal wie Webserver) #60

Closed
opened 2026-07-01 23:21:41 +02:00 by holm · 2 comments
Owner
Dimension Bewertung Einschaetzung
Aufwand █░░░░░░░░░ Trivial — 2 Template-Zeilen
Nutzen ████████░░ Hoch — Site laeuft dann lokal (file://) UND per Webserver identisch
Bruchhaeufigkeit ███████░░░ Hoch — betrifft jede lokale Nutzung / Weitergabe als Ordner
Nachhaltigkeit ████████░░ Hoch — einmal, dauerhaft portabel
Dringlichkeit █████░░░░░ Mittel

Problem (Holm)

Startseiten-Links zeigen auf das Verzeichnis ({{ base_href }} allein → ../ bzw. ./). Das ist mehrdeutig:

  • Webserver: macht daraus index.html (ok).
  • file:// (lokal): Browser zeigt Verzeichnis-Listing oder loest relative Asset-Pfade falsch auf → Bilder fehlen, Navigation bricht.

Ein Link explizit auf index.html ist eindeutig → file:// und Webserver verhalten sich identisch. Zusaetzlich: der SPA-Router (#58) faengt index.html automatisch ab (endet auf .html), der Verzeichnis-Sonderfall (/$) wird ueberfluessig.

Fix (2 Zeilen)

  • templates/zentonic26/base.html.j2:24 (Logo): href="{{ base_href | safe }}"href="{{ base_href | safe }}index.html"
  • templates/zentonic26/episode.html.j2:47 (zurueck zur Uebersicht): dito + index.html

NICHT aendern

  • og:url (index.html.j2:11, episode:13) + atom:link rel=self (feed.xml.j2:15) nutzen web.url (absolut) → bleiben clean (https://.../ bzw. .../episodes/x.html) fuer oeffentliche canonical-URLs/SEO. Nur die internen Navigations-Links bekommen index.html.
  • Alle anderen base_href-Links sind bereits explizit (episodes/x.html, assets) — unveraendert.

Optional

SPA-Router /$-Zweig (fix/58b) kann bleiben (deckt direkten /-Aufruf ab) oder vereinfacht werden — nicht kritisch.

Verify

Episodenseite per file:// oeffnen → Cover/Avatare da; „zurueck zur Uebersicht" klicken → index.html laedt lokal mit Bildern. Auf Webserver unveraendert nahtlos (SPA).

angelegt von Claude v00 (API/Token holm)

| Dimension | Bewertung | Einschaetzung | |---|---|---| | Aufwand | `█░░░░░░░░░` | Trivial — 2 Template-Zeilen | | Nutzen | `████████░░` | Hoch — Site laeuft dann lokal (file://) UND per Webserver identisch | | Bruchhaeufigkeit | `███████░░░` | Hoch — betrifft jede lokale Nutzung / Weitergabe als Ordner | | Nachhaltigkeit | `████████░░` | Hoch — einmal, dauerhaft portabel | | Dringlichkeit | `█████░░░░░` | Mittel | ## Problem (Holm) Startseiten-Links zeigen auf das Verzeichnis (`{{ base_href }}` allein → `../` bzw. `./`). Das ist mehrdeutig: - **Webserver:** macht daraus `index.html` (ok). - **file:// (lokal):** Browser zeigt Verzeichnis-Listing oder loest relative Asset-Pfade falsch auf → **Bilder fehlen**, Navigation bricht. Ein Link explizit auf `index.html` ist eindeutig → **file:// und Webserver verhalten sich identisch**. Zusaetzlich: der SPA-Router (#58) faengt `index.html` automatisch ab (endet auf `.html`), der Verzeichnis-Sonderfall (`/$`) wird ueberfluessig. ## Fix (2 Zeilen) - `templates/zentonic26/base.html.j2:24` (Logo): `href="{{ base_href | safe }}"` → `href="{{ base_href | safe }}index.html"` - `templates/zentonic26/episode.html.j2:47` (zurueck zur Uebersicht): dito `+ index.html` ## NICHT aendern - `og:url` (index.html.j2:11, episode:13) + `atom:link rel=self` (feed.xml.j2:15) nutzen `web.url` (absolut) → bleiben **clean** (`https://.../` bzw. `.../episodes/x.html`) fuer oeffentliche canonical-URLs/SEO. Nur die **internen Navigations-Links** bekommen `index.html`. - Alle anderen `base_href`-Links sind bereits explizit (`episodes/x.html`, assets) — unveraendert. ## Optional SPA-Router `/$`-Zweig (fix/58b) kann bleiben (deckt direkten `/`-Aufruf ab) oder vereinfacht werden — nicht kritisch. ## Verify Episodenseite per `file://` oeffnen → Cover/Avatare da; „zurueck zur Uebersicht" klicken → index.html laedt lokal mit Bildern. Auf Webserver unveraendert nahtlos (SPA). > angelegt von Claude v00 (API/Token holm)
Author
Owner

Gemerged nach dev (Branch fix/60-index-links).

  • base.html.j2:24 (Logo) + episode.html.j2:47 (Zurück): {{ base_href | safe }}+ index.html.
  • Gebauter Output: Episode → Logo/Zurück href="../index.html", Index-Logo href="./index.html". og:url/atom:self unverändert absolut.
  • SPA-Router fängt index.html automatisch (.html), Webserver-SPA unverändert.

Bereit zur v00-file://-Abnahme (Cover/Avatare da, „zurück" lädt index.html lokal mit Bildern) → dann #60 zu.

🤖 angelegt von Claude o00 (API/Token holm)

## #60 gemerged — Startseiten-Links auf index.html (file://-Parität) Gemerged nach `dev` (Branch `fix/60-index-links`). - `base.html.j2:24` (Logo) + `episode.html.j2:47` (Zurück): `{{ base_href | safe }}` → `+ index.html`. - Gebauter Output: Episode → Logo/Zurück `href="../index.html"`, Index-Logo `href="./index.html"`. `og:url`/`atom:self` unverändert absolut. - SPA-Router fängt `index.html` automatisch (`.html`), Webserver-SPA unverändert. **Bereit zur v00-file://-Abnahme** (Cover/Avatare da, „zurück" lädt index.html lokal mit Bildern) → dann #60 zu. > 🤖 angelegt von Claude o00 (API/Token holm)
Author
Owner

v00-Abnahme #60 — PASS (file:// + Webserver identisch)

Merge 23ff67e. Logo + Zurück-Link jetzt index.html (episode: ../index.html, index: ./index.html).

  • file:// (lokal): Startseite via file:// gerendert — Cover/Nummern/Fonts/Assets laden korrekt (Screenshot). Lokale Auflösung stimmt, keine fehlenden Images mehr.
  • Webserver-SPA: Zurück-Link (../index.html) → CDP marker=ALIVE, kein Reload, path /index.html — nahtlos. Card-Links weiter SPA. Keine Regression.

Site läuft lokal wie am Webserver identisch. Kein Blocker, geschlossen durch v00.

🤖 angelegt von Claude v00 (API/Token holm)

## v00-Abnahme #60 — PASS (file:// + Webserver identisch) Merge `23ff67e`. Logo + Zurück-Link jetzt `index.html` (episode: `../index.html`, index: `./index.html`). - **file://** (lokal): Startseite via `file://` gerendert — Cover/Nummern/Fonts/Assets laden korrekt (Screenshot). Lokale Auflösung stimmt, keine fehlenden Images mehr. - **Webserver-SPA**: Zurück-Link (`../index.html`) → CDP `marker=ALIVE`, kein Reload, path `/index.html` — nahtlos. Card-Links weiter SPA. Keine Regression. Site läuft lokal wie am Webserver identisch. Kein Blocker, geschlossen durch v00. > 🤖 angelegt von Claude v00 (API/Token holm)
holm closed this issue 2026-07-01 23:26:34 +02:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
Zentonic/zentonic-publisher#60
No description provided.