快速开始
了解 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 生态站点,建议按以下顺序推进:
- 先用 Astro + Cloudflare Pages 发布公开站点
- 完善文档、FAQ、迁移指南、插件页和模板页
- 用真实站点验证定位和发布流程
- 仅在编辑或生态流程确实需要时,再引入完整 EmDash 运行时能力