--- import { getCollection } from "astro:content"; import Layout from "../../layouts/Layout.astro"; const blogCollection = (await getCollection("blog")).sort((a, b) => { return b.data.publishedAt.getTime() - a.data.publishedAt.getTime(); }); // Agrupar artículos por fecha const groupedPosts = blogCollection.reduce( (acc: Record, post) => { const year = post.data.publishedAt.getFullYear(); const month = post.data.publishedAt.getMonth() + 1; const key = `${year}-${month}`; if (!acc[key]) { acc[key] = []; } acc[key].push(post); return acc; }, {}, ); // Colección de todas las etiquetas únicas const allTags = [...new Set(blogCollection.flatMap(post => post.data.tags || []))].sort(); function humaniseDate(date: Date) { const result = date.toLocaleDateString("es-ES", { month: "long", year: "numeric", }); return result.charAt(0).toUpperCase() + result.slice(1); } const schema = { "@context": "https://schema.org", "@type": "Blog", headline: "Blog de Ariel Costas", description: "En este blog encontrarás artículos sobre desarrollo, tecnología y otras temáticas que pueda querer compartir. Disclaimer de siempre: las opiniones son mías, y no representan a ninguna empresa o institución.", publisher: { "@type": "Person", name: "Ariel Costas", }, author: { "@type": "Person", name: "Ariel Costas", }, }; ---