Headless Statamic y Astro
Statamic es un CMS moderno que utiliza archivos planos. Permite a los desarrolladores crear fácilmente sitios web y aplicaciones dinámicas, mientras que ofrece a los editores de contenido una interfaz intuitiva y fácil de usar para administrar el contenido.
Integración con Astro
Statamic viene con una API REST y una API GraphQL integradas para conectar tus datos a Astro.
Prerrequisitos
Para empezar, necesitarás lo siguiente:
- Solo están disponibles las API REST y GraphQL API en la versión pro de Statamic. Puedes probar la versión Pro gratis en tu máquina local.
- Un proyecto Astro - Si todavía necesitas un proyecto Astro, nuestra guía de instalación te pondrá en marcha rápidamente.
- Un sitio Statamic - Si necesitas un sitio Statamic, la guía de instalación de Statamic te ayudará a empezar.
Recuerda habilitar la API REST o la API GraphQL añadiendo
STATAMIC_API_ENABLED=true
oSTATAMIC_GRAPHQL_ENABLED=true
en el archivo.env
y habilitando los recursos necesarios en el archivo de configuración de la API.
Todos los ejemplos asumen que tu sitio web tiene una colección llamada posts
, que tiene un blueprint llamado post
, y este blueprint tiene un campo de título (tipo de campo texto) y contenido (tipo de campo markdown).
Obteniendo Datos
Si estás usando Statamic y Astro en tu máquina local, recuerda usar 127.0.0.1
en lugar de localhost
al solicitar los datos a la API.
Cuando se solicita los datos desde el frontmatter de Astro, localhost
no se resuelve correctamente como lo hace en el navegador y cualquier solicitud a cualquiera de las API fallará.
REST API
Obtén los datos de Statamic de la URL de la API REST de tu sitio. Por defecto, es https://[YOUR-SITE]/api/
. A continuación, puedes renderizar las propiedades de tus datos utilizando la directiva set:html={}
de Astro.
Por ejemplo, para mostrar una lista de títulos y su contenido de una colección seleccionada:
GraphQL
Obtén los datos de Statamic de la URL de la API GraphQL de tu sitio. Por defecto, es https://[YOUR-SITE]/graphql/
. A continuación, puedes renderizar las propiedades de tus datos utilizando la directiva set:html={}
de Astro.
Por ejemlo, para mostrar una lista de títulos y su contenido de una colección seleccionada:
Publicando tu sitio
Para desplegar tu sitio Astro, visita nuestras guías de despliegue y sigue las instrucciones para tu proveedor de alojamiento preferido.
Recursos de la comunidad
- Como construir un sitio estático usando Statamic como CMS headless
- Implementando previsualizaciones en vivo en Statamic headless usando Astro