如何5分钟上手EmDash:从创建项目到发布第一篇文章的终极快速入门指南
【免费下载链接】emdashEmDash is a full-stack TypeScript CMS based on Astro; the spiritual successor to WordPress项目地址: https://gitcode.com/gh_mirrors/emdas/emdash
EmDash 是一款基于 Astro 的全栈 TypeScript CMS,也是 WordPress 的精神继任者:它保留了你熟悉的管理后台、插件生态和内容模型,但完全构建在现代、类型安全的 serverless 技术之上。本指南将带你用 5 分钟完成三件事:创建 EmDash 项目、启动本地站点、发布你的第一篇文章,无需任何云账号。
为什么选择 EmDash?
如果你正在寻找一个现代 CMS 解决方案,EmDash 值得优先考虑:
- 🧩插件沙箱:每个插件运行在隔离的 Worker 沙箱中,只拥有它声明的权限,一个漏洞插件不会拖垮整站
- 📦结构化内容:正文采用 Portable Text(结构化 JSON)存储,内容与展示彻底解耦
- 🚀随处运行:支持 Cloudflare(D1 + R2 + Workers)或任意 Node.js 服务器 + SQLite,没有 PHP,也没有额外的托管层
- 🔑Passkey 优先认证:WebAuthn 通行密钥登录,支持管理员/编辑/作者/贡献者四级角色
核心关键词一览:EmDash CMS、Astro 建站、WordPress 替代方案、TypeScript 内容管理系统。
上手前检查:1 分钟准备
EmDash 快速入门只需一个前置条件:
| 项目 | 要求 |
|---|---|
| Node.js | 22.16 或更高版本 |
| 包管理器 | npm / pnpm / yarn / bun 均可 |
| 云账号 | 本地体验不需要,部署时才需要 |
在终端确认版本:
node --version输出版本号 ≥v22.16.0即可继续。
第一步:一条命令创建 EmDash 项目
运行官方脚手架命令,交互式向导会引导你完成所有选择:
npm create emdash@latest按提示依次选择:
- Project name:项目名,例如
my-emdash-site - Where will you deploy?:选Node.js(本地体验无需云账号)
- Which template?:四选一,各有侧重
- Blog—— 带侧边栏、分类标签、全文搜索、RSS 的经典博客
- Starter—— 通用起步模板,含 Posts 和 Pages 两个集合
- Marketing—— 转化导向的落地页,含价格表与联系表单
- Portfolio—— 作品集,项目网格 + 标签筛选
- Install dependencies?:选Yes
脚手架会基于 templates/blog/、templates/starter/ 等模板生成一个标准 Astro 项目,并在 gitignore 的.env文件中写入生成的EMDASH_ENCRYPTION_KEY。⚠️ 这个密钥请勿提交到版本库——丢失它,EmDash 将无法解密存储的插件密钥。
第二步:启动本地站点,完成 30 秒初始化向导
进入项目目录并启动开发服务器:
cd my-emdash-site npm run dev终端会打印本地地址,默认是http://localhost:4321/。现在打开http://localhost:4321/_emdash/admin/,新站点会自动进入设置向导(setup wizard),只需 3 步:
- 填写Site Title和可选的Tagline,保持勾选Include sample content(导入示例文章和页面,方便体验)
- 填写你的邮箱和名字
- 在浏览器弹出提示时注册一个Passkey通行密钥,然后点击Open the dashboard
完成后你会看到内容仪表盘:左侧是 Pages、Posts、Media 等内容入口,右侧显示草稿数、媒体文件数和最近活动。
第三步:发布你的第一篇文章
现在见证 CMS 的核心工作流——从新建到发布只需 5 次点击:
- 在侧边栏点击Posts,再点Add New
- 输入标题,EmDash 会自动生成 slug(即文章 URL),可直接编辑
- 在富文本编辑器中写正文——支持加粗、引用、代码块、列表,输入
/可唤起块级命令 - 可选:拖入封面图、指派作者(byline)、分类和标签
- 点击Save保存为草稿 → 点Publish正式发布
发布后打开http://localhost:4321/,新文章就出现在首页列表中了。再进入文章页看看正文渲染效果:
草稿与发布:让在线文章安全更新
EmDash 对 WordPress 用户最友好的设计之一:保存 ≠ 发布。发布之后,你的每次编辑都会自动存为新草稿,线上版本保持不动;确认无误后再点Publish changes,新版才替换线上内容。
这种"存草稿—预览—再发布"的机制,配合版本历史和编辑锁,让多人协作时误操作也不会直接暴露给读者。
顺手管理媒体库
点击侧边栏的Media,即可打开媒体库:支持拖拽上传、建文件夹、按文件名搜索,选中图片后还能直接回填到文章的封面图字段。
快速回顾:5 分钟通关清单
| 步骤 | 命令 / 操作 | 结果 |
|---|---|---|
| 1 | npm create emdash@latest | 生成带 CMS 的 Astro 项目 |
| 2 | npm run dev | 本地站点运行在 4321 端口 |
| 3 | 打开/_emdash/admin/完成向导 | 站点初始化 + 管理员账号 |
| 4 | Posts → Add New → Save → Publish | 第一篇文章上线 🎉 |
下一步探索
- 📖 官方文档:docs/src/content/docs/getting-started.mdx(创建首个站点的完整教程)
- 📖 建博客进阶:docs/src/content/docs/guides/create-a-blog.mdx(分类、标签、RSS 全解)
- 🏗️ 内容模型定义:templates/blog/seed/seed.json——posts/pages 集合、字段与示例数据都在这里
- 🏗️ 脚手架源码:packages/create-emdash/
- 🏗️ 核心 CMS 实现:packages/core/
想从 WordPress 搬过来?EmDash 自带WordPress 导入向导,可导入文章、页面、媒体和分类——迁移路线见 docs/src/content/docs/migration/from-wordpress.mdx。
准备好部署上线了吗?将站点部署到 Cloudflare Workers 或任意 Node.js 服务器,EmDash 即可进入生产环境。Happy blogging! ✍️
【免费下载链接】emdashEmDash is a full-stack TypeScript CMS based on Astro; the spiritual successor to WordPress项目地址: https://gitcode.com/gh_mirrors/emdas/emdash
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考