Plugins installieren

Auf dieser Seite

EmDash-Plugins können auf zwei Arten installiert werden: über den Marketplace im Admin-Dashboard oder direkt in Ihrer Astro-Konfiguration. Marketplace-Plugins laufen immer in einer Sandbox; konfigurationsbasierte Plugins laufen je nach Array, in dem sie deklariert sind, in einer Sandbox oder im Prozess (sandboxed: [] vs. plugins: []).

Aus dem 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 Website:

  1. Konfigurierter Sandbox-Runner — Marketplace-Plugins laufen in einer isolierten Laufzeitumgebung, die den Sandbox-Runner erfordert. Die folgende Konfiguration aktiviert ihn:

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

Durchsuchen und Installieren

  1. Öffnen Sie das Admin-Panel 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, Berechtigungen und Sicherheitsprüfungsergebnisse
  4. Klicken Sie auf Installieren
  5. Überprüfen Sie den Dialog zur Berechtigungszustimmung — dieser zeigt, worauf das Plugin zugreifen kann
  6. Bestätigen Sie die Installation

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

Berechtigungszustimmung

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

BerechtigungWas es bedeutet
content:readIhre Inhalte lesen
content:writeInhalte erstellen, aktualisieren und löschen
media:readAuf Ihre Medienbibliothek zugreifen
media:writeMedien hochladen und verwalten
network:requestNetzwerkanfragen an bestimmte Hosts stellen

Sicherheitsprüfung

Jede Plugin-Version im Marketplace wurde einer automatisierten Sicherheitsprüfung unterzogen. Das Prüfungsergebnis erscheint auf der Plugin-Karte:

  • Pass — Keine Probleme gefunden
  • Warn — Kleinere Bedenken gekennzeichnet (überprüfen Sie die Ergebnisse)
  • Fail — Erhebliche Sicherheitsprobleme erkannt

Sie können den vollständigen Prüfbericht auf der Detailseite des Plugins einsehen, einschließlich einzelner Ergebnisse und deren Schweregrad.

Updates

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

  1. Gehen Sie zu Plugins im Admin-Panel
  2. Marketplace-Plugins zeigen ein Update verfügbar-Badge
  3. Klicken Sie auf Update, um das Changelog und eventuelle Berechtigungsänderungen zu sehen
  4. Wenn die neue Version zusätzliche Berechtigungen erfordert, sehen Sie einen Diff und müssen zustimmen
  5. Bestätigen Sie das Update

Deinstallieren

  1. Gehen Sie zu Plugins im Admin-Panel
  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

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

Aus der Konfiguration

Native Plugins — Ihr eigener Code oder über npm installierte Pakete — werden direkt zur Astro-Konfiguration hinzugefügt. Das folgende Beispiel registriert das SEO-Plugin:

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 einer Sandbox)
  • 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 welche verwenden

Marketplace (Sandbox)Konfiguration (native oder im Prozess in Sandbox)
InstallationsmethodeEin Klick in der Admin-UICodeänderung + npm install + Deployment
AusführungSandbox-Laufzeit über den konfigurierten RunnerIm Prozess (oder in Sandbox, wenn unter sandboxed: [] aufgelistet und ein Runner verfügbar ist)
BerechtigungenDurchgesetzt durch die Sandbox-Bridge — ctx.*-Gating plus Laufzeit-IsolationNur ctx.*-Gating (Plugins im Prozess können über direktes fetch(), env, imports umgehen)
Node.js-APIsNicht verfügbarVoller Zugriff (nur im Prozess)
React-Admin-SeitenNein (stattdessen Block Kit)Ja (native Plugins)
PT-Rendering-KomponentenNeinJa (native Plugins)
UpdatesEin Klick im AdminVersion-Bump + Deployment
Am besten fürDie meisten PluginsPlugins, die Build-Zeit-Integration benötigen