Topics

我尝试从microCMS迁移到EmDash + Cloudflare。

什么是破折号?

Cloudflare 发布了一款 CMS,并认为它是 WordPress 的精神继承者。
它是一款采用现代架构的全栈 CMS,结合了各种 Cloudflare 资源(D1/R2/Workers)和 Astro,真正是一个 Cloudflare 生态系统 CMS!
为了看看会发生什么,我尝试将一个使用 microCMS 实现的博客迁移到了 EmDash。

迁移后的网站在这里。尤鲁洛格
这只是一个实验性网站,所以目前我使用的是默认主题。之后我会换用其他设计。

设置过程

1. 项目创建

npm create emdash@latest执行此流程。您将被交互式地问到各种问题,请选择合适的选项。

2. 创建 Cloudflare 资源

创建这样的数据库和存储方式,可以简化部署过程。

npx wrangler login
npx wrangler d1 create my-site
npx wrangler r2 bucket create my-site-media
npm run build && npm run deploy

3. 地方发展

npx emdash dev这将启动您的本地环境。
管理画面 http://localhost:4321/_emdash/admin访问[网站/链接]并进行设置。

4. 部署和初始设置

npx wrangler deploy然后将其部署到 Workers 服务器。https://[name].workers.dev它将在[平台名称]上发布。
由于本地数据库和远程数据库是独立的,即使使用远程管理屏幕,也需要进行初始设置(创建管理员帐户)。

通过与 GitHub 存储库连接,您还可以使用推送自动部署(Cloudflare 控制面板 → 工作程序 → 设置 → 构建 → 与 Git 存储库连接)。

5. 从microCMS迁移文章

创建迁移脚本,从 microCMS API → EmDash CLI 获取所有文章content create我添加了。

观点

  • 将microCMS富文本编辑器(HTML)转换为Markdown,然后导入。
  • 这些图像最初是使用外部 URL 迁移的,后来上传到 R2,并在 R2 中更新了引用。
  • npx emdash seednpx emdash content create使用  (因为种子不会创建修订版本,所以文章将不会显示)

我试过了

该 CMS 结合了Headless CMS 的易于设置和实施以及全栈 CMS 的端到端控制的便利性,提供了两者的最佳组合。
最棒的是,由于它是基于Astro的,你可以充分利用你现有的知识和技能,这非常棒。它似乎很适合中小型博客。

然而,由于它仍处于测试阶段,

  • 草稿预览功能默认情况下无法使用(见下文)。
  • 所见即所得 (WYSIWYG) 中不体现居中和右对齐。
  • 编辑菜单中的项目时,使用相对路径会导致错误。
  • 自定义字段无法排序。
  • 无法邀请用户

有一些需要关注的问题,例如上面提到的那些问题(截至 v0.1.0 版本)。

关于草稿预览

虽然编辑屏幕上有一个“预览草稿”按钮,但无法预览草稿形式的文章。

EmDash 具有预览机制,但默认情况下似乎未启用,因此需要执行以下步骤。

  1. 环境因素PREVIEW_SECRET设置任意密钥(npx emdash auth secret(可通过以下方式生成)
  2. 在文章页面上verifyPreviewToken使用此方法获取草稿。
import { getEmDashEntry, verifyPreviewToken } from "emdash";

const preview = await verifyPreviewToken({
  url: Astro.url,
  secret: import.meta.env.PREVIEW_SECRET,
});

const { entry, isPreview } = await getEmDashEntry("posts", slug, { preview });

现在您可以通过管理面板中的“预览草稿”按钮查看您的文章草稿。

概括

这次,我按照基本原理将其实现为一个全栈应用程序,但它似乎也可以通过 fetch 接收文章并构建 SSG 来用作“Headless CMS”,所以我下次想尝试一下。

这仍然是一个非常新的测试版。我非常期待看到它未来的发展!

撰稿人

他从桌面排版领域转战网页设计,迅速成为一位技艺精湛的“大师”,精通标记语言、前端设计、方向指导和无障碍设计。自 Liberlogic 创立以来,他一直活跃于各个领域,如今已成为公司内部的活字典。最近,他痴迷于探索如何利用提示来提高效率,并思考着“我们能否更多地依赖人工智能来实现无障碍设计?”他的技术和思维仍在不断发展。

Futa

IAAP认证的Web无障碍专家(WAS)/标记工程师/前端工程师/网站总监

查看这位员工的文章

我们以可靠的团队结构和快速的响应能力而自豪。

在 Liberogic,我们经验丰富的员工积极推动项目进展,这也是我们受到客户高度评价的原因。
我们确保项目经理和主管得到合理分配,以确保整个项目的顺利进行。 我们避免因全额承诺而导致不必要的成本增加,并将资源分配给合适的人员和合适的岗位,并以快速掌握工作内容、创建和提交预算而闻名。

请注意,我们不积极参与SES式的现场工作。

我们支持几乎所有主流的项目管理和聊天工具,包括 Slack、Teams、Redmine、Backlog、Asana、Jira、Notion、Google Workspace、Zoom 和 Webex。

在使用 SES 和离岸的大型项目中您是否遇到任何技术问题或担心如何解决这些问题?

案例研究