Instalación de Plugins

En esta página

Los plugins de EmDash se pueden instalar de dos maneras: desde el mercado a través del panel de administración, o agregados directamente en tu configuración de Astro. Los plugins del mercado se ejecutan en un sandbox aislado; los plugins basados en configuración se ejecutan en proceso.

Desde el mercado

El panel de administración incluye un navegador de mercado donde puedes buscar, instalar y gestionar plugins.

Requisitos previos

Para instalar plugins del mercado, tu sitio necesita:

  1. Ejecutor de sandbox configurado — Los plugins del mercado se ejecutan en workers V8 aislados, lo que requiere el runtime de sandbox:

    import { emdash } from "emdash/astro";
    
    export default defineConfig({
      integrations: [
        emdash({
          marketplace: "https://marketplace.emdashcms.com",
          sandboxRunner: true,
        }),
      ],
    });
  2. Acceso admin — Solo los administradores pueden instalar o eliminar plugins.

  1. Abre el panel de administración y navega a Plugins > Mercado
  2. Navega o busca un plugin
  3. Haz clic en la tarjeta del plugin para ver su página de detalle — README, capturas de pantalla, capacidades y resultados de auditoría de seguridad
  4. Haz clic en Instalar
  5. Revisa el diálogo de consentimiento de capacidades — esto muestra a qué podrá acceder el plugin
  6. Confirma la instalación

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

Consentimiento de capacidades

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

CapacidadSignificado
read:contentLeer tu contenido
write:contentCrear, actualizar y eliminar contenido
read:mediaAcceder a tu biblioteca multimedia
write:mediaSubir y gestionar medios
network:fetchHacer solicitudes de red a hosts específicos

Auditoría de seguridad

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

  • Aprobado — No se encontraron problemas
  • Advertencia — Preocupaciones menores señaladas (revisa los hallazgos)
  • Reprobado — Problemas de seguridad significativos detectados

Puedes ver el informe de auditoría completo en la página de detalle del plugin, incluyendo hallazgos individuales y su gravedad.

Actualizaciones

Cuando hay una versión más nueva de un plugin instalado disponible:

  1. Ve a Plugins en el panel de administración
  2. Los plugins del mercado muestran un badge Actualización disponible
  3. Haz clic en Actualizar para ver el changelog y cualquier cambio de capacidad
  4. Si la nueva versión requiere capacidades adicionales, verás un diff y necesitarás aprobar
  5. Confirma para actualizar

Desinstalar

  1. Ve a Plugins en el panel de administración
  2. Haz clic en el plugin del mercado que deseas eliminar
  3. Haz clic en Desinstalar
  4. Elige si mantener o eliminar los datos almacenados del plugin
  5. Confirma

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

Desde configuración

Para plugins nativos (tu propio código, o paquetes instalados vía npm), agrégalos directamente a tu config de Astro:

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

Mercado vs Configuración: Cuándo usar cuál

Mercado (sandboxed)Configuración (nativo)
Método de instalaciónUn clic en interfaz adminCambio de código + npm install + despliegue
EjecuciónIsolate V8 aisladoEn proceso
CapacidadesAplicadas en tiempo de ejecuciónSolo asesoramiento
APIs Node.jsNo disponibleAcceso completo
Páginas admin ReactNo (Block Kit en su lugar)
Componentes renderizado PTNo
ActualizacionesUn clic en adminBump de versión + despliegue
Mejor paraLa mayoría de los pluginsPlugins que necesitan integración en tiempo de compilación