EmDash 是一個為 Astro 打造的 CMS。它為編輯人員提供管理介面,在執行時向你的 Astro 網站提供內容,並可在多種資料庫和主機上運行。
EmDash 的不同之處
Astro 原生架構
EmDash 專為 Astro 打造,而非從通用 CMS 改編。內容與你的網站位於同一部署中,透過 Astro 的即時內容集合在同一程序內查詢。
熟悉的內容模型
如果你使用過 WordPress,EmDash 的概念會讓你感到熟悉:集合(類似文章類型)、分類法、選單、小工具區域和媒體庫。心智模型可以遷移——實作使用的是現代工具。
框架整合
EmDash 是專為 Astro 而生的。這種緊密整合實現了型別安全的查詢、元件層級快取和整合預覽。
核心能力
單一部署
內容和前端一同部署。一個程式碼庫,一次部署,一個系統即可管理。
型別安全
從內容模型產生 TypeScript 型別,從查詢到範本獲得完整的自動補全。
即時更新
基於 Astro 的即時內容集合建構。內容更改會立即生效。
雲端可攜
可在 Cloudflare Workers 上使用 D1 和 R2 運行,也可在 Node.js 上使用 SQLite、libSQL 或 PostgreSQL 以及任何相容 S3 的儲存運行。
橫向對比
不同的 CMS 方案適合不同的需求:
| 面向 | 傳統 CMS | 無頭 CMS | EmDash |
|---|---|---|---|
| 架構 | 單體式 | 解耦式 | 與 Astro 整合 |
| 前端 | 主題/範本 | 自行建構 | Astro 元件 |
| 部署 | 單伺服器 | CMS + 前端 | 單一部署 |
| 型別安全 | 執行時 | API 型別 | 完整 TypeScript |
| 內容更新 | 即時 | Webhook/重建 | 即時(SSR) |
| 外掛模型 | 同程序 | API 擴充 | 原生或沙箱化掛鉤 |
Cloudflare 部署
EmDash 可在任何支援 SQL 資料庫(SQLite、libSQL 或 PostgreSQL)和相容 S3 儲存的平台上運行。它還支援 Cloudflare 特有的功能:
- D1 — 邊緣 SQLite,自動複製
- R2 — 相容 S3 的儲存,無出口費用
- Workers — 全球部署,快速冷啟動
外掛遷移
EmDash 提供工具幫助遷移 WordPress 外掛功能:
- 概念對映 — WordPress 的掛鉤、篩選器和 API 對映到 EmDash 對應功能
- 遷移指南 — 移植特定外掛模式的文件
- AI 輔助移植 — 文件結構化設計,方便 AI 工具從 WordPress 外掛程式碼產生 EmDash 外掛
複雜外掛仍需人工審查,但對於簡單的外掛,遷移指南可以減少移植工作量。
何時使用 EmDash
EmDash 適用於:
- 需要 CMS 的 Astro 新專案
- 想要使用現代工具的 WordPress 遷移
- 內容編輯人員不需要接觸程式碼的網站
- 部署到 Cloudflare 的專案
- 重視型別安全和開發者體驗的網站
EmDash 可能不適合:
- 非 Astro 專案(它與 Astro 緊密耦合)
- 電商(WooCommerce 規模的功能尚不可用)
- 你已經滿意的現有無頭架構
- 需要 WordPress 特定外掛生態系統的專案
開始使用
快速開始
建立你的第一個網站,只需不到 5 分鐘。
遷移指南
透過內容匯入和概念對映從 WordPress 遷移。