Un tema EmDash es un proyecto Astro completo distribuido como plantilla de create-astro. Contiene las rutas y componentes públicos, la configuración en tiempo de ejecución de EmDash y un archivo seed opcional para el modelo de contenido inicial del sitio.
No hay un paquete de tema en tiempo de ejecución ni una jerarquía de plantillas. Tras el andamiaje, los archivos del tema pertenecen al sitio y se pueden editar directamente.
Contenido del tema
Las plantillas actuales de EmDash usan estas rutas:
astro.config.mjs
package.json
seed/
└── seed.json
src/
├── components/
├── layouts/
├── live.config.ts
├── pages/
└── styles/
astro.config.mjsconfigura la salida del servidor, el adaptador de despliegue, EmDash, la base de datos y el almacenamiento.src/live.config.tsregistra la colección live_emdash.src/pages/define las rutas públicas.seed/seed.jsonpuede declarar colecciones, campos, ajustes, taxonomías, bylines, menús, redirecciones, áreas de widgets, secciones y contenido de ejemplo iniciales.package.json#emdash.seedapunta al archivo seed.
La plantilla en blanco no tiene deliberadamente un seed de usuario y recurre al seed predeterminado integrado de EmDash. Las demás plantillas actuales apuntan a seed/seed.json.
Instalar una plantilla
El siguiente comando genera la plantilla del blog para Node:
npm create astro@latest -- --template @emdash-cms/template-blog
Usa el paquete -cloudflare correspondiente para un proyecto de Cloudflare Workers:
npm create astro@latest -- --template @emdash-cms/template-blog-cloudflare
Los paquetes de plantilla actuales incluyen:
| Finalidad | Node | Cloudflare |
|---|---|---|
| Cáscara vacía del proyecto | @emdash-cms/template-blank | Sin equivalente actual |
| Sitio básico de páginas | @emdash-cms/template-starter | @emdash-cms/template-starter-cloudflare |
| Publicaciones, páginas, categorías, etiquetas y widgets | @emdash-cms/template-blog | @emdash-cms/template-blog-cloudflare |
| Portfolio de proyectos | @emdash-cms/template-portfolio | @emdash-cms/template-portfolio-cloudflare |
| Páginas de marketing compuestas a partir de bloques versionados | @emdash-cms/template-marketing | @emdash-cms/template-marketing-cloudflare |
Tras el andamiaje, instala las dependencias e inicia el sitio generado:
cd my-site
npm install
npm run dev
Abre http://localhost:4321/_emdash/admin. La primera visita redirige a la configuración, donde introduces la identidad del sitio y los datos del administrador. Cuando la plantilla seleccionada tiene entradas de ejemplo, el asistente también permite incluirlas u omitirlas. Incluirlas es útil al evaluar el diseño porque las rutas tienen contenido realista para renderizar.
Primera configuración
EmDash lee el seed en tiempo de compilación. Busca en este orden:
.emdash/seed.json.- La ruta en
package.json#emdash.seed. seed/seed.json.- El seed predeterminado integrado cuando no se encuentra un seed de usuario.
En la primera visita al administrador, el asistente de configuración muestra los metadatos del seed y permite al administrador elegir si incluir contenido de ejemplo. Aplica el seed a una base de datos vacía y registra la finalización de la configuración. Los arranques posteriores no vuelven a aplicar el seed a un sitio existente.
Personalizar el sitio instalado
Edita el proyecto generado directamente:
- Cambia los archivos de rutas en
src/pages/. - Cambia el marcado compartido en
src/layouts/ysrc/components/. - Cambia el modelo inicial en
seed/seed.jsonantes de la primera configuración. - Gestiona el modelo de un sitio existente en Content Types en el administrador.
Usa Crear temas para preparar una plantilla reutilizable y Archivos seed para el contrato completo del seed.