Plugins

Nesta página

Plugins estendem o EmDash através de uma superfície de extensão definida. Eles podem reagir a eventos do ciclo de vida do conteúdo, armazenar seus próprios dados, expor configurações para administradores, adicionar páginas ao painel de administração e servir rotas de API.

O que os plugins podem fazer

Reagir a eventos

Executar código ao salvar conteúdo, fazer upload de mídia, moderar comentários, executar tarefas agendadas e eventos do ciclo de vida do plugin.

Armazenar dados

Persistir registros específicos do plugin em coleções indexadas, além de um armazenamento chave-valor por plugin para configurações e estado.

Adicionar páginas de administração

Contribuir com páginas e widgets de painel para o painel de administração, com formulários de configurações gerados automaticamente.

Servir rotas de API

Expor endpoints sob /_emdash/api/plugins/<id>/<route> para a interface de administração ou integrações externas.

Chamar APIs externas

Fazer requisições HTTP com listas de hosts permitidos declaradas.

Enviar email

Enviar email transacional através do provedor configurado.

Dois tipos de plugins

Os plugins do EmDash vêm em dois formatos:

  • Plugins em sandbox são executados em um ambiente de execução isolado gerenciado por um executor de sandbox configurável. Eles podem ser instalados do marketplace com um clique, estão sujeitos à aplicação de capacidade e recursos, e alcançam apenas as APIs que declaram. Esta é a escolha recomendada para a maioria dos plugins.
  • Plugins nativos são executados no mesmo processo que seu site Astro. Eles têm acesso completo ao ambiente de execução, podem fornecer páginas de administração React e componentes de renderização Portable Text, e injetar HTML em páginas públicas. Eles são instalados por meio de uma mudança de código mais uma implantação, e executam a partir do npm em vez do marketplace.

Se você está instalando um plugin que outra pessoa construiu, você quase sempre vai querer sandbox. Se você está construindo um você mesmo, veja Escolhendo um formato de plugin.

Para operadores de site

Se você quer instalar ou configurar plugins no seu site:

Instalando plugins

Instalar do marketplace, habilitar, configurar definições.

Para autores de plugins

Se você quer construir um plugin: