ZADA PluginLoader

Diese Seite dokumentiert die Runtime-Plugin-Architektur von ZADA und zeigt sie live am ace-snippets Plugin (Inline-Ace im Fließtext + optional Tabs/Manifest).

Prinzip: pluginLoader.js liest #ZADA_PLUGINS, lädt Plugin-Scripts (src), und ruft danach plugin.init(ctx, options) auf. Ohne #ZADA_PLUGINS ist der Loader ein No-Op.

1) Core: pluginLoader.js

Wesentliche Idee: Registry + deterministisches Laden/Init aus einem JSON-Script-Tag.

/js/core/pluginLoader.js

2) Plugin: ace-snippets

Das Plugin kann:

  • Inline ACE-Blöcke initialisieren (DOM-Markup: .zada-ace[data-src]) – kein Manifest nötig
  • Tabs + Editor über Manifest (manifestUrl) – klassische Snippet-Liste

/js/plugins/ace-snippets/aceSnippetsPlugin.js

3) Page-Konfiguration: #ZADA_PLUGINS

Damit der Loader arbeitet, muss die Seite eine Plugin-Konfiguration enthalten. Beispiel:

/plugins/ace/snippets/zada-framework/pluginInitSectionExampe.json

Hinweis: Der Loader lädt zuerst alle src-Skripte in Reihenfolge und initialisiert danach Plugins in derselben Reihenfolge.

4) Live-Demo: Inline ACE im Text (ohne Manifest)

Diese beiden Blöcke sind reine HTML-Platzhalter. Das Plugin findet sie über embeddedSelector und rendert sie als read-only ACE.

Example snippet asset: pageController.js
Example snippet asset: updatePageMeta.js

5) Live-Demo: Tabs + Manifest

Dieser Bereich nutzt ein Manifest als Snippet-Liste: /plugins/ace/snippets/zada-framework/manifest.json.

Manifest