記事一覧

EmDashとは?Cloudflare発のCMSを実際に入れて分かった仕組み

EmDashは Astro の上に作られたオープンソースのCMSです。雛形を入れて中身を見て分かった、記事の保存先・管理画面・公開のしかたを日本語でまとめます。

EmDashとは?Cloudflare発のCMSを実際に入れて分かった仕組み

EmDash(エムダッシュ)は、Cloudflare が中心になって公開しているオープンソースのCMS(記事を書いて公開するための仕組み)です。編集部は公式の雛形を自分のパソコンに入れ、中のファイルを1つずつ見ました。その結果から、EmDash がどういう作りなのかを説明します。

ひとことで言うと

Astro(Webサイトを作る道具)に、管理画面とデータベースを足したものです。雛形に入っている説明書(AGENTS.md)にも「Astro の上に作られた、管理画面つきのCMS」と書かれています。

記事はどこに保存されるか

Cloudflare で動かす雛形では、次の2つに分かれて保存されます。

  • D1(Cloudflare のデータベース)… 記事・固定ページ・カテゴリー・メニュー・サイトの設定
  • R2(Cloudflare のファイル置き場)… 画像などのファイル

記事の「型」(タイトル・本文・抜粋などの項目)も、プログラムの中ではなくデータベースに入ります。管理画面から項目を足せるのはこのためです。

管理画面

管理画面は /_emdash/admin にあります。手元で動かすなら http://localhost:4321/_emdash/admin です。最初に開くと初期設定(管理者の作成)が始まります。

画面はすべてその場で作られる

EmDash のページは、アクセスされたときにサーバー側で組み立てられます(Astro の output: "server")。記事を書いたら、ビルドし直さなくてもすぐ公開ページに出ます。WordPress と同じ感覚で使える点です。

本文は Portable Text という形式

本文は HTML ではなく、Portable Text という「段落・見出し・コードなどの部品を並べたデータ」で保存されます。詳しくは「EmDashの本文はPortable Text」で説明しています。

雛形に入っている機能

ブログ用の雛形(cloudflare:blog)には、最初から次のものが入っていました。

  • トップページ・記事一覧・記事ページ
  • カテゴリーとタグの一覧
  • サイト内検索
  • RSS
  • 検索エンジン向けの情報(構造化データ)
  • ダークモード

AIで作業することを前提にしている

雛形には AGENTS.md と、AI 向けの手順書(.agents/skills/)が最初から入っています。CLI(コマンドで記事を書く道具)も、説明に「エージェント向けに作った」とあります。AI に記事を書かせたい人に向いた作りです。

関連記事