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 和離岸的大型專案中您是否遇到任何技術問題或擔心如何解決這些問題?

案例研究