ZADA – Zwischenstand / Notes
Diese Seite hält den aktuellen Zwischenstand der Überlegungen fest (damit man am nächsten Tag schnell wieder reinkommt).
Stand: 2026-02-20
Ziele
- ZADA als Framework-Name (globaler Namespace
window.ZADAok) - Framework soll nicht “techie” wirken, so dass auch Websites wie Bäckerei/Kindergarten möglich sind
- Programmier-/Spezialfeatures sollen ausgelagert werden (Plugins)
- Branding höchstens optional (z.B. “Built with ZADA” im Footer per Config)
- Option: später Open Source
Snippets / ACE Editor
Problem
- Snippets als JSON-Strings in der HTML sind nicht wartbar.
- Snippets sollen als echte Dateien gepflegt werden (JS/HTML/JSON/XML …).
Entscheidung
- Snippets in eigenem Ordner, z.B.:
/snippets/zada-framework/ - Ein
manifest.jsonlistet Snippets (Label, Pfad, optional ACE-Mode) - ACE lädt Inhalte per
fetch()und setzt Mode passend zur Dateiendung (oder explizit) - Kein Playground (read-only Viewer reicht; Playground kann extern via CodePen etc.)
Beispiel Struktur
snippets/
zada-framework/
manifest.json
PAGE_META.json
updatePageMeta.js
extractPageMeta.js
seo-template.html
Plugin-Architektur (UI Plugins)
Motivation
- Framework-Core soll generisch bleiben.
- Spezialfeatures (z.B. ACE Snippets Viewer) als Plugins auslagern.
- Es wird vermutlich mehr als ein solches Feature geben.
Minimal-Design
- Core stellt
ZADANamespace bereit und eine Plugin-Registry/Loader. - Plugin-Contract:
plugin.init(ctx, options)(async erlaubt). - Seiten aktivieren Plugins über JSON Config, z.B.
<script id="ZADA_PLUGINS" type="application/json">… - Loader lädt Plugin-Skripte dynamisch und ruft
initin definierter Reihenfolge auf.
Vorgeschlagenes Layout
js/
zada/
core/
plugins.js
plugins/
ace-snippets/
plugin.js
snippets/
...
Beispiel Config auf einer Seite
<script type="application/json" id="ZADA_PLUGINS">
{
"plugins": [
{
"name": "ace-snippets",
"src": "/js/zada/plugins/ace-snippets/plugin.js",
"options": {
"manifestUrl": "/snippets/zada-framework/manifest.json",
"tabsSelector": "#ZADA_TABS",
"editorSelector": "#ZADA_EDITOR"
}
}
]
}
</script>
Branding (optional)
- ZADA-Branding soll optional sein (z.B. Footer-Badge via Config).
- Core soll ohne sichtbares Branding nutzbar sein.
Idee: ZADA_CONFIG (JSON) mit z.B. { "branding": { "showFooterBadge": false } }.
Open Source – ToDos (später)
- Lizenz wählen (z.B. MIT oder Apache-2.0)
- README: Konzept, Quickstart, Ordnerstruktur
- Plugin-API dokumentieren
- Beispiel-Plugins + Beispiel-Site
Nächste Schritte
- Plugin-Core implementieren:
js/zada/core/plugins.js - ACE-Snippet-Feature in Plugin auslagern:
js/zada/plugins/ace-snippets/plugin.js - Snippet-Ordner + Manifest anlegen:
/snippets/zada-framework/* zada-framework.htmlnutzt nur noch Plugin-Config + UI Container