I plugin estendono EmDash attraverso una superficie di estensione definita. Possono reagire agli eventi del ciclo di vita dei contenuti, memorizzare i propri dati, esporre impostazioni agli amministratori, aggiungere pagine al pannello di amministrazione e servire route API.
Cosa possono fare i plugin
Reagire agli eventi
Eseguire codice al salvataggio dei contenuti, caricamento di media, moderazione dei commenti, attività pianificate ed eventi del ciclo di vita dei plugin.
Memorizzare dati
Persistere record specifici del plugin in collezioni indicizzate, più uno store chiave-valore per plugin per impostazioni e stato.
Aggiungere pagine admin
Contribuire pagine e widget della dashboard al pannello di amministrazione, con form di impostazioni auto-generati.
Servire route API
Esporre endpoint sotto /_emdash/api/plugins/<id>/<route> per l’interfaccia admin o integrazioni esterne.
Chiamare API esterne
Effettuare richieste HTTP con allowlist di host dichiarate.
Inviare email
Inviare email transazionali attraverso il provider configurato.
Due tipi di plugin
I plugin EmDash sono disponibili in due formati:
- Plugin sandboxed vengono eseguiti in un ambiente di runtime isolato gestito da un sandbox runner configurabile. Possono essere installati dal marketplace con un clic, sono soggetti a enforcement di capability e risorse, e raggiungono solo le API che dichiarano. Questa è la scelta consigliata per la maggior parte dei plugin.
- Plugin nativi vengono eseguiti nello stesso processo del tuo sito Astro. Hanno accesso completo al runtime, possono fornire pagine admin React e componenti di rendering Portable Text, e iniettare HTML nelle pagine pubbliche. Si installano tramite una modifica al codice più un deploy, e vengono eseguiti da npm anziché dal marketplace.
Se stai installando un plugin creato da qualcun altro, quasi sempre vorrai sandboxed. Se ne stai costruendo uno tu stesso, consulta Scegliere un formato di plugin.
Per gli operatori del sito
Se vuoi installare o configurare plugin sul tuo sito:
Installare plugin
Installare dal marketplace, abilitare, configurare le impostazioni.
Per gli autori di plugin
Se vuoi creare un plugin: