このサイトは非公式の日本語訳です。Cloudflare・EmDashプロジェクトが運営するサイトではありません。

確認日:2026年9月20日 対応する原文の版:emdash 0.38.0(コミット 7988b14)、emdash-cms/templates(コミット d24ebbd、「sync templates from emdash v0.38.0」)

EmDashの公式テンプレートは5種類です。Blank以外の4種類には、Node.js版とCloudflare版の2つがあります。各テンプレートにはデモ用のコンテンツ(シードデータ)が入っており、作成してすぐに動くサイトを確認できます。テンプレートは emdash-cms/templates で公開されています。このリポジトリは emdash-cms/emdash から自動で同期されており、Issueとプルリクエストは emdash-cms/emdash で受け付けています。

Node.js版とCloudflare版の違い

データベース ストレージ アダプター
Node.js SQLite(ローカルのファイル) ローカルのファイルシステム @astrojs/node
Cloudflare D1 R2 @astrojs/cloudflare

Cloudflare版には wrangler.jsonc が含まれ、READMEの「Deploy to Cloudflare」ボタンか wrangler deploy でデプロイできます。Node.js版は、Nodeのプロセスを実行できる環境ならどこでも動きます。

作成コマンド

テンプレートからサイトを作るには、作成ツール create-emdash を使います。--template には <実行環境>:<テンプレート名> の形式で指定します。実行環境は nodecloudflare、テンプレート名は blogstartermarketingportfolio のいずれかです。

公式ドキュメントに載っている例は次の2つです。

npm create emdash@latest my-emdash-site -- --template node:starter --pm npm --yes
npm create emdash@latest my-blog -- --template cloudflare:blog --pm pnpm --yes

--pm はパッケージマネージャー(pnpmnpmyarnbun)、--yes は省略した項目を既定値にして確認を省く指定です。--yes を付けてテンプレートや実行環境を省略した場合、既定値は cloudflareblog、プロジェクト名は my-site になります。フラグを省略した項目は、対話形式で質問されます。

Cloudflare版では、--sandboxed-plugins を付けるとサンドボックス型プラグインが有効になります。この機能にはWorker Loaderが必要で、Workersの有料プランで使えます。既定では無効です(--no-sandboxed-plugins)。

テンプレート Node.js版 Cloudflare版
Blog npm create emdash@latest my-site -- --template node:blog npm create emdash@latest my-site -- --template cloudflare:blog
Marketing npm create emdash@latest my-site -- --template node:marketing npm create emdash@latest my-site -- --template cloudflare:marketing
Portfolio npm create emdash@latest my-site -- --template node:portfolio npm create emdash@latest my-site -- --template cloudflare:portfolio
Starter npm create emdash@latest my-site -- --template node:starter npm create emdash@latest my-site -- --template cloudflare:starter
Blank 下記「Blank」を参照 なし

my-site の部分は、作成するプロジェクトのディレクトリ名です。

AIツール向けのファイル

各テンプレートには、生成AIのコーディングツール向けに次のファイルが入っています。

ファイル 内容
AGENTS.mdCLAUDE.md AIツール向けのプロジェクトの説明(コマンド、主なファイル、スキル)
.agents/skills/ Agent Skills 3本(building-emdash-sitecreating-pluginsemdash-cli)。内容はAgent Skillsを参照
.mcp.json.cursor/mcp.json.vscode/mcp.json 公式のDocs MCP(https://docs.emdashcms.com/mcp)への接続設定。それぞれClaude Code、Cursor、VS Code用

公式「AIツール向けDocs MCP」は、npm create emdash でテンプレートから作成したプロジェクトには、この3つの設定ファイルが最初から入っていると説明しています。

Blog

記事、カテゴリー、タグ、全文検索、RSSを備えた、すっきりしたブログです。読了時間の目安、注目記事のヒーロー、ダーク/ライトモードを含みます。作成ツールでの説明は「記事、固定ページ、執筆者を持つブログ(A blog with posts, pages, and authors)」です。

含まれるもの

項目 Node.js版(blog) Cloudflare版(blog-cloudflare)
トップページの注目記事のヒーロー
読了時間の目安付きの記事一覧
カテゴリー・タグのアーカイブ
全文検索
RSSフィード
SEOのメタデータとJSON-LD
ダーク/ライトモード
同梱のプラグイン 監査ログプラグイン フォームプラグインとWebhook通知

ページ

ページ URL
トップページ /
記事一覧 /posts
個別の記事 /posts/:slug
カテゴリーのアーカイブ /category/:slug
タグのアーカイブ /tag/:slug
検索 /search
固定ページ /pages/:slug
404 該当なしのとき

リポジトリ:blogblog-cloudflare

Marketing

コンバージョンを重視したランディングページのテンプレートです。部品化したコンテンツブロックを使い、再利用できるセクションを組み合わせてページを作れます。コードを触る必要はありません。作成ツールでの説明は「ランディングページとCTAを持つマーケティングサイト(A marketing site with landing pages and CTAs)」です。

含まれるもの(Node.js版・Cloudflare版とも同じ)

  • CTA(行動を促すボタン)付きのヒーローセクション
  • 機能紹介のグリッド
  • お客様の声
  • 料金カード
  • FAQのアコーディオン
  • 入力チェック付きの問い合わせフォーム
  • SEOのメタデータとJSON-LD
  • ダーク/ライトモード

ページ

ページ URL
トップページ /
料金 /pricing
問い合わせ /contact
404 該当なしのとき

リポジトリ:marketingmarketing-cloudflare

Portfolio

制作物を見せるための、見た目を重視したポートフォリオです。タグで絞り込めるプロジェクトのページ、事例紹介のレイアウト、新しい制作物のRSSフィードを持ちます。作成ツールでの説明は「プロジェクトと事例紹介を持つポートフォリオサイト(A portfolio site with projects and case studies)」です。

含まれるもの(Node.js版・Cloudflare版とも同じ)

  • ホバー効果付きのプロジェクトのグリッド
  • 制作物ページでのタグによる絞り込み
  • ギャラリー付きのプロジェクトごとのページ
  • 紹介ページと問い合わせページ
  • 新しいプロジェクトのRSSフィード
  • SEOのメタデータとJSON-LD
  • ダーク/ライトモード

ページ

ページ URL
トップページ /
制作物の一覧 /work
個別のプロジェクト /work/:slug
紹介 /about
問い合わせ /contact
RSS /rss.xml
404 該当なしのとき

リポジトリ:portfolioportfolio-cloudflare

Starter

記事、固定ページ、カテゴリー、タグを持つ汎用の出発点です。スタイルは最小限で、完成したテーマではなく、その上に作り込んでいく土台として作られています。作成ツールでの説明は「記事と固定ページを持つ汎用のスターター(A general-purpose starter with posts and pages)」です。

含まれるもの

項目 Node.js版(starter) Cloudflare版(starter-cloudflare)
カテゴリー・タグのアーカイブ付きの記事
スラッグで表示する固定ページ
デモ用コンテンツのシードデータ
最小限のレイアウトとスタイル 記載なし
設定済みのD1データベースとR2ストレージ
ダーク/ライトモード 記載なし

「記載なし」は、そのテンプレートのREADMEの「含まれるもの(What's Included)」に項目がないことを示します。

ページ

ページ URL
トップページ /
記事一覧 /posts
個別の記事 /posts/:slug
カテゴリーのアーカイブ /category/:slug
タグのアーカイブ /tag/:slug
固定ページ /:slug
404 該当なしのとき

リポジトリ:starterstarter-cloudflare

Blank

最も小さいテンプレートです。EmDashを接続した1ページのindexだけを持ち、ほかには何もありません。シードデータ、レイアウト、コンポーネントもなく、最初からすべてを自分で作る場合の出発点です。Node.js版だけがあり、Cloudflare版はありません。

含まれるもの

  • index.astro の1ページ
  • 設定済みのEmDashのインテグレーション
  • TypeScriptとライブ設定(src/live.config.ts)の雛形

公式「テーマ概要」によると、Blankにはユーザーのシードがなく、EmDashに組み込まれた既定のシードが使われます。

作成方法

create-emdash--template で選べるのは blogstartermarketingportfolio の4つで、blank は含まれていません。テンプレートリポジトリのREADMEは、ローカル開発の手順として、テンプレートのディレクトリをコピーしてから次のコマンドを実行する方法を示しています。

pnpm install
pnpm bootstrap
pnpm dev

公式「テーマ概要」は、Blankの作成方法として @emdash-cms/template-blanknpm create astro@latest -- --template の形式)を挙げていますが、確認日の時点で、このパッケージはnpmで見つかりません。

リポジトリ:blank

テンプレートを手元で動かす

各テンプレートのREADMEに書かれている手順は次のとおりです(Node.js版・Cloudflare版とも共通)。

pnpm install
pnpm bootstrap
pnpm dev

pnpm bootstrap はデータベースを初期化し、デモ用のコンテンツを投入します。http://localhost:4321 でサイト、http://localhost:4321/_emdash/admin で管理画面を開けます。Cloudflare版は pnpm deploy でデプロイできます。

根拠にした公式ページ

  • EmDash Templates(emdash-cms/templates のREADMEと各テンプレートのREADME、コミット d24ebbd):https://github.com/emdash-cms/templates
  • はじめてのEmDashサイト作成:https://docs.emdashcms.com/getting-started/
  • ブログを作る:https://docs.emdashcms.com/guides/create-a-blog/
  • テーマ概要:https://docs.emdashcms.com/themes/overview/
  • AIツール向けDocs MCP:https://docs.emdashcms.com/docs-mcp/
  • create-emdash のソース(packages/create-emdash/src/index.tsflags.ts、コミット 7988b14):https://github.com/emdash-cms/emdash/tree/main/packages/create-emdash/src