From fe7c149811f2e20c055ad0375aff05d29491efb4 Mon Sep 17 00:00:00 2001 From: Ariel Costas Guerrero <94913521+arielcostas@users.noreply.github.com> Date: Sat, 4 May 2024 01:05:04 +0200 Subject: Rebuild the site in Astro Add licence Update site name in header to match README.md Add missing metadescription, opengraph and link to RSS Update Astro configuration to include sitemap integration with priority and changefreq settings New post --- src/pages/blog.astro | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 src/pages/blog.astro (limited to 'src/pages/blog.astro') diff --git a/src/pages/blog.astro b/src/pages/blog.astro new file mode 100644 index 0000000..e533fb6 --- /dev/null +++ b/src/pages/blog.astro @@ -0,0 +1,72 @@ +--- +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(); +}); + +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; + }, + {}, +); + +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", + } +}; +--- + + + + +

Blog de Ariel Costas

+ +

+ 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. +

+ + { + Object.entries(groupedPosts).map(([key, posts]) => ( +
+

{humaniseDate(new Date(key))}

+ +
+ )) + } +
-- cgit v1.3