Einführung in EmDash

Auf dieser Seite

EmDash ist ein Astro-natives Content-Management-System. Es bringt vertraute CMS-Muster—Collections, Taxonomien, Menüs, Widgets und eine ausgereifte Admin-Oberfläche—direkt in deine Astro-Site mit vollständiger TypeScript-Unterstützung und portabler Bereitstellung.

Was EmDash ist

EmDash ist ein CMS, das speziell für Astro gebaut wurde. Es nutzt Astros Live Content Collections (Astro 6), um Inhalte zur Laufzeit ohne Rebuilds auszuliefern. Inhalte liegen in SQLite-kompatiblen Datenbanken (D1, libSQL, lokales SQLite), Medien in S3-kompatiblem Storage (R2, lokales Dateisystem).

Wichtige Merkmale:

  • Datenbank-first-Schema — Collections und Felder werden in der Datenbank definiert, nicht im Code. Lege Inhaltstypen im Admin an und ändere sie dort.
  • Live Collections — Inhaltsänderungen sind sofort verfügbar. Keine statischen Rebuilds nötig.
  • Plugin-System — Von WordPress inspirierte Hooks, Storage, Einstellungen und Erweiterungen der Admin-UI.
  • Cloud-portabel — Läuft auf Cloudflare (Workers + D1 + R2), Node.js, lokalem SQLite und jedem S3-kompatiblen Storage.

Was EmDash nicht ist

  • Kein Headless-CMS — EmDash ist eng mit Astro integriert. Es ist kein separater Dienst, den du per API ansteuerst.
  • Nicht WordPress-kompatibel — Kein PHP, keine WordPress-Plugins laufen direkt. WordPress-Inhalte und -Konzepte lassen sich aber sauber migrieren.
  • Kein Page Builder — EmDash fokussiert strukturierte Inhalte. Für visuelles Page-Building nutze Astro-Komponenten.

Für wen EmDash gedacht ist

Agentur-Entwickler:innen

Kunden-Sites schnell aufsetzen mit wiederverwendbaren Plugins und Themes. Keine PHP-Sicherheitsupdates, keine Plugin-Konflikte.

Solo-Entwickler:innen

Full-Stack-Framework mit eingebautem CMS. Kein separates Headless-CMS zum Betreiben.

Redakteur:innen

Intuitives Admin-Panel. Inhalte erstellen und bearbeiten, ohne Code anzufassen.

WordPress-Nutzer:innen

Migrationspfad für Inhalte und Plugins. Moderne Tooling, vertraute Konzepte.

Architektur auf einen Blick

┌─────────────────────────────────────────────────────────────┐
│                    Deine Astro-Site                         │
│                                                             │
│  ┌───────────────────────────────────────────────────────┐  │
│  │                 EmDash-Integration                    │  │
│  │                                                       │  │
│  │  ┌─────────────┐  ┌─────────────┐  ┌──────────────┐   │  │
│  │  │  Content-   │  │   Admin-    │  │   Plugins    │   │  │
│  │  │  Engine     │  │   Panel     │  │              │   │  │
│  │  └─────────────┘  └─────────────┘  └──────────────┘   │  │
│  │                                                       │  │
│  │  ┌───────────────────────────────────────────────────┐│  │
│  │  │                  Daten-Schicht                    ││  │
│  │  │    SQLite/D1      ←→  Kysely  ←→  R2/S3/Lokal     ││  │
│  │  └───────────────────────────────────────────────────┘│  │
│  └───────────────────────────────────────────────────────┘  │
│                                                             │
│  ┌───────────────────────────────────────────────────────┐  │
│  │                   Astro-Framework                     │  │
│  │        Live Collections • Sessions • Middleware       │  │
│  └───────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────┘

Kernkonzepte

Bevor du einsteigst, mach dich mit diesen Begriffen vertraut:

  • Collections — Inhaltstypen in der Datenbank (Beiträge, Seiten, Produkte usw.)
  • Fields — Eigenschaften einer Collection (Titel, Inhalt, Preis usw.)
  • Taxonomies — Klassifikationssysteme (Kategorien, Tags, eigene Taxonomien)
  • Menus — Im Admin pflegbare Navigationsstrukturen
  • Widget Areas — Konfigurierbare Content-Bereiche für Seitenleisten und Fußzeilen
  • Plugins — Erweiterungen über Hooks, Storage und UI

Nächste Schritte