Plugins erweitern EmDash über eine definierte Erweiterungsoberfläche. Sie können auf Ereignisse des Content-Lebenszyklus reagieren, eigene Daten speichern, Einstellungen für Administratoren bereitstellen, Seiten zum Admin-Panel hinzufügen und API-Routen bereitstellen.
Was Plugins tun können
Auf Ereignisse reagieren
Code ausführen beim Speichern von Inhalten, Hochladen von Medien, Kommentarmoderation, geplanten Aufgaben und Plugin-Lebenszyklusereignissen.
Daten speichern
Plugin-spezifische Datensätze in indizierten Sammlungen speichern, plus einen plugin-eigenen Key-Value-Store für Einstellungen und Status.
Admin-Seiten hinzufügen
Seiten und Dashboard-Widgets zum Admin-Panel beitragen, mit automatisch generierten Einstellungsformularen.
API-Routen bereitstellen
Endpunkte unter /_emdash/api/plugins/<id>/<route> für die Admin-UI oder externe Integrationen verfügbar machen.
Externe APIs aufrufen
HTTP-Anfragen mit deklarierten Host-Allowlisten durchführen.
E-Mails senden
Transaktions-E-Mails über den konfigurierten Anbieter versenden.
Zwei Arten von Plugins
EmDash-Plugins gibt es in zwei Formaten:
- Sandboxed Plugins laufen in einer isolierten Laufzeitumgebung, die von einem konfigurierbaren Sandbox-Runner verwaltet wird. Sie können mit einem Klick aus dem Marketplace installiert werden, unterliegen Capability- und Ressourcen-Enforcement und erreichen nur die APIs, die sie deklarieren. Dies ist die empfohlene Wahl für die meisten Plugins.
- Native Plugins laufen im selben Prozess wie Ihre Astro-Site. Sie haben vollen Zugriff auf die Laufzeitumgebung, können React-Admin-Seiten und Portable-Text-Rendering-Komponenten bereitstellen und HTML in öffentliche Seiten einfügen. Sie werden über eine Codeänderung plus Deployment installiert und laufen aus npm statt aus dem Marketplace.
Wenn Sie ein Plugin installieren, das jemand anderes erstellt hat, möchten Sie fast immer sandboxed. Wenn Sie selbst eines erstellen, siehe Auswahl eines Plugin-Formats.
Für Site-Betreiber
Wenn Sie Plugins auf Ihrer Site installieren oder konfigurieren möchten:
Plugins installieren
Aus dem Marketplace installieren, aktivieren, Einstellungen konfigurieren.
Für Plugin-Autoren
Wenn Sie ein Plugin erstellen möchten: