Instalação de Plugins

Nesta página

Os plugins EmDash podem ser instalados de duas maneiras: do marketplace através do painel de administração, ou adicionados diretamente em sua configuração Astro. Plugins do marketplace executam em um sandbox isolado; plugins baseados em configuração executam em processo.

Do marketplace

O painel de administração inclui um navegador de marketplace onde você pode pesquisar, instalar e gerenciar plugins.

Pré-requisitos

Para instalar plugins do marketplace, seu site precisa de:

  1. Executor de sandbox configurado — Plugins do marketplace executam em workers V8 isolados, o que requer o runtime de sandbox:

    import { emdash } from "emdash/astro";
    
    export default defineConfig({
      integrations: [
        emdash({
          marketplace: "https://marketplace.emdashcms.com",
          sandboxRunner: true,
        }),
      ],
    });
  2. Acesso admin — Apenas administradores podem instalar ou remover plugins.

  1. Abra o painel admin e navegue para Plugins > Marketplace
  2. Navegue ou pesquise por um plugin
  3. Clique no cartão do plugin para ver sua página de detalhes — README, capturas de tela, capacidades e resultados de auditoria de segurança
  4. Clique em Instalar
  5. Revise o diálogo de consentimento de capacidades — isso mostra o que o plugin poderá acessar
  6. Confirme a instalação

O plugin será baixado, armazenado no bucket R2 do seu site e carregado no executor de sandbox. Está ativo imediatamente.

Consentimento de capacidades

Antes da instalação, você verá um diálogo listando o que o plugin precisa acessar:

CapacidadeSignificado
read:contentLer seu conteúdo
write:contentCriar, atualizar e excluir conteúdo
read:mediaAcessar sua biblioteca de mídia
write:mediaUpload e gerenciar mídia
network:fetchFazer solicitações de rede para hosts específicos

Auditoria de segurança

Cada versão de plugin no marketplace passou por uma auditoria de segurança automatizada. O veredito da auditoria aparece no cartão do plugin:

  • Aprovado — Nenhum problema encontrado
  • Aviso — Preocupações menores sinalizadas (revise os achados)
  • Reprovado — Problemas de segurança significativos detectados

Você pode visualizar o relatório de auditoria completo na página de detalhes do plugin, incluindo achados individuais e sua gravidade.

Atualizações

Quando uma versão mais recente de um plugin instalado está disponível:

  1. Vá para Plugins no painel admin
  2. Plugins do marketplace mostram um badge Atualização disponível
  3. Clique em Atualizar para ver o changelog e quaisquer mudanças de capacidade
  4. Se a nova versão requer capacidades adicionais, você verá um diff e precisará aprovar
  5. Confirme para atualizar

Desinstalar

  1. Vá para Plugins no painel admin
  2. Clique no plugin do marketplace que você deseja remover
  3. Clique em Desinstalar
  4. Escolha se quer manter ou excluir os dados armazenados do plugin
  5. Confirme

O código sandbox do plugin é removido do seu bucket R2 e para de executar imediatamente.

Da configuração

Para plugins nativos (seu próprio código, ou pacotes instalados via npm), adicione-os diretamente à sua config 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:

  • Executam em processo (não em sandbox)
  • Têm acesso completo às APIs Node.js
  • São carregados no momento do build e em cada inicialização do servidor
  • Não podem ser instalados ou removidos da UI admin

Marketplace vs Configuração: Quando usar qual

Marketplace (sandboxed)Configuração (nativo)
Método de instalaçãoUm clique na UI adminMudança de código + npm install + deploy
ExecuçãoIsolate V8 isoladoEm processo
CapacidadesAplicadas em tempo de execuçãoApenas consultivas
APIs Node.jsNão disponívelAcesso completo
Páginas admin ReactNão (Block Kit em vez disso)Sim
Componentes de renderização PTNãoSim
AtualizaçõesUm clique no adminBump de versão + deploy
Melhor paraA maioria dos pluginsPlugins que precisam de integração no build