外掛程式

本頁內容

外掛程式透過定義的擴充介面擴充 EmDash。它們可以回應內容生命週期事件、儲存自己的資料、向管理員公開設定、向管理面板新增頁面並提供 API 路由。

外掛程式可以做什麼

回應事件

在內容儲存、媒體上傳、留言審核、排程任務和外掛程式生命週期事件時執行程式碼。

儲存資料

在索引集合中持久化外掛程式特定的記錄,以及每個外掛程式的鍵值儲存用於設定和狀態。

新增管理頁面

向管理面板貢獻頁面和儀表板小工具,並提供自動產生的設定表單。

提供 API 路由

/_emdash/api/plugins/<id>/<route> 下暴露端點,供管理 UI 或外部整合使用。

呼叫外部 API

使用宣告的主機白名單發起 HTTP 請求。

傳送郵件

透過設定的提供商傳送交易性郵件。

兩種外掛程式類型

EmDash 外掛程式有兩種格式:

  • 沙箱外掛程式在由可設定的沙箱執行器管理的隔離執行時中執行。它們可以從市集一鍵安裝,受能力和資源強制約束,並且只能存取它們宣告的 API。這是大多數外掛程式的建議選擇。
  • 原生外掛程式在與您的 Astro 網站相同的處理程序中執行。它們可以完全存取執行時,可以提供 React 管理頁面和 Portable Text 渲染元件,並向公開頁面注入 HTML。它們透過程式碼變更加部署安裝,並從 npm 而不是市集執行。

如果您要安裝別人建置的外掛程式,幾乎總是需要沙箱外掛程式。如果您要自己建置外掛程式,請參閱選擇外掛程式格式

對於網站營運者

如果您想在網站上安裝或設定外掛程式:

安裝外掛程式

從市集安裝、啟用、設定設定。

對於外掛程式作者

如果您想建置外掛程式: