テーマの概要

このページ

EmDash テーマは、ページ・レイアウト・コンポーネント・スタイルを含む完全な Astro サイトであり、create-astro 経由で配布されます。初回起動時にコレクション、フィールド、メニュー、リダイレクト、サンプルコンテンツでデータベースを初期化する シードファイル も含みます。

テーマが提供するもの

テーマは、次を備えた動作する Astro プロジェクトです。

  • Pages — コンテンツを描画する Astro ルート(ホーム、ブログ記事、アーカイブなど)
  • Layouts — 共有の HTML 構造
  • Components — 再利用可能な UI(ナビゲーション、カード、フッターなど)
  • Styles — CSS または Tailwind の設定
  • シードファイル — CMS に作成するコンテンツ型とフィールドを伝える JSON

テーマの構造

my-theme/
├── package.json           # テーマのメタデータ + EmDash 設定
├── astro.config.mjs       # Astro インテグレーションの設定
├── src/
│   ├── live.config.ts     # Live Collections の設定
│   ├── pages/             # Astro ルート
│   ├── layouts/           # レイアウトコンポーネント
│   └── components/        # UI コンポーネント
└── .emdash/
    ├── seed.json          # スキーマ + サンプルコンテンツ
    └── uploads/           # 任意のローカルメディア

テーマによるサイトのブートストラップ

テーマからサイトを作成すると、次のようになります。

  1. create-astro がテンプレートからプロジェクトを足場組みします
  2. npm installnpm run dev を実行します
  3. 管理画面への初回アクセスで セットアップウィザード が自動で動きます
  4. ウィザードがシードファイルを適用し、コレクション、メニュー、リダイレクト、コンテンツを作成します
  5. サイトの利用を開始できます

利用者向け

テーマを選び、ウィザードを進め、編集を始めます。データベースの知識は不要です。

開発者向け

テーマは標準の Astro プロジェクトです。足場組み後に自由にカスタマイズできます。

テーマのインストール

create-astro にテンプレートを指定します。

npm create astro@latest -- --template @emdash-cms/template-blog

コミュニティテーマは GitHub 経由です。

npm create astro@latest -- --template github:user/emdash-portfolio

インストール後:

cd my-site
npm install
npm run dev

セットアップウィザードを完了するには http://localhost:4321/_emdash/admin を開きます。

セットアップウィザード

セットアップウィザードは管理画面への初回アクセス時に自動で実行されます。次のことを行います。

  1. サイトのタイトル、タグライン、管理者の認証情報を入力します
  2. サンプルコンテンツを含めるかどうかを選択できます
  3. シードファイルをデータベースに適用します
  4. 管理ダッシュボードへリダイレクトします
┌────────────────────────────────────────────────────────┐
│                                                        │
│                    ◆ EmDash                            │
│                                                        │
│              新しいサイトへようこそ                      │
│                                                        │
│  サイトタイトル: [すごいブログ                        ] │
│  タグライン:     [思考とアイデア                      ] │
│                                                        │
│  管理者メール:   [[email protected]                  ] │
│  管理者パスワード: [••••••••••••                       ] │
│                                                        │
│  ☑ サンプルコンテンツを含める                          │
│                                                        │
│                   [サイトを作成 →]                     │
│                                                        │
│  テンプレート: Blog Starter                            │
│  作成内容: コレクション 2、ページ 3、投稿 1            │
└────────────────────────────────────────────────────────┘

公式テーマ

EmDash には公式のスターターテーマがあり、それぞれローカル(SQLite + ファイルシステム)版と Cloudflare(D1 + R2)版があります。

テーマ説明用途
@emdash-cms/template-blog投稿・ページ・カテゴリ・ダークモード付きのミニマルなブログ個人ブログ、シンプルなサイト
@emdash-cms/template-portfolioプロジェクト、セリフ体(Playfair Display)、画像重視レイアウトの編集者向けポートフォリオフリーランス、代理店、クリエイター
@emdash-cms/template-marketingカスタム Portable Text ブロック(ヒーロー、機能、お客様の声、料金、FAQ)の力強いマーケサイトランディング、SaaS、プロダクトマーケ

Cloudflare 版

Cloudflare Pages(D1 + R2)向けにデプロイする場合は、テンプレート名の末尾に -cloudflare を付けます。

npm create astro@latest -- --template @emdash-cms/template-blog-cloudflare
npm create astro@latest -- --template @emdash-cms/template-portfolio-cloudflare
npm create astro@latest -- --template @emdash-cms/template-marketing-cloudflare

これらのバリアントにはデプロイ設定用の wrangler.jsonc が含まれます。

インストール後のカスタマイズ

セットアップウィザードが終わると、サイトは通常の Astro プロジェクトです。他の Astro サイトと同様に編集できます。

  • src/pages/ のページを編集する
  • src/layouts/ のレイアウトを変更する
  • 管理 UI からコレクションを追加する
  • Astro インテグレーションをインストールする
  • Astro が動く環境ならどこへでもデプロイする

シードファイルは初回セットアップ時のみ使われます。適用後、スキーマはデータベースに保存されます。

次のステップ