Manejo de Rutas en AstroJS
Clase 10 de 14 • Curso de Desarrollo Web rápido con Astro
Resumen
¿Cómo gestionar contenido en Astro de manera dinámica?
Astro ofrece una dinámica sencilla y eficaz para manejar contenido en tu sitio web. Basándose en archivos, podemos estructurar y gestionar diferentes secciones como productos o blogs. Al utilizar la función de Astro Content, no solo puedes definir colecciones dentro de tu proyecto, sino también integrar datos externos desde plataformas o APIs, simplificando enormemente el proceso de gestión de contenido.
¿Cómo configurar una carpeta para almacenar el contenido?
Para administrar el contenido de manera eficiente, se debe crear una carpeta especial llamada content. Esta carpeta es clave, ya que es una de las reservadas que Astro utiliza para escuchar y gestionar el contenido. Dentro de ella, puedes crear subcarpetas para diferentes tipos de contenido, como products para productos y blog para artículos. Esto te permitirá manejar el contenido de una tienda en línea o cualquier otro sitio web.
# Estructura de directorios
/content
/products
/blog
¿Cómo crear y configurar un archivo Markdown para productos?
Dentro de la carpeta products, cada archivo Markdown representa un producto que deseas listar. Configura estos archivos para incluir toda la información esencial sobre los productos como título, descripción, fecha de publicación, imagen destacada, precio y categoría.
---
title: "Lego Space Galaxy Explorer"
description: "Un set de Lego interestelar con múltiples características."
pubdate: "1979-08-01"
heroImage: "ruta-a-la-imagen.jpg"
price: 200
category: "space"
---
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
¿Cómo definir el esquema de la colección en Astro?
Para que Astro entienda y utilice los archivos de manera correcta, necesitas un archivo config.ts dentro de la carpeta content. Este archivo se encarga de definir y validar el esquema de tu colección utilizando Zod, una biblioteca que facilita la validación y análisis de los datos.
import { defineCollection } from 'astro:content';
import * as z from 'zod';
const product = defineCollection({
schema: z.object({
title: z.string(),
description: z.string(),
pubdate: z.string(), // Se puede especificar como z.date() con ajuste
heroImage: z.string(),
price: z.number(),
category: z.string(),
}),
});
export const collection = {
product,
};
¿Qué pasos seguir para crear una colección para un blog?
Una vez que comprendes cómo estructurar la colección de productos, se te invita a poner en práctica este conocimiento creando una colección similar para el blog. Define claramente qué metadatos serán necesarios para cada publicación, como etiquetas o autor, y ajusta tu archivo de config.ts para reflejar el nuevo esquema.
Ejemplo:
- Archivo de Blog: Creación de estructura Markdown con campos como título, slug, fecha, etiquetas y autor.
- Esquema de Configuración: Similar al de productos, define cada campo del blog y asegúrate de que cumple con el esquema.
Desarrollar competencias en este sistema de gestión de contenido te brindará la flexibilidad y efectividad para mantener actualizado tu sitio web sin complicaciones. Te invitamos a compartir tus estructuras y aprender en comunidad sobre la mejor manera de enriquecer nuestros sitios. Recuerda que la clave está en experimentar y ajustar según las necesidades específicas. ¡Adelante, el mundo del desarrollo web te espera!