EmDash-Plugins können auf zwei Arten installiert werden: vom Marketplace über das Admin-Dashboard oder direkt in Ihrer Astro-Konfiguration hinzugefügt. Marketplace-Plugins laufen in einer isolierten Sandbox; konfigurationsbasierte Plugins laufen im Prozess.
Vom Marketplace
Das Admin-Dashboard enthält einen Marketplace-Browser, in dem Sie Plugins suchen, installieren und verwalten können.
Voraussetzungen
Um Marketplace-Plugins zu installieren, benötigt Ihre Site:
-
Sandbox-Runner konfiguriert — Marketplace-Plugins laufen in isolierten V8-Workern, was die Sandbox-Laufzeit erfordert:
import { emdash } from "emdash/astro"; export default defineConfig({ integrations: [ emdash({ marketplace: "https://marketplace.emdashcms.com", sandboxRunner: true, }), ], }); -
Admin-Zugriff — Nur Administratoren können Plugins installieren oder entfernen.
Durchsuchen und Installieren
- Öffnen Sie das Admin-Panel und navigieren Sie zu Plugins > Marketplace
- Durchsuchen oder suchen Sie nach einem Plugin
- Klicken Sie auf die Plugin-Karte, um die Detailseite zu sehen — README, Screenshots, Fähigkeiten und Sicherheitsaudit-Ergebnisse
- Klicken Sie auf Installieren
- Überprüfen Sie den Capability-Consent-Dialog — dieser zeigt, worauf das Plugin zugreifen kann
- Bestätigen Sie die Installation
Das Plugin wird heruntergeladen, in Ihrem Site-R2-Bucket gespeichert und in den Sandbox-Runner geladen. Es ist sofort aktiv.
Capability-Zustimmung
Vor der Installation sehen Sie einen Dialog, der auflistet, worauf das Plugin zugreifen muss:
| Capability | Bedeutung |
|---|---|
read:content | Ihren Content lesen |
write:content | Content erstellen, aktualisieren und löschen |
read:media | Auf Ihre Medienbibliothek zugreifen |
write:media | Medien hochladen und verwalten |
network:fetch | Netzwerkanfragen an bestimmte Hosts stellen |
Sicherheitsaudit
Jede Plugin-Version im Marketplace wurde einem automatisierten Sicherheitsaudit unterzogen. Das Audit-Urteil erscheint auf der Plugin-Karte:
- Bestanden — Keine Probleme gefunden
- Warnung — Kleinere Bedenken gemeldet (Ergebnisse überprüfen)
- Durchgefallen — Signifikante Sicherheitsprobleme erkannt
Sie können den vollständigen Audit-Bericht auf der Detailseite des Plugins einsehen, einschließlich einzelner Befunde und deren Schweregrad.
Updates
Wenn eine neuere Version eines installierten Plugins verfügbar ist:
- Gehen Sie zu Plugins im Admin-Panel
- Marketplace-Plugins zeigen ein Update verfügbar-Badge
- Klicken Sie auf Update, um das Changelog und Capability-Änderungen zu sehen
- Wenn die neue Version zusätzliche Capabilities benötigt, sehen Sie einen Diff und müssen genehmigen
- Bestätigen Sie zum Aktualisieren
Deinstallation
- Gehen Sie zu Plugins im Admin-Panel
- Klicken Sie auf das Marketplace-Plugin, das Sie entfernen möchten
- Klicken Sie auf Deinstallieren
- Wählen Sie, ob die gespeicherten Daten des Plugins behalten oder gelöscht werden sollen
- Bestätigen
Der Sandbox-Code des Plugins wird aus Ihrem R2-Bucket entfernt und es wird sofort gestoppt.
Aus Konfiguration
Für native Plugins (Ihr eigener Code oder über npm installierte Pakete) fügen Sie sie direkt zu Ihrer Astro-Config hinzu:
import { defineConfig } from "astro/config";
import { emdash } from "emdash/astro";
import seoPlugin from "@emdash-cms/plugin-seo";
export default defineConfig({
integrations: [
emdash({
plugins: [
seoPlugin({ generateSitemap: true }),
],
}),
],
});
Native Plugins:
- Laufen im Prozess (nicht in Sandbox)
- Haben vollen Zugriff auf Node.js-APIs
- Werden zur Build-Zeit und bei jedem Server-Start geladen
- Können nicht über die Admin-UI installiert oder entfernt werden
Marketplace vs. Config: Wann welches verwenden
| Marketplace (sandboxed) | Config (nativ) | |
|---|---|---|
| Installationsmethode | Ein Klick in Admin-UI | Code-Änderung + npm install + Deploy |
| Ausführung | Isoliertes V8 Isolate | Im Prozess |
| Capabilities | Zur Laufzeit erzwungen | Nur beratend |
| Node.js APIs | Nicht verfügbar | Voller Zugriff |
| React-Admin-Seiten | Nein (stattdessen Block Kit) | Ja |
| PT-Rendering-Komponenten | Nein | Ja |
| Updates | Ein Klick im Admin | Versions-Bump + Deploy |
| Am besten für | Die meisten Plugins | Plugins mit Build-Zeit-Integration |