data/catalog.overrides.json (Feld pinned:true, optional pinOrder)api/catalog.phpapi/validate.phpmeta.json pro Ausgabe für Titel/Typ/Tags/Coverdata/catalog.overrides.json für Sonderfällearchive/ (Jahr/Monat Übersicht)archive/series.php (Gruppierung nach Serie/Tag/Typ)Ordner nach /media/Dokumente/MR-Online-Magazin/ kopieren.
2025/Januar/ausgabe_026/index.php 2025/Januar/ausgabe_026/meta.json 2025/Januar/ausgabe_026/cover.jpg
admin/wizard.phpNeu: admin/wizard.php legt Ausgaben an (Ordner + index.php + meta.json) und erzeugt einen Split-Plan bei >30/Monat.
admin/ zeigt Links zum Live-Katalog und zur Validierung.
Der Auto-Katalog liest nur. Er schreibt keine Dateien. Damit ist er robust auf Shared Hosting.
Wenn in meta.json z.B. "cover": "cover.png" steht, baut das Frontend daraus automatisch die URL <issue-path>/cover.png. (Vorher wurde nur der Dateiname gesetzt und dadurch der Placeholder angezeigt.)
Neu: /admin/ ist per Session-Login geschützt. Erst-Setup: Unlock (Shift+H auf /media/Dokumente/), dann /MR-Online-Magazin/admin/setup.php öffnen und Passwort setzen. Danach führt /admin/ immer zum Login.
Die Kachelansicht ist jetzt strikt 16:9. Desktop: 7×5 (35), Mobile: 5×7 (35). Keyboard: Pfeiltasten, Home/End, Enter.
Im Wizard unter Punkt 5 kannst du fehlende meta.json, index.php oder Cover-Platzhalter sicher erzeugen (ohne Überschreiben).
api/health.php prüft Server-Fähigkeiten und findet fehlende meta.json, index.php und Cover.
Im Wizard unter Punkt 4 kannst du serverseitig ein Backup-ZIP erzeugen. Es landet unter data/exports/. Zusätzlich erzeugt api/sitemap.php eine Textliste unter data/exports/sitemap_latest.txt.