为什么选择 EmDash

本页内容

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无头 CMSEmDash
架构单体式解耦式与 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 特定插件生态系统的项目

开始使用