EmDashとは?Cloudflare発のCMSを実際に入れて分かった仕組み
EmDashは Astro の上に作られたオープンソースの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 に記事を書かせたい人に向いた作りです。