テンプレート一覧
確認日: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 には <実行環境>:<テンプレート名> の形式で指定します。実行環境は node か cloudflare、テンプレート名は blog、starter、marketing、portfolio のいずれかです。
公式ドキュメントに載っている例は次の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 はパッケージマネージャー(pnpm、npm、yarn、bun)、--yes は省略した項目を既定値にして確認を省く指定です。--yes を付けてテンプレートや実行環境を省略した場合、既定値は cloudflare と blog、プロジェクト名は 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.md、CLAUDE.md |
AIツール向けのプロジェクトの説明(コマンド、主なファイル、スキル) |
.agents/skills/ |
Agent Skills 3本(building-emdash-site、creating-plugins、emdash-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 | 該当なしのとき |
リポジトリ:blog/blog-cloudflare
Marketing
コンバージョンを重視したランディングページのテンプレートです。部品化したコンテンツブロックを使い、再利用できるセクションを組み合わせてページを作れます。コードを触る必要はありません。作成ツールでの説明は「ランディングページとCTAを持つマーケティングサイト(A marketing site with landing pages and CTAs)」です。
含まれるもの(Node.js版・Cloudflare版とも同じ)
- CTA(行動を促すボタン)付きのヒーローセクション
- 機能紹介のグリッド
- お客様の声
- 料金カード
- FAQのアコーディオン
- 入力チェック付きの問い合わせフォーム
- SEOのメタデータとJSON-LD
- ダーク/ライトモード
ページ
| ページ | URL |
|---|---|
| トップページ | / |
| 料金 | /pricing |
| 問い合わせ | /contact |
| 404 | 該当なしのとき |
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 | 該当なしのとき |
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 | 該当なしのとき |
リポジトリ:starter/starter-cloudflare
Blank
最も小さいテンプレートです。EmDashを接続した1ページのindexだけを持ち、ほかには何もありません。シードデータ、レイアウト、コンポーネントもなく、最初からすべてを自分で作る場合の出発点です。Node.js版だけがあり、Cloudflare版はありません。
含まれるもの
index.astroの1ページ- 設定済みのEmDashのインテグレーション
- TypeScriptとライブ設定(
src/live.config.ts)の雛形
公式「テーマ概要」によると、Blankにはユーザーのシードがなく、EmDashに組み込まれた既定のシードが使われます。
作成方法
create-emdash の --template で選べるのは blog、starter、marketing、portfolio の4つで、blank は含まれていません。テンプレートリポジトリのREADMEは、ローカル開発の手順として、テンプレートのディレクトリをコピーしてから次のコマンドを実行する方法を示しています。
pnpm install
pnpm bootstrap
pnpm dev
公式「テーマ概要」は、Blankの作成方法として @emdash-cms/template-blank(npm 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.ts、flags.ts、コミット 7988b14):https://github.com/emdash-cms/emdash/tree/main/packages/create-emdash/src