From b024a8bbff99a1348eeaeda8a0121419612bb1eb Mon Sep 17 00:00:00 2001 From: Barrett Ruth Date: Thu, 9 Oct 2025 15:29:04 -0400 Subject: [PATCH] fix route --- src/pages/[category]/index.astro | 56 +++++++++++++++++--------------- 1 file changed, 30 insertions(+), 26 deletions(-) diff --git a/src/pages/[category]/index.astro b/src/pages/[category]/index.astro index 436b469..8bae471 100644 --- a/src/pages/[category]/index.astro +++ b/src/pages/[category]/index.astro @@ -1,26 +1,27 @@ --- import BaseLayout from "../../layouts/BaseLayout.astro"; import { getCollection } from "astro:content"; +import * as collections from "../../content/config"; + +export async function getStaticPaths() { + return Object.keys(collections.collections) + .filter((category) => category !== "git" && category !== "gists") + .map((category) => ({ + params: { category }, + })); +} const category = Astro.params.category; const title = "Barrett Ruth"; -const allPosts = await getCollection("posts"); -const postsByCategory = allPosts.reduce((acc, post) => { - const c = post.id.split("/")[0]; - (acc[c] ||= []).push(post); - return acc; -}, {}); - -Object.keys(postsByCategory).forEach((c) => { - postsByCategory[c].sort((a, b) => { - const parseEuroDate = (dateStr) => { - if (!dateStr) return new Date(0); - const [day, month, year] = (dateStr || "").split("/"); - return new Date(year, month - 1, day); - }; - return parseEuroDate(b.data.date) - parseEuroDate(a.data.date); - }); +const posts = await getCollection(category); +posts.sort((a, b) => { + const parseEuroDate = (dateStr) => { + if (!dateStr) return new Date(0); + const [day, month, year] = (dateStr || "").split("/"); + return new Date(year, month - 1, day); + }; + return parseEuroDate(b.data.date) - parseEuroDate(a.data.date); }); --- @@ -40,16 +41,19 @@ Object.keys(postsByCategory).forEach((c) => {
  • meditations
  • +
  • + autonomous-racing +
  • -
    - - - +
    + { + posts.map((p) => ( + {p.data.title} + )) + } +
    +