~/journal/2026/09/from-astro-to-emdash-part1

从Astro到Emdash踩坑记(一)

断断续续写博客很多年,折腾过 WordPress、Jekyll、Ghost,最后在 Astro 上稳定了下来。直到 Cloudflare 推出了对标 WordPress 的 EmDash,在观望几个月后我终于决定迁移。2026 年的现在,我已经完全把迁移工作交给了 Claude Code——丢一个官方文档链接,AI 自动分析项目、安装 Connector、甚至顺手帮我建好了 D1 和 R2。本文记录这次平滑的初步部署流程,以及文末必须注意的两个关键要点。

发布
更新
阅读时间
3 分钟
标签
AstroClaude CodeCloudflare

我短短续续的写博客差不多也有很多年了, 只不过一直没有太坚持下来。 Wordpress,Jekyll ,Ghost 等都试过, 最后还是使用Astro来搭建自己的博客, 也算是坚持了比较长的时间了。 当Cloudflare宣布他们的Wordpress替换EmDash 的时候, 由于是Vide Code的, 我第一时间没有上手, 在过去几个月之后,发现还在持续保持更新, 并且已经有不少人进行迁移之后, 我也开始着手进行迁移

使用Claude Code进行替换

在2026年9月份的现在,绝大部分人应该都会通过AI来进行迁移吧, 现在的AI已经足够优秀了, 所以我只是打开了 Claude Code, 然后输入

plaintext
https://docs.emdashcms.com/existing-project/

参考这个, 把现有的astro 更改成使用 emdash 管理的CMS

然后AI就会开始根据文档以及现有现有的项目构造进行安装Emdash。我这边安装了 CloufFlare 的Connector, CC甚至还能够直接为我创建D1和R2, 真的是省心又省力。

emdash-setup-1.png
emdash-setup-2.png
emdash-setup-3.png



在经过一段时间后,我这边已经顺利部署EmDash到CF上, 并且已经成功设置 EmDash的后台使用PassKey登录(which 是个坑, 在后面的文章会讲到)。

初步部署的两个核心要点总结

虽然在 Claude Code 的帮助下,整个部署链路非常丝滑,但结合实际操作,有两条至关重要的经验必须提前提醒大家:

1. 原有的 MDX 文章:必须百分之百确认在 EmDash 入库后再删!

本地 Markdown/MDX 文件是你在 Git 里的绝对资产。在将内容导入 EmDash 后,务必在 Admin 后台和前端页面挨个确认数据已经完整存在于 Cloudflare D1 数据库中,**千万不要在部署成功的第一时间就急着把本地原文件删掉**。先留一份完整的归档备份,确认数据无损再做清理。

2. 强烈建议:先配置好自定义域名,再去设置 PassKey 登录!

这是一个绝大多数人(包括我)极容易踩中的隐蔽暗坑:

- 很多人在刚部署完时,会习惯性地在默认生成的 *.workers.dev 临时域名下完成后台初始化,并顺手绑了自己设备的 PassKey。

- 然而,PassKey(WebAuthn)是强绑定访问域名的(Origin / rpId)。一旦你后续绑定了自己的独立自定义域名,**通过自定义域名访问时,原有在 workers.dev 下创建的 PassKey 将直接失效,无法用于登录!**

下篇预告:那个让我差点被锁在后台外面的 PassKey 暗坑

上一节提到的第二个要点,其实就是我在这次部署中最真实的一个切肤之痛:

当时我在 workers.dev 下高高兴兴地配好了 PassKey,但当我把自己的独立域名绑定上去后,发现自定义域名的后台根本刷不出那个 PassKey。

这时候系统提示可以用邮箱验证码登录,结果尴尬的事情来了——**我当时压根还没有去配置邮件服务(Email Provider)!**

PassKey 用不了,邮箱验证码收不到,我险些直接把自己亲手搭建的后台锁死在门外……

究竟该如何脱困?Cloudflare 边缘环境下的邮件插件又该怎么配?下一篇文章,我们专门来深挖这个让人哭笑不得的 PassKey 与登录鉴权踩坑实录。

Epona
作者Epona

There's nothing wrong with having a little fun

x.com/simura_epona

相关文章

正在加载评论…