外掛程式透過定義的擴充介面擴充 EmDash。它們可以回應內容生命週期事件、儲存自己的資料、向管理員公開設定、向管理面板新增頁面並提供 API 路由。
外掛程式可以做什麼
回應事件
在內容儲存、媒體上傳、留言審核、排程任務和外掛程式生命週期事件時執行程式碼。
儲存資料
在索引集合中持久化外掛程式特定的記錄,以及每個外掛程式的鍵值儲存用於設定和狀態。
新增管理頁面
向管理面板貢獻頁面和儀表板小工具,並提供自動產生的設定表單。
提供 API 路由
在 /_emdash/api/plugins/<id>/<route> 下暴露端點,供管理 UI 或外部整合使用。
呼叫外部 API
使用宣告的主機白名單發起 HTTP 請求。
傳送郵件
透過設定的提供商傳送交易性郵件。
兩種外掛程式類型
EmDash 外掛程式有兩種格式:
- 沙箱外掛程式在由可設定的沙箱執行器管理的隔離執行時中執行。它們可以從市集一鍵安裝,受能力和資源強制約束,並且只能存取它們宣告的 API。這是大多數外掛程式的建議選擇。
- 原生外掛程式在與您的 Astro 網站相同的處理程序中執行。它們可以完全存取執行時,可以提供 React 管理頁面和 Portable Text 渲染元件,並向公開頁面注入 HTML。它們透過程式碼變更加部署安裝,並從 npm 而不是市集執行。
如果您要安裝別人建置的外掛程式,幾乎總是需要沙箱外掛程式。如果您要自己建置外掛程式,請參閱選擇外掛程式格式。
對於網站營運者
如果您想在網站上安裝或設定外掛程式:
安裝外掛程式
從市集安裝、啟用、設定設定。
對於外掛程式作者
如果您想建置外掛程式: