Skip to content

Theme Packs DE

Domekologe edited this page Jul 26, 2026 · 1 revision

Theme-Pakete

🌐 English · Deutsch

Theme-Pakete gestalten die gesamte MediaForge-WebUI neu — Schriftarten, Farben, Animationen, Checkbox- und Eingabefeld-Styles, Nummern-Stepper, das Kalender-Layout, Hintergrundbilder und mehr. Sie werden aus demselben Modul-Store installiert wie Module (siehe Module), sind aber im Gegensatz zu Modulen reines CSS + Assets: kein JavaScript, kein Python. Ein Theme kann ändern, wie MediaForge aussieht — niemals, was es tut.

Theme installieren

  1. Modulmanager öffnen (/extensions, nur Admin) → Modul-Store.
  2. Den Typ-Filter nutzen (Alle / Module / Themes) — Theme-Einträge tragen ein Theme-Badge.
  3. Auf Installieren klicken. Themes installieren immer live: nie ein Neustart — das Theme ist sofort auswählbar.

Nach einer Installation zeigt der Modulmanager einen Hinweis, dass ein Theme erst wirkt, wenn es ausgewählt wurde — mit direktem Link zu Einstellungen → Design.

Installierte Themes erscheinen als Karten in der Installiert-Ansicht des Modulmanagers unter Theme-Pakete, mit denselben Versions-/Vertrauens-Badges wie Module, einem Vorschaubild (falls das Theme eines mitliefert), einem Button Als Standard festlegen und Deinstallieren (ebenfalls live, ohne Neustart).

Manuelle Installation: einen Theme-Ordner (mit einer theme.json) in den in den Store-Einstellungen angezeigten Theme-Ordner legen (standardmäßig ~/.mediaforge/themes/). Er erscheint beim nächsten Seitenaufruf.

Theme auswählen

Die Auswahl ist zweistufig, unter Einstellungen → Design → Theme-Pakete:

Einstellung Wer Geltungsbereich
Instanz-Standard Admin Jeder Benutzer, jedes Gerät — inklusive Login-Seite
Dein Theme Jeder Benutzer Im Konto gespeichert — gilt in jedem Browser und auf jedem Gerät, in dem du dich anmeldest

Dein Theme, der Dark/Light-Modus und die Akzentfarbe werden im Konto gespeichert (/api/user/preferences) und serverseitig in jede Seite gerendert. Dadurch stimmt der Look schon beim ersten Rendern — kein Aufblitzen des falschen Themes, und nichts geht verloren, wenn der Browser-Cache geleert wird. Der Browser hält zusätzlich eine Kopie, auf die die Login-Seite und ein Offline-PWA-Start zurückfallen.

Die Wahl des Benutzers gewinnt gegen den Instanz-Standard. Wird ein gewähltes Theme später deinstalliert, fällt die Wahl still auf den Instanz-Standard zurück. Der Dark/Light-Schalter funktioniert innerhalb eines Themes weiter — Themes liefern Overrides für beide Modi, und alles, was ein Theme nicht überschreibt, fällt auf den eingebauten MediaForge-Look zurück.

Vertrauen & Sicherheit

Theme-Pakete durchlaufen dieselbe Pipeline wie Module: Prüfsummen-Verifikation, Ed25519-Signaturprüfung gegen die in den Build kompilierten Schlüssel und die Stufen Offiziell / Verifiziert / Unverifiziert (Tabelle siehe Module). Unverifizierte Themes erfordern dasselbe Opt-in „Unverifizierte erlauben".

Zusätzlich werden Themes inhaltlich validiert: Erlaubt sind nur CSS, Schriftarten, Bilder und Textdateien. Ein Paket mit .js-, .html- oder .py-Dateien verweigert die Installation, und ein von Hand kopierter Ordner mit solchen Dateien wird als Ungültig gelistet und niemals ausgeliefert.

Eigenes Theme bauen

Ein vollständiges, kommentiertes Beispiel liegt im Repository unter .examples/themes/example_theme/ — Manifest-Format, die Token-Ebene (Überschreiben der Custom Properties aus variables.css je [data-theme]), Komponenten-Restyling (.chb-main-Checkboxen, Eingabefelder, Kalender, Buttons), eigene @keyframes-Animationen, mitgelieferte Schriftarten und Vorschaubilder sowie die Veröffentlichung in einem Store ("type": "template" im Index-Eintrag; "theme" wird als Alias akzeptiert).

Clone this wiki locally