快速开始

了解 EmDash CMS 是什么、它基于什么技术栈构建,以及今天如何以最佳方式上线官方 EmDash 内容站点。

什么是 EmDash CMS

EmDash CMS 对外定位为一个基于 Astro 构建的全栈 TypeScript CMS,并且专门针对 Cloudflare 做了良好适配。该产品保留了很多用户在 WordPress 中已经熟悉的概念,包括:

  • 集合与内容类型
  • 分类体系、菜单和小组件
  • 面向编辑人员的管理界面
  • 用于扩展站点行为的插件模型

不同点在于,EmDash 不依赖 PHP 主机,而是围绕现代前端工具链、类型化内容和 Cloudflare 原生部署方式构建。

它与传统 CMS 的区别

从官方文档与仓库公开资料来看,有几个特征非常一致:

  • EmDash 是 Astro 原生 的,不是通过 API 调用的独立 SaaS
  • 全栈统一使用 TypeScript
  • 设计目标是 云平台可移植
  • 插件模型基于 Cloudflare Worker Isolates 的沙箱执行
  • 使用 结构化内容,而不是把所有内容绑定在 WordPress 风格的 HTML 存储里

这组能力的组合,正是它适合 emdashcmseverything.com 这类公开生态站点的关键原因。

这个站点推荐的第一阶段形态

虽然 EmDash 本身支持运行时 CMS 架构,但这个站点最合适的第一版仍然是静态的 Astro 内容站。

该项目建议采用以下技术栈:

  • 使用 Astro 作为站点框架
  • 使用 MDX 编写长文档与资源页面
  • 使用 Cloudflare Pages 进行低成本托管
  • 使用 Git + AI 编辑 支撑持续发布

之所以这是正确起点,是因为你的站点主要承担:

  • 文档内容
  • FAQ 与迁移指南
  • 插件和模板目录页
  • 更新、教程与产品教育内容

这些需求在上线第一天并不需要数据库驱动的在线编辑能力。

为什么不一开始就上完整运行时

EmDash 可以运行在 Cloudflare Workers + D1 + R2 之上,这也是产品叙事的重要部分。但对这个站点而言,直接上完整运行时会在收益尚未体现前,先增加基础设施成本和部署复杂度。

先走静态优先可以带来:

  • 在 Cloudflare Pages 上快速部署
  • 更简单的 Git 评审和更顺畅的 AI 协作
  • 首次上线无需配置管理端鉴权或存储
  • 更清晰地迭代品牌表达与信息架构

后续当你确实需要浏览器内编辑流程、认证投稿或更复杂的媒体管理时,再把相关模块迁移到完整 EmDash 运行时即可。

本地开发

当前项目结构是有意设计的:

  • src/ 存放路由、布局和可复用组件
  • docs/ 存放已发布的 MDX 内容

这意味着内容工作与前端开发可以清晰分离。

本地运行命令:

npm install
npm run dev

构建静态站点命令:

npm run build

Cloudflare Pages 部署

当前静态站点在 Cloudflare Pages 上建议配置:

  • 构建命令:npm run build
  • 输出目录:dist

这样就能得到一个接近零运维负担的公开网站。

何时迁移到 Workers、D1 和 R2

官方资料明确指出,当你需要真正的 CMS 运行时能力时,这套架构价值最大,尤其是:

  • 无需重新构建的实时内容更新
  • 数据库驱动的集合管理
  • 浏览器内管理后台编辑
  • Passkey 或 Cloudflare Access 身份认证
  • 基于 R2 的媒体存储
  • 在 Workers 上运行的沙箱插件

这时就是从仅 Pages 交付升级到完整 EmDash 平台的合适时机。

建议的下一步

如果你要上线官方 EmDash 生态站点,建议按以下顺序推进:

  1. 先用 Astro + Cloudflare Pages 发布公开站点
  2. 完善文档、FAQ、迁移指南、插件页和模板页
  3. 用真实站点验证定位和发布流程
  4. 仅在编辑或生态流程确实需要时,再引入完整 EmDash 运行时能力