Keystatic y Astro
Keystatic es un sistema de gestión de contenido de código abierto headless que te permite estructurar tu contenido y sincronizarlo con GitHub.
Si estás comenzando un nuevo proyecto Astro + Keystatic desde cero, puedes usar la CLI de Keystatic para generar un nuevo proyecto en segundos:
¡Selecciona la plantilla de Astro y estarás listo para desplegar!
Prerrequisitos
Sección titulada Prerrequisitos- Un proyecto existente de Astro con renderizado del lado del servidor (SSR) y
output: 'hybrid'
configurado.
Si tienes la intención de sincronizar los datos de Keystatic con GitHub, también necesitarás una cuenta de GitHub con permisos de escritura
en el repositorio de este proyecto.
Instalación de dependencias
Sección titulada Instalación de dependenciasAgrega tanto la integración de Markdoc (para las entradas de contenido) como la de React (para el panel de control de la interfaz de usuario de Keystatic) a tu proyecto Astro, usando el comando astro add
para tu gestor de paquetes.
También necesitarás dos paquetes de Keystatic:
Agregar la integración de Astro
Sección titulada Agregar la integración de AstroAgrega la integración de Astro desde @keystatic/astro
en el archivo de configuración de Astro:
Crear un archivo de configuración de Keystatic
Sección titulada Crear un archivo de configuración de KeystaticUn archivo de configuración de Keystatic es necesario para definir el esquema de tu contenido. Este archivo también te permitirá conectar un proyecto a un repositorio específico de GitHub (si decides hacerlo).
Crea un archivo llamado keystatic.config.ts
en la raíz del proyecto y agrega el siguiente código para definir tanto el tipo de almacenamiento (local
) como una sola colección de contenido (posts
):
Si ya estás usando colecciones de contenido en tu proyecto Astro, actualiza el esquema anterior para que coincida exactamente con la(s) colección(es) definida(s) en tu esquema existente.
Keystatic está ahora configurado para gestionar tu contenido basado en tu esquema.
Ejecutar Keystatic localmente
Sección titulada Ejecutar Keystatic localmentePara iniciar el panel de control de UI de administrador de Keystatic, inicia el servidor dev de Astro:
Visita http://127.0.0.1:4321/keystatic
en el navegador para ver la UI de administrador de Keystatic corriendo.
Crear una nueva entrada
Sección titulada Crear una nueva entrada-
En el panel de control de administrador de Keystatic, haz clic en la colección “Posts”.
-
Usa el botón para crear una nueva entrada. Agrega el título “Mi primera entrada” y algo de contenido, luego guarda la entrada.
-
Este post debería ser visible desde tu colección “Posts”. Puedes ver y editar tus posts individuales desde esta página del panel de control.
-
Regresa para ver tus archivos del proyecto Astro. Ahora encontrarás un nuevo archivo
.mdoc
dentro del directoriosrc/content/posts
para esta nueva entrada:Directoriosrc/
Directoriocontent/
Directorioposts/
- my-first-post.mdoc
-
Navega a ese archivo en tu editor de código y verifica que puedes ver el contenido Markdown que ingresaste. Por ejemplo:
Renderizar contenido de Keystatic
Sección titulada Renderizar contenido de KeystaticUsa la API de Colecciones de Contenido de Astro para consultar y mostrar tus posts y colecciones, tal como lo harías en cualquier proyecto de Astro.
Mostrar una lista de colecciones
Sección titulada Mostrar una lista de coleccionesEl siguiente ejemplo muestra una lista de cada título de post, con un enlace a una página de post individual.
Mostrar una entrada individual
Sección titulada Mostrar una entrada individualPara mostrar contenido de una entrada individual, puedes importar y usar el componente <Content />
para renderizar tu contenido a HTML:
Para mayor información sobre consultas, filtrado, visualización de tu contenido de colecciones y más, consulta la documentación completa de colecciones de contenido.
Despliegue de Keystatic + Astro
Sección titulada Despliegue de Keystatic + AstroPara desplegar tu sitio web, visita nuestras guías de despliegue y sigue las instrucciones para tu proveedor de alojamiento preferido.
También probablemente querrás conectar Keystatic a GitHub para que puedas gestionar el contenido en la instancia desplegada del proyecto.