Instalación de Plugins

En esta página

Los plugins de EmDash se pueden instalar de dos formas: desde el marketplace a través del panel de administración, o agregados directamente en su configuración de Astro. Los plugins del marketplace siempre se ejecutan en sandbox; los plugins basados en configuración se ejecutan en sandbox o en proceso dependiendo del array en el que se declaren (sandboxed: [] vs plugins: []).

Desde el Marketplace

El panel de administración incluye un navegador del marketplace donde puede buscar, instalar y administrar plugins.

Requisitos previos

Para instalar plugins del marketplace, su sitio necesita:

  1. Sandbox runner configurado — Los plugins del marketplace se ejecutan en un entorno aislado, que requiere el sandbox runner. La siguiente configuración lo habilita:

    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. Acceso de administrador — Solo los administradores pueden instalar o eliminar plugins.

Explorar e Instalar

  1. Abra el panel de administración y navegue a Plugins > Marketplace
  2. Explore o busque un plugin
  3. Haga clic en la tarjeta del plugin para ver su página de detalles — README, capturas de pantalla, capacidades y resultados de auditoría de seguridad
  4. Haga clic en Instalar
  5. Revise el diálogo de consentimiento de capacidades — esto muestra a qué podrá acceder el plugin
  6. Confirme la instalación

El plugin se descargará, se almacenará en el bucket R2 de su sitio y se cargará en el sandbox runner. Está activo inmediatamente.

Consentimiento de Capacidades

Antes de la instalación, verá un diálogo que lista a qué necesita acceder el plugin:

CapacidadQué significa
content:readLeer su contenido
content:writeCrear, actualizar y eliminar contenido
media:readAcceder a su biblioteca de medios
media:writeSubir y administrar medios
network:requestHacer solicitudes de red a hosts específicos

Auditoría de Seguridad

Cada versión de plugin en el marketplace ha pasado por una auditoría de seguridad automatizada. El veredicto de la auditoría aparece en la tarjeta del plugin:

  • Pass — No se encontraron problemas
  • Warn — Preocupaciones menores señaladas (revise los hallazgos)
  • Fail — Problemas de seguridad significativos detectados

Puede ver el informe de auditoría completo en la página de detalles del plugin, incluidos hallazgos individuales y su gravedad.

Actualizaciones

Cuando una versión más reciente de un plugin instalado está disponible:

  1. Vaya a Plugins en el panel de administración
  2. Los plugins del marketplace muestran una insignia de Actualización disponible
  3. Haga clic en Actualizar para ver el registro de cambios y cualquier cambio de capacidades
  4. Si la nueva versión requiere capacidades adicionales, verá una diferencia y necesitará aprobar
  5. Confirme para actualizar

Desinstalación

  1. Vaya a Plugins en el panel de administración
  2. Haga clic en el plugin del marketplace que desea eliminar
  3. Haga clic en Desinstalar
  4. Elija si mantener o eliminar los datos almacenados del plugin
  5. Confirme

El código sandbox del plugin se elimina de su bucket R2 y deja de ejecutarse inmediatamente.

Desde Configuración

Los plugins nativos — su propio código o paquetes instalados a través de npm — se agregan directamente a la configuración de Astro. El siguiente ejemplo registra el plugin SEO:

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 }),
      ],
    }),
  ],
});

Plugins nativos:

  • Se ejecutan en proceso (no en sandbox)
  • Tienen acceso completo a las APIs de Node.js
  • Se cargan en tiempo de compilación y en cada inicio del servidor
  • No se pueden instalar o eliminar desde la interfaz de administración

Marketplace vs. configuración — cuándo usar cuál

Marketplace (sandbox)Configuración (nativo o en proceso en sandbox)
Método de instalaciónUn clic en la interfaz de administraciónCambio de código + npm install + despliegue
EjecuciónEntorno sandbox a través del runner configuradoEn proceso (o en sandbox si se lista bajo sandboxed: [] y hay un runner disponible)
CapacidadesAplicadas por el puente de sandbox — control ctx.* más aislamiento de tiempo de ejecuciónSolo control ctx.* (los plugins en proceso pueden omitir a través de fetch() directo, env, imports)
APIs de Node.jsNo disponiblesAcceso completo (solo en proceso)
Páginas de administración de ReactNo (Block Kit en su lugar)Sí (plugins nativos)
Componentes de renderizado PTNoSí (plugins nativos)
ActualizacionesUn clic en administraciónIncremento de versión + despliegue
Mejor paraLa mayoría de los pluginsPlugins que necesitan integración en tiempo de compilación