¿Qué es EmDash?
Cloudflare anunció un CMS que considera el sucesor espiritual de WordPress.
Se trata de un CMS completo que utiliza una arquitectura moderna, combinando varios recursos de Cloudflare (D1/R2/Workers) con Astro, ¡un CMS que realmente forma parte del ecosistema de Cloudflare!
Para ver qué sucedía, migré experimentalmente un blog implementado con microCMS a EmDash.
El sitio migrado está aquí. → Yurulog
Este es solo un sitio experimental, así que por ahora estoy usando el tema predeterminado. Más adelante aplicaré un diseño diferente.
Proceso de configuración
1. Creación del proyecto
npm create emdash@latestEjecuta el proceso. Se te harán varias preguntas de forma interactiva, así que selecciona las opciones adecuadas.
2. Crear recursos de Cloudflare
Crear bases de datos y sistemas de almacenamiento de esta manera facilita la implementación.
npx wrangler login
npx wrangler d1 create my-site
npx wrangler r2 bucket create my-site-media
npm run build && npm run deploy
3. Desarrollo local
npx emdash devEsto pondrá en marcha su entorno local.
Pantalla de administraciónhttp://localhost:4321/_emdash/adminAcceda a [sitio web/enlace] y realice la configuración.
4. Despliegue y configuración inicial
npx wrangler deployLuego se implementa para los trabajadores,https://[name].workers.devSe lanzará en [nombre de la plataforma].
Debido a que las bases de datos locales y remotas son independientes, se requiere una configuración inicial (creación de una cuenta de administrador) incluso al utilizar la pantalla de administración remota.
Al vincularlo con un repositorio de GitHub, también puede automatizar las implementaciones mediante push (Panel de control de Cloudflare → Trabajadores → Configuración → Compilación → Vincular con repositorio Git).
5. Migración de artículos desde microCMS
Crea un script de migración para recuperar todos los artículos de la API de microCMS → EmDash CLIcontent createLo añadí.
punto
- Convierta el editor enriquecido de microCMS (HTML) a Markdown y luego impórtelo.
- Las imágenes se migraron inicialmente mediante URL externas y posteriormente se subieron a R2, donde se actualizaron las referencias.
npx emdash seedNonpx emdash content createUtilice (debido a que seed no crea revisiones, el artículo no se mostrará)
De hecho, lo probé.
Este CMS combina la facilidad de configuración e implementación de un CMS headless con la comodidad del control integral de un CMS full-stack, ofreciendo lo mejor de ambos mundos.
Lo mejor de todo es que, al estar basado en Astro, puedes aprovechar tus conocimientos previos, lo cual es fantástico. Parece ideal para blogs pequeños y medianos.
Sin embargo, dado que todavía está en fase beta,
- La vista previa del borrador no funciona de forma predeterminada (ver más abajo).
- La alineación al centro y a la derecha no se refleja en WYSIWYG.
- Al editar elementos en los menús, las rutas relativas provocan un error.
- Los campos personalizados no se pueden ordenar.
- No se pueden invitar usuarios
Había algunos puntos preocupantes, como los mencionados anteriormente (a partir de la versión 0.1.0).
Acerca de la vista previa del borrador
Aunque en la pantalla de edición aparece un botón de "Vista previa del borrador", no es posible previsualizar los artículos en formato de borrador.
EmDash tiene un mecanismo de vista previa, pero no parece estar habilitado por defecto, por lo que fueron necesarios los siguientes pasos.
- variables ambientales
PREVIEW_SECRETEstablezca una clave secreta arbitraria (npx emdash auth secret(Se puede generar con) - En la página del artículo
verifyPreviewTokenUtilice este método para obtener el borrador.
import { getEmDashEntry, verifyPreviewToken } from "emdash";
const preview = await verifyPreviewToken({
url: Astro.url,
secret: import.meta.env.PREVIEW_SECRET,
});
const { entry, isPreview } = await getEmDashEntry("posts", slug, { preview });
Ahora puedes ver tus borradores de artículos desde el botón "Previsualizar borrador" en el panel de administración.
resumen
Esta vez, lo implementé como una aplicación full-stack según los fundamentos, pero parece que también podría usarse como un "CMS sin interfaz gráfica" recibiendo artículos con fetch y creando un SSG, así que me gustaría probarlo la próxima vez.
Todavía es una versión beta muy reciente. ¡Tengo muchas ganas de ver cómo evoluciona!
Pasó de la maquetación al mundo web y rápidamente se convirtió en un maestro de la artesanía, con un dominio del marcado, el diseño front-end, la dirección y la accesibilidad. Ha estado activo en diversos campos desde la fundación de Liberogic y ahora es un diccionario viviente dentro de la empresa. Recientemente, se ha obsesionado con explorar mejoras de eficiencia mediante indicaciones, preguntándose: "¿Podemos confiar más en la IA para la accesibilidad?". Su tecnología y su pensamiento siguen evolucionando.
Futa
Especialista certificado en accesibilidad web (WAS) de IAAP / Ingeniero de marcado / Ingeniero de interfaz / Director web