EmDash 外掛可以透過兩種方式安裝:從市場透過後台儀表板安裝,或直接在 Astro 組態中新增。市場外掛在隔離的沙盒中執行;基於組態的外掛在處理程序中執行。
從市場安裝
後台儀表板包含一個市場瀏覽器,你可以在其中搜尋、安裝和管理外掛。
前提條件
要安裝市場外掛,你的網站需要:
-
設定沙盒執行器 — 市場外掛在隔離的 V8 worker 中執行,這需要沙盒執行時:
import { emdash } from "emdash/astro"; export default defineConfig({ integrations: [ emdash({ marketplace: "https://marketplace.emdashcms.com", sandboxRunner: true, }), ], }); -
後台存取權限 — 只有管理員可以安裝或刪除外掛。
瀏覽和安裝
- 開啟後台面板並導覽到 外掛 > 市場
- 瀏覽或搜尋外掛
- 點選外掛卡片檢視其詳細資訊頁面 — README、截圖、功能和安全稽核結果
- 點選 安裝
- 檢視功能同意對話方塊 — 這顯示了外掛將能夠存取的內容
- 確認安裝
外掛將被下載,儲存在你網站的 R2 bucket 中,並載入到沙盒執行器中。它立即生效。
功能同意
在安裝之前,你會看到一個對話方塊,列出外掛需要存取的內容:
| 功能 | 含義 |
|---|---|
read:content | 讀取你的內容 |
write:content | 建立、更新和刪除內容 |
read:media | 存取你的媒體庫 |
write:media | 上傳和管理媒體 |
network:fetch | 向特定主機發出網路請求 |
安全稽核
市場中的每個外掛版本都經過了自動安全稽核。稽核結果顯示在外掛卡片上:
- 通過 — 未發現問題
- 警告 — 標記了小問題(檢視詳情)
- 失敗 — 偵測到嚴重的安全問題
你可以在外掛的詳細資訊頁面上檢視完整的稽核報告,包括各個發現及其嚴重性。
更新
當已安裝外掛有新版本可用時:
- 轉到後台面板中的 外掛
- 市場外掛顯示 有可用更新 徽章
- 點選 更新 檢視變更日誌和任何功能變更
- 如果新版本需要額外的功能,你會看到差異並需要核准
- 確認以更新
解除安裝
- 轉到後台面板中的 外掛
- 點選要移除的市場外掛
- 點選 解除安裝
- 選擇是保留還是刪除外掛的儲存資料
- 確認
外掛的沙盒程式碼將從你的 R2 bucket 中刪除,並立即停止執行。
從組態安裝
對於原生外掛(你自己的程式碼,或透過 npm 安裝的套件),直接將它們新增到你的 Astro 組態中:
import { defineConfig } from "astro/config";
import { emdash } from "emdash/astro";
import seoPlugin from "@emdash-cms/plugin-seo";
export default defineConfig({
integrations: [
emdash({
plugins: [
seoPlugin({ generateSitemap: true }),
],
}),
],
});
原生外掛:
- 在處理程序中執行(不沙盒化)
- 擁有對 Node.js API 的完全存取權限
- 在建置時和每次伺服器啟動時載入
- 無法從後台 UI 安裝或移除
市場與組態:何時使用哪個
| 市場(沙盒化) | 組態(原生) | |
|---|---|---|
| 安裝方法 | 後台 UI 中一鍵安裝 | 程式碼變更 + npm install + 部署 |
| 執行 | 隔離的 V8 isolate | 處理程序中 |
| 功能 | 在執行時強制執行 | 僅建議 |
| Node.js API | 不可用 | 完全存取 |
| React 後台頁面 | 否(改用 Block Kit) | 是 |
| PT 渲染元件 | 否 | 是 |
| 更新 | 後台中一鍵更新 | 版本升級 + 部署 |
| 最適合 | 大多數外掛 | 需要建置時整合的外掛 |