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: