EmDash 是原生 Astro 的 CMS,將傳統 CMS 模式與現代 Web 開發結合:內容編輯介面、Astro 框架整合,以及彈性的部署選項。
EmDash 的不同之處
原生 Astro 架構
EmDash 專為 Astro 打造,而非從通用 CMS 改裝而來。內容與網站位於同一部署,透過 Astro 的 Live Content Collections 查詢。無獨立服務、無 API 往返、無 Webhook 同步。
熟悉的內容模型
若你用過 WordPress,EmDash 的概念會很親切:集合(類似文章類型)、分類法、選單、小工具區與媒體庫。心智模型可遷移——實作则使用現代工具鏈。
框架整合
EmDash 為 Astro 量身打造。緊密整合帶來型別安全查詢、元件層級快取與一體化預覽。
核心能力
單一部署
內容與前端一起部署。一套程式庫、一次部署、一個系統維運。
型別安全
結構描述在資料庫中。TypeScript 型別從資料庫流到範本,並具完整自動完成。
即時更新
以 Astro 的 Live Content Collections 為基礎。內容變更立即呈現——無需重新建置。
雲端可攜
可在 Cloudflare Workers 與 D1、R2 上執行,亦支援 Node.js、SQLite 與任何 S3 相容儲存。
比較
不同 CMS 方案適合不同需求:
| 面向 | 傳統 CMS | 無頭 CMS | EmDash |
|---|---|---|---|
| 架構 | 單體 | 解耦 | 與 Astro 整合 |
| 內容編輯 | 內建後台 | 內建後台 | 內建後台 |
| 前端 | 主題/範本 | 自備 | Astro 元件 |
| 部署 | 單一伺服器 | CMS + 前端 | 單一部署 |
| 型別安全 | 執行階段 | API 型別 | 完整 TypeScript |
| 內容更新 | 即時 | Webhook/重建 | 即時(SSR) |
| 外掛模型 | 同程序 | API 擴充 | 具 hook 的沙箱 |
Cloudflare 部署
EmDash 可在任何具備 SQLite 與 S3 相容儲存的平台上執行,亦支援 Cloudflare 專屬能力:
- D1 — 邊緣 SQLite 與自動複寫
- R2 — 無出站費用的 S3 相容儲存
- Workers — 全球部署與快速冷啟動
外掛遷移
EmDash 提供工具,協助遷移 WordPress 外掛功能:
- 概念對應 — WordPress hook、篩選器與 API 對應到 EmDash 等價物
- 遷移指南 — 針對特定外掛模式的移植文件
- AI 輔助移植 — 文件結構便於從 WordPress 程式碼產生 EmDash 外掛
複雜外掛仍需人工審核;對簡單外掛,指南可降低遷移成本。
適用情境
EmDash 適合:
- 需要 CMS 的新 Astro 專案
- 希望採用現代工具鏈的 WordPress 遷移
- 編輯者不應碰觸程式碼的網站
- 部署到 Cloudflare 的專案
- 重視型別安全與開發者體驗的網站
EmDash 可能不適合:
- 非 Astro 專案(與 Astro 強耦合)
- 電商(尚無 WooCommerce 級別能力)
- 已滿意的既有無頭架構
- 依賴 WordPress 特定外掛生態的專案
開始
快速開始
不到 5 分鐘建立第一個網站。
遷移指南
透過內容匯入與概念對應從 WordPress 遷移。