Introduzione a EmDash

In questa pagina

EmDash è un sistema di gestione dei contenuti nativo Astro. Porta modelli CMS familiari—collezioni, tassonomie, menu, widget e un’interfaccia di amministrazione curata—direttamente nel tuo sito Astro con pieno supporto TypeScript e distribuzione portabile.

Cos’è EmDash

EmDash è un CMS costruito appositamente per Astro. Usa le Live Content Collections di Astro 6 per servire i contenuti a runtime senza ricostruzioni. I contenuti sono memorizzati in database compatibili SQLite (D1, libSQL, SQLite locale) e i media in storage compatibile S3 (R2, filesystem locale).

Caratteristiche principali:

  • Schema database-first — Collezioni e campi sono definiti nel database, non nel codice. Crea e modifica i tipi di contenuto dall’interfaccia di amministrazione.
  • Live Collections — Le modifiche ai contenuti sono subito disponibili. Nessuna ricostruzione statica necessaria.
  • Sistema di plugin — Hook ispirati a WordPress, storage, impostazioni ed estensioni dell’UI di amministrazione.
  • Portabile sul cloud — Funziona su Cloudflare (Workers + D1 + R2), Node.js, SQLite locale e qualsiasi storage compatibile S3.

Cosa EmDash non è

  • Non è un CMS headless — EmDash è strettamente integrato con Astro. Non è un servizio separato richiamato via API.
  • Non è compatibile con WordPress — Niente PHP, nessun plugin WordPress in esecuzione diretta. Ma contenuti e concetti WordPress migrano in modo pulito.
  • Non è un page builder — EmDash si concentra sui contenuti strutturati. Per il page building visivo usa i componenti Astro.

Per chi è EmDash

Sviluppatori in agenzia

Avvia rapidamente i siti dei clienti con plugin e temi riutilizzabili. Niente aggiornamenti di sicurezza PHP, niente conflitti tra plugin.

Sviluppatori solisti

Framework full-stack con CMS integrato. Nessun CMS headless separato da gestire.

Redattori e redattrici

Pannello di amministrazione intuitivo. Crea e modifica i contenuti senza toccare il codice.

Utenti WordPress

Percorso di migrazione per contenuti e plugin. Tooling moderno, concetti familiari.

Architettura in sintesi

┌─────────────────────────────────────────────────────────────┐
│                    Il tuo sito Astro                        │
│                                                             │
│  ┌───────────────────────────────────────────────────────┐  │
│  │                 Integrazione EmDash                   │  │
│  │                                                       │  │
│  │  ┌─────────────┐  ┌─────────────┐  ┌──────────────┐   │  │
│  │  │  Motore     │  │   Pannello  │  │   Plugin     │   │  │
│  │  │  contenuti  │  │   admin     │  │              │   │  │
│  │  └─────────────┘  └─────────────┘  └──────────────┘   │  │
│  │                                                       │  │
│  │  ┌───────────────────────────────────────────────────┐│  │
│  │  │                  Livello dati                   ││  │
│  │  │    SQLite/D1      ←→  Kysely  ←→  R2/S3/Local     ││  │
│  │  └───────────────────────────────────────────────────┘│  │
│  └───────────────────────────────────────────────────────┘  │
│                                                             │
│  ┌───────────────────────────────────────────────────────┐  │
│  │                   Framework Astro                     │  │
│  │        Live Collections • Sessioni • Middleware       │  │
│  └───────────────────────────────────────────────────────┘  │
└─────────────────────────────────────────────────────────────┘

Concetti fondamentali

Prima di entrare nel dettaglio, familiarizza con questi concetti:

  • Collections — Tipi di contenuto definiti nel database (articoli, pagine, prodotti, ecc.)
  • Fields — Proprietà di una collezione (titolo, contenuto, prezzo, ecc.)
  • Taxonomies — Sistemi di classificazione (categorie, tag, tassonomie personalizzate)
  • Menus — Strutture di navigazione modificabili dall’admin
  • Widget Areas — Regioni di contenuto configurabili per barre laterali e piè di pagina
  • Plugins — Estensioni che aggiungono funzionalità tramite hook, storage e UI

Passi successivi