EmDash es un sistema de gestión de contenidos nativo de Astro. Aporta patrones de CMS familiares—colecciones, taxonomías, menús, widgets y un panel de administración pulido—directamente a tu sitio Astro con soporte completo de TypeScript y despliegue portable.
Qué es EmDash
EmDash es un CMS creado específicamente para Astro. Usa las Live Content Collections de Astro 6 para servir contenido en tiempo de ejecución sin reconstrucciones. El contenido se guarda en bases compatibles con SQLite (D1, libSQL, SQLite local) y los medios en almacenamiento compatible con S3 (R2, sistema de archivos local).
Características clave:
- Esquema orientado a la base de datos — Las colecciones y los campos se definen en la base de datos, no en el código. Crea y modifica tipos de contenido desde el panel de administración.
- Colecciones en vivo — Los cambios de contenido están disponibles al instante. No hace falta reconstruir de forma estática.
- Sistema de plugins — Ganchos inspirados en WordPress, almacenamiento, ajustes y extensiones de la UI de administración.
- Portable en la nube — Funciona en Cloudflare (Workers + D1 + R2), Node.js, SQLite local y cualquier almacenamiento compatible con S3.
Qué no es EmDash
- No es un CMS headless — EmDash está integrado de forma estrecha con Astro. No es un servicio aparte al que llames por API.
- No es compatible con WordPress — Sin PHP ni plugins de WordPress ejecutándose directamente. Pero el contenido y los conceptos de WordPress migran con claridad.
- No es un maquetador visual — EmDash se centra en contenido estructurado. Para maquetación visual, usa componentes de Astro.
Para quién es EmDash
Desarrolladoras y desarrolladores de agencia
Levanta sitios de clientes rápido con plugins y temas reutilizables. Sin actualizaciones de seguridad de PHP, sin conflictos entre plugins.
Desarrolladoras y desarrolladores en solitario
Framework full-stack con CMS integrado. Sin un CMS headless aparte que mantener.
Equipos editoriales
Panel de administración intuitivo. Crea y edita contenido sin tocar código.
Personas que vienen de WordPress
Ruta de migración para contenido y plugins. Herramientas modernas, conceptos familiares.
Arquitectura de un vistazo
┌─────────────────────────────────────────────────────────────┐
│ Tu sitio Astro │
│ │
│ ┌───────────────────────────────────────────────────────┐ │
│ │ Integración EmDash │ │
│ │ │ │
│ │ ┌─────────────┐ ┌─────────────┐ ┌──────────────┐ │ │
│ │ │ Motor de │ │ Panel │ │ Plugins │ │ │
│ │ │ contenido │ │ admin │ │ │ │ │
│ │ └─────────────┘ └─────────────┘ └──────────────┘ │ │
│ │ │ │
│ │ ┌───────────────────────────────────────────────────┐│ │
│ │ │ Capa de datos ││ │
│ │ │ SQLite/D1 ←→ Kysely ←→ R2/S3/Local ││ │
│ │ └───────────────────────────────────────────────────┘│ │
│ └───────────────────────────────────────────────────────┘ │
│ │
│ ┌───────────────────────────────────────────────────────┐ │
│ │ Framework Astro │ │
│ │ Live Collections • Sesiones • Middleware │ │
│ └───────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
Conceptos básicos
Antes de profundizar, familiarízate con estos conceptos:
- Collections — Tipos de contenido definidos en la base de datos (entradas, páginas, productos, etc.)
- Fields — Propiedades de una colección (título, contenido, precio, etc.)
- Taxonomies — Sistemas de clasificación (categorías, etiquetas, taxonomías personalizadas)
- Menus — Estructuras de navegación editables en el admin
- Widget Areas — Regiones de contenido configurables para barras laterales y pies
- Plugins — Extensiones que añaden funcionalidad mediante hooks, almacenamiento y UI
Próximos pasos
Empezar
Crea tu primer sitio EmDash en menos de 5 minutos.
Explorar conceptos
Aprende sobre arquitectura y el modelo de contenido.
Migrar desde WordPress
Importa tu contenido de WordPress y entiende la correspondencia de conceptos.