Ir al contenido

Introducción a EmDash

EmDash es un sistema de gestión de contenido nativo de Astro. Incorpora patrones familiares de CMS—colecciones, taxonomías, menús, widgets y una interfaz de administración pulida—directamente en tu sitio Astro con soporte completo de TypeScript y despliegue portable.

EmDash es un CMS construido específicamente para Astro. Utiliza las Live Content Collections de Astro 6 para servir contenido en tiempo de ejecución sin reconstrucciones. El contenido se almacena en bases de datos compatibles con SQLite (D1, libSQL, SQLite local) y los medios en almacenamiento compatible con S3 (R2, sistema de archivos local).

Características clave:

  • Esquema primero en base de datos — Las colecciones y campos se definen en la base de datos, no en código. Crea y modifica tipos de contenido desde la interfaz de administración.
  • Colecciones en vivo — Los cambios de contenido están disponibles inmediatamente. No se necesitan reconstrucciones estáticas.
  • Sistema de plugins — Hooks inspirados en WordPress, extensiones de almacenamiento, configuración e interfaz de administración.
  • Portable a la nube — Se ejecuta en Cloudflare (Workers + D1 + R2), Node.js, SQLite local y cualquier almacenamiento compatible con S3.
  • NO es un CMS headless — EmDash está estrechamente integrado con Astro. No es un servicio separado al que llamas mediante API.
  • NO es compatible con WordPress — Sin PHP, sin plugins de WordPress ejecutándose directamente. Pero el contenido y conceptos de WordPress migran limpiamente.
  • NO es un constructor de páginas — EmDash se centra en contenido estructurado. Para construcción visual de páginas, usa componentes de Astro.

Desarrolladores de agencias

Configura sitios para clientes rápidamente con plugins y temas reutilizables. Sin actualizaciones de seguridad de PHP, sin conflictos de plugins.

Desarrolladores independientes

Framework full-stack con CMS integrado. Sin CMS headless separado que gestionar.

Editores de contenido

Panel de administración intuitivo. Crea y edita contenido sin tocar código.

Usuarios de WordPress

Ruta de migración para contenido y plugins. Herramientas modernas, conceptos familiares.

┌─────────────────────────────────────────────────────────────┐
│ Your Astro Site │
│ │
│ ┌───────────────────────────────────────────────────────┐ │
│ │ EmDash Integration │ │
│ │ │ │
│ │ ┌─────────────┐ ┌─────────────┐ ┌──────────────┐ │ │
│ │ │ Content │ │ Admin │ │ Plugins │ │ │
│ │ │ Engine │ │ Panel │ │ │ │ │
│ │ └─────────────┘ └─────────────┘ └──────────────┘ │ │
│ │ │ │
│ │ ┌───────────────────────────────────────────────────┐│ │
│ │ │ Data Layer ││ │
│ │ │ SQLite/D1 ←→ Kysely ←→ R2/S3/Local ││ │
│ │ └───────────────────────────────────────────────────┘│ │
│ └───────────────────────────────────────────────────────┘ │
│ │
│ ┌───────────────────────────────────────────────────────┐ │
│ │ Astro Framework │ │
│ │ Live Collections • Sessions • Middleware │ │
│ └───────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘

Antes de profundizar, familiarízate con estos conceptos clave:

  • Colecciones — Tipos de contenido definidos en la base de datos (publicaciones, páginas, productos, etc.)
  • Campos — Las propiedades de una colección (título, contenido, precio, etc.)
  • Taxonomías — Sistemas de clasificación (categorías, etiquetas, taxonomías personalizadas)
  • Menús — Estructuras de navegación editables desde el administrador
  • Áreas de widgets — Regiones de contenido configurables para barras laterales y pies de página
  • Plugins — Extensiones que añaden funcionalidad mediante hooks, almacenamiento e interfaz