Take design packages back out of plugins
A plugin can no longer replace the site palette. "Designpaket übernehmen" wrote the plugin's colours, fonts and buttons into the website for good: no confirmation, no way back, right next to a switch that is safe to flip. Colours belong to the design screen, where they have a preview and one-step undo, so the feature is gone rather than guarded (ADR 105). Removed: PluginRegistry::themePackage() and applyTheme(), "theme" in the manifest and in the plugin structure, the admin_plugin_theme route and the Theme dependency of PluginAdminController, the button and the design-package line on the "Plugins" screen, and plugins/nachtblau. A manifest now needs at least one block, one route or one preset. The test says the opposite of what it used to: switching a plugin on and off leaves both the design and the content alone. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
53fb713f74
commit
30aac4389d
6 files changed
+42
-18
No files matched your search
+12
-12
@@ -1,7 +1,7 @@
|
||||
# Plugins schreiben
|
||||
|
||||
Ein Plugin bringt eigene Bausteine, Vorlagen, Adressen und Designpakete in den Editor und auf die
|
||||
Website. Es ist ein Ordner unter `plugins/` mit einer `plugin.json`, Twig-Vorlagen und optional
|
||||
Ein Plugin bringt eigene Bausteine, Vorlagen und Adressen in den Editor und auf die
|
||||
Website. Farben, Schriften und Buttons fasst es nie an – das Design gehört der Website (ADR 105). Es ist ein Ordner unter `plugins/` mit einer `plugin.json`, Twig-Vorlagen und optional
|
||||
Stylesheets und Skripten. Eingeschaltet und eingestellt wird es in der Verwaltung unter **Plugins**
|
||||
(Administrator). Hintergrund und Grenzen: ADR 102 und ADR 103 in `docs/ARCHITECTURE.md`.
|
||||
|
||||
@@ -22,8 +22,8 @@ plugins/
|
||||
assets/bildvergleich.js
|
||||
```
|
||||
|
||||
Die mitgelieferten Plugins sind die Vorlagen zum Abschreiben: `plugins/vergleich` (Bausteine,
|
||||
Container, Einstellungen, Adresse, Seitenvorlage) und `plugins/nachtblau` (nur ein Designpaket).
|
||||
Das mitgelieferte Plugin ist die Vorlage zum Abschreiben: `plugins/vergleich` (Bausteine,
|
||||
Container, Einstellungen, Adresse, Seitenvorlage).
|
||||
|
||||
## Das Manifest
|
||||
|
||||
@@ -62,8 +62,7 @@ Container, Einstellungen, Adresse, Seitenvorlage) und `plugins/nachtblau` (nur e
|
||||
},
|
||||
"routes": {
|
||||
"daten": { "path": "/vergleich/daten", "template": "routes/daten.json.twig", "type": "json" }
|
||||
},
|
||||
"theme": { "colors": [ ], "fonts": [ ], "base": { }, "buttons": { } }
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
@@ -73,8 +72,8 @@ Container, Einstellungen, Adresse, Seitenvorlage) und `plugins/nachtblau` (nur e
|
||||
Browser nach einem Update die neue Fassung holt.
|
||||
- `requires` (optional): die kleinste KantSites-Fassung. Passt sie nicht, erscheint das Plugin in
|
||||
der Verwaltung mit dem Grund und lässt sich nicht einschalten.
|
||||
- Ein Manifest braucht mindestens einen Baustein, eine Adresse, eine Vorlage oder ein
|
||||
Designpaket. Fehlt eine genannte Datei, ist das Manifest ungültig.
|
||||
- Ein Manifest braucht mindestens einen Baustein, eine Adresse oder eine Vorlage. Fehlt eine
|
||||
genannte Datei, ist das Manifest ungültig.
|
||||
|
||||
### Eigenschaften und Einstellungen (Schema)
|
||||
|
||||
@@ -115,11 +114,12 @@ was der Kern beantwortet (`/admin`, `/media`, `/assets`, `/formular`, `/beitraeg
|
||||
`html`, `json`, `text` oder `xml`. Eine veröffentlichte Seite mit derselben Adresse geht vor.
|
||||
Ausgeschaltet antwortet die Adresse mit 404; alles außer `html` trägt `noindex`.
|
||||
|
||||
### Designpaket (`theme`)
|
||||
### Was ein Plugin nicht kann: das Design
|
||||
|
||||
`colors`, `fonts`, `base` und optional `buttons` im Format des Designbereichs (siehe die
|
||||
Aufbauskripte unter `scripts/` oder `plugins/nachtblau`). „Designpaket übernehmen“ ersetzt die
|
||||
Palette der Website – dieselbe Prüfung wie beim Speichern unter Design, die Inhalte bleiben.
|
||||
Es gibt kein `theme` im Manifest. Ein Plugin gestaltet seine eigenen Bausteine über deren
|
||||
Stylesheet und die Design-Tokens des Kerns; Palette, Schriften und Buttons der Website ändert
|
||||
nur der Betreiber unter **Design**. So färbt kein Schalter eine Website um, und nichts, was dort
|
||||
eingestellt wurde, geht durch ein Plugin verloren (ADR 105).
|
||||
|
||||
## Die Vorlagen
|
||||
|
||||
|
||||
Reference in new issue
Block a user