Templates – Überblick
Eigene Website-Templates für PatriotConnect bauen – nur gegen den öffentlichen Vertrag @patriotconnect/template-sdk.
Ein Template bestimmt, wie eine Website aussieht: Aufbau der Seite, Typografie, Raster, Kopf und Fuß. Die Inhalte – Seiten, Blöcke, Menüs, Texte – gehören der Gliederung und bleiben beim Wechsel unberührt. Dieselbe Seite lässt sich mit einem anderen Template ganz anders darstellen.
Dieser Abschnitt richtet sich an Dritt- und Kunden-Entwickler, die ein eigenes Template bauen. Das lebende
Beispiel ist das Paket @patriotconnect/template-beispiel („Magazin“, fiktiver Heimatverein Musterstadt).

Ein Template hängt nur vom öffentlichen Vertragspaket @patriotconnect/template-sdk ab – Typen und reine
Funktionen, kein Plattform-Code. Navigation, Footer-Menüs und den Link „Datenschutz-Einstellungen“ bringt das
Template selbst mit; die Blöcke rendert die Plattform über renderBlock.
Grundregeln
- Build-Zeit statt Laufzeit. Templates werden mit der Web-App und der API gebaut; fremder Code wird nie zur Laufzeit nachgeladen.
- Andocken statt Umbauen. Ein Template meldet sich über sein Manifest und eine generierte Liste an – kein Eingriff in den Plattform-Kern.
- Rückfall statt Fehler. Fehlt ein Template oder passt es nicht zur Website, zeigt die Plattform
standard– nie eine Fehlerseite. - Keine Texte der Gliederung im Code. Inhalte kommen aus Daten (Seiten, Menüs, Branding); das Template enthält
höchstens Struktur-Beschriftungen wie
aria-label. - Keine Geheimnisse. Ein Template braucht keine Zugangsdaten. Jedes Template-Repo prüft seine gesamte Historie mit Gitleaks (siehe Tests, CI und Secret-Scan).
Der Weg in sechs Etappen
Schnellstart
Generator oder eigenständiges Repo, Paketstruktur und Exporte.
Manifest
Kennung, Regionen, Blöcke, Einstellungen und Lizenz-Feld.
Darstellung
Render-Eingaben, Navigation, Theme-Tokens, Dunkelmodus, Barrierefreiheit.
Tests, CI und Secret-Scan
Tests nur gegen das SDK, CI-Workflow, Gitleaks-Konfiguration.
Freischaltung und Lizenz
Passung, Freigabe je Gliederung, Lizenz-Katalog (ADR-0107).
Ausliefern und versionieren
Ins Image bringen, Semver, Veröffentlichung.
Was Sie damit erreichen
| Wunsch | So geht es |
|---|---|
| Ganz andere Gestaltung | Eigenes Paket mit eigener Render-Funktion; der Kern bleibt unverändert. |
| Mehrere Templates je Website | Alle installierten und freigeschalteten Templates erscheinen in der Galerie; einzelne Seiten können ein anderes Template wählen. |
| Templates je Organisationsart | siteKinds/siteRoles im Manifest plus Freigabe cms.templates.allowed je Gliederung (vererbt). |
| Buchbare Templates | Optionales license-Feld im Manifest; geprüft über die Lizenzprüfung der Plattform. |