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 扩展 | 带钩子的沙箱 |
Cloudflare 部署
EmDash 可在任何具备 SQLite 与 S3 兼容存储的平台上运行,也支持 Cloudflare 专属能力:
- D1 — 边缘 SQLite 与自动复制
- R2 — 无出站费用的 S3 兼容存储
- Workers — 全球部署与快速冷启动
插件迁移
EmDash 提供工具,帮助迁移 WordPress 插件功能:
- 概念映射 — WordPress 钩子、过滤器与 API 对应到 EmDash 等价物
- 迁移指南 — 针对特定插件模式的移植文档
- AI 辅助移植 — 文档结构便于从 WordPress 代码生成 EmDash 插件
复杂插件仍需人工审核;对简单插件,指南可降低迁移成本。
适用场景
EmDash 适合:
- 需要 CMS 的新 Astro 项目
- 希望采用现代工具链的 WordPress 迁移
- 编辑者不应接触代码的网站
- 部署到 Cloudflare 的项目
- 重视类型安全与开发者体验的网站
EmDash 可能不适合:
- 非 Astro 项目(与 Astro 强耦合)
- 电商(尚不具备 WooCommerce 级别能力)
- 已满意的既有无头架构
- 依赖 WordPress 特定插件生态的项目
开始
快速开始
不到 5 分钟创建第一个站点。
迁移指南
通过内容导入与概念映射从 WordPress 迁移。