コンテンツにスキップ

EmDash 入門

EmDashはAstroネイティブのコンテンツ管理システムです。使い慣れたCMSのパターン(コレクション、タクソノミー、メニュー、ウィジェット、洗練された管理UI)を、完全なTypeScriptサポートとポータブルなデプロイメントでAstroサイトに直接導入します。

EmDashはAstro専用に構築されたCMSです。Astro 6のLive Content Collectionsを活用し、リビルドなしでランタイムにコンテンツを提供します。コンテンツはSQLite互換データベース(D1、libSQL、ローカルSQLite)に、メディアはS3互換ストレージ(R2、ローカルファイルシステム)に保存されます。

主な特徴:

  • データベースファーストスキーマ — コレクションとフィールドはコードではなくデータベースで定義されます。管理UIからコンテンツタイプを作成・変更できます。
  • ライブコレクション — コンテンツの変更は即座に反映されます。静的リビルドは不要です。
  • プラグインシステム — WordPressにインスパイアされたフック、ストレージ、設定、管理UI拡張機能。
  • クラウドポータブル — Cloudflare(Workers + D1 + R2)、Node.js、ローカルSQLite、およびあらゆるS3互換ストレージで動作します。
  • ヘッドレスCMSではない — EmDashはAstroと緊密に統合されています。API経由で呼び出す別サービスではありません。
  • WordPress互換ではない — PHPはなく、WordPressプラグインは直接実行されません。ただし、WordPressのコンテンツやコンセプトはきれいに移行できます。
  • ページビルダーではない — EmDashは構造化コンテンツに焦点を当てています。ビジュアルページビルディングにはAstroコンポーネントを使用してください。

エージェンシーの開発者

再利用可能なプラグインとテーマでクライアントサイトを迅速に立ち上げられます。PHPのセキュリティアップデートやプラグインの競合はありません。

個人開発者

CMSが組み込まれたフルスタックフレームワークです。管理すべき別個のヘッドレスCMSはありません。

コンテンツ編集者

直感的な管理パネル。コードに触れることなくコンテンツを作成・編集できます。

WordPressユーザー

コンテンツとプラグインの移行パスを提供します。モダンなツールと使い慣れたコンセプトです。

┌─────────────────────────────────────────────────────────────┐
│ あなたのAstroサイト │
│ │
│ ┌───────────────────────────────────────────────────────┐ │
│ │ EmDash統合 │ │
│ │ │ │
│ │ ┌─────────────┐ ┌─────────────┐ ┌──────────────┐ │ │
│ │ │ コンテンツ │ │ 管理 │ │ プラグイン │ │ │
│ │ │ エンジン │ │ パネル │ │ │ │ │
│ │ └─────────────┘ └─────────────┘ └──────────────┘ │ │
│ │ │ │
│ │ ┌───────────────────────────────────────────────────┐│ │
│ │ │ データ層 ││ │
│ │ │ SQLite/D1 ←→ Kysely ←→ R2/S3/Local ││ │
│ │ └───────────────────────────────────────────────────┘│ │
│ └───────────────────────────────────────────────────────┘ │
│ │
│ ┌───────────────────────────────────────────────────────┐ │
│ │ Astroフレームワーク │ │
│ │ Live Collections • Sessions • Middleware │ │
│ └───────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘

始める前に、以下の主要なコンセプトに慣れておきましょう:

  • コレクション — データベースで定義されるコンテンツタイプ(投稿、ページ、商品など)
  • フィールド — コレクションのプロパティ(タイトル、コンテンツ、価格など)
  • タクソノミー — 分類システム(カテゴリ、タグ、カスタムタクソノミー)
  • メニュー — 管理パネルで編集可能なナビゲーション構造
  • ウィジェットエリア — サイドバーやフッター用の設定可能なコンテンツ領域
  • プラグイン — フック、ストレージ、UIを介して機能を追加する拡張機能