Zum Inhalt springen

Plugins installieren

EmDash-Plugins können auf zwei Arten installiert werden: über den Marketplace im Admin-Dashboard oder direkt über Ihre Astro-Konfiguration. Marketplace-Plugins laufen in einer isolierten Sandbox, konfigurationsbasierte Plugins dagegen direkt im Prozess Ihrer Website.

Das Admin-Dashboard enthält einen Marketplace-Browser, in dem Sie Plugins suchen, installieren und verwalten können.

Um Marketplace-Plugins zu installieren, benötigt Ihre Website:

  1. Konfigurierter Sandbox-Runner — Marketplace-Plugins laufen in isolierten V8-Workern, was die Sandbox-Laufzeitumgebung erfordert:

    astro.config.mjs
    import { emdash } from "emdash/astro";
    export default defineConfig({
    integrations: [
    emdash({
    marketplace: "https://marketplace.emdashcms.com",
    sandboxRunner: true,
    }),
    ],
    });
  2. Admin-Zugriff — Nur Administratoren können Plugins installieren oder entfernen.

  1. Öffnen Sie das Admin-Oberfläche und navigieren Sie zu Plugins > Marketplace
  2. Durchsuchen oder suchen Sie nach einem Plugin
  3. Klicken Sie auf die Plugin-Karte, um die Detailseite zu sehen — README, Screenshots, Fähigkeiten und Sicherheitsaudit-Ergebnisse
  4. Klicken Sie auf Installieren
  5. Überprüfen Sie den Fähigkeiten-Zustimmungsdialog — dieser zeigt, worauf das Plugin zugreifen können wird
  6. Bestätigen Sie die Installation

Das Plugin wird heruntergeladen, im R2-Bucket Ihrer Website gespeichert und in den Sandbox-Runner geladen. Es ist sofort aktiv.

Vor der Installation sehen Sie einen Dialog, der auflistet, worauf das Plugin Zugriff benötigt:

FähigkeitWas es bedeutet
read:contentIhre Inhalte lesen
write:contentInhalte erstellen, aktualisieren und löschen
read:mediaAuf Ihre Mediathek zugreifen
write:mediaMedien hochladen und verwalten
network:fetchNetzwerkanfragen an bestimmte Hosts stellen

Jede Plugin-Version im Marketplace hat einen automatisierten Sicherheitsaudit durchlaufen. Das Audit-Ergebnis erscheint auf der Plugin-Karte:

  • Bestanden — Keine Probleme gefunden
  • Warnung — Geringfügige Bedenken gemeldet (Überprüfen Sie die Ergebnisse)
  • Fehlgeschlagen — Erhebliche Sicherheitsprobleme erkannt

Sie können den vollständigen Audit-Bericht auf der Detailseite des Plugins einsehen, einschließlich einzelner Ergebnisse und ihrer Schwere.

Wenn eine neuere Version eines installierten Plugins verfügbar ist:

  1. Gehen Sie zu Plugins im Admin-Oberfläche
  2. Marketplace-Plugins zeigen einen Update verfügbar-Badge an
  3. Klicken Sie auf Aktualisieren, um das Changelog und eventuelle Fähigkeitsänderungen zu sehen
  4. Wenn die neue Version zusätzliche Fähigkeiten benötigt, sehen Sie einen Diff und müssen zustimmen
  5. Bestätigen Sie, um zu aktualisieren
  1. Gehen Sie zu Plugins im Admin-Oberfläche
  2. Klicken Sie auf das Marketplace-Plugin, das Sie entfernen möchten
  3. Klicken Sie auf Deinstallieren
  4. Wählen Sie, ob die gespeicherten Daten des Plugins behalten oder gelöscht werden sollen
  5. Bestätigen Sie

Der Sandbox-Code des Plugins wird aus Ihrem R2-Bucket entfernt und es stoppt sofort die Ausführung.

Für vertrauenswürdige Plugins (Ihren eigenen Code oder Pakete, die Sie via npm installieren) fügen Sie diese direkt Ihrer Astro-Konfiguration hinzu:

astro.config.mjs
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 }),
],
}),
],
});

Konfigurationsbasierte Plugins:

  • Laufen im Prozess (nicht sandboxed)
  • Haben vollen Zugriff auf Node.js-APIs
  • Werden zur Build-Zeit und bei jedem Serverstart geladen
  • Können nicht über die Admin-UI installiert oder entfernt werden

Marketplace vs. Konfiguration: wann was sinnvoll ist

Abschnitt betitelt „Marketplace vs. Konfiguration: wann was sinnvoll ist“
MarketplaceKonfiguration
AusführungSandboxed V8-IsolatIm Prozess
InstallationsmethodeAdmin-UICode-Änderung + Deploy
FähigkeitenZur Laufzeit erzwungenNur Dokumentation
Node.js-APIsNicht verfügbarVollzugriff
Am besten fürThird-Party-PluginsFirst-Party-Code
UpdatesEin-Klick im AdminVersions-Bump + Deploy