テーマ概要

このページ

EmDashテーマは、create-astroを介して配布される完全な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プロジェクトです。スキャフォールディング後に自由にカスタマイズできます。

テーマのインストール

次のコマンドは、公式テーマテンプレートからサイトを作成します:

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

GitHubでホストされているコミュニティテーマは、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は公式スターターテーマを提供しており、それぞれローカル(SQLite + ファイルシステム)およびCloudflare(D1 + R2)バリアントで利用可能です:

テーマ説明使用例
@emdash-cms/template-blog投稿、ページ、カテゴリー、ダークモードを備えたミニマルなブログ個人ブログ、シンプルなサイト
@emdash-cms/template-portfolioプロジェクト、セリフ体タイポグラフィ(Playfair Display)、画像重視のレイアウトを備えた編集スタイルのポートフォリオフリーランサー、エージェンシー、クリエイティブ
@emdash-cms/template-marketingカスタムPortable Textブロック(ヒーロー、機能、推薦文、価格、FAQ)を備えた大胆なマーケティングサイトランディングページ、SaaSサイト、製品マーケティング

Cloudflareバリアント

D1とR2を使用したCloudflare Workersへのデプロイには、次のコマンドのようにテンプレート名に-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が実行される場所であればどこでもデプロイ

シードファイルは初期セットアップ時にのみ使用されます。その後は、管理パネルまたはCLIでコンテンツモデルを管理します。

次のステップ