import { useMemo } from "react"; import matter from "gray-matter"; import { Link } from "react-router-dom"; import CardLink from "../components/CardLink"; interface PostMeta { slug: string; title: string; date: string; excerpt: string; cover?: string; } export default function Blog() { const posts = useMemo(() => { const files = import.meta.glob("../blog/*.md", { eager: true, query: "?raw", import: "default", }) as Record; return Object.entries(files) .map(([path, raw]) => { const { data } = matter(raw); const slug = path.split("/").pop()!.replace(".md", ""); return { slug, ...data } as PostMeta; }) .sort((a, b) => new Date(b.date).getTime() - new Date(a.date).getTime()); }, []); return (

Blog

{posts.map((post) => ( /* 1) Link für internes Routing */ /* 2) CardLink bekommt genau deine Prop-Namen */ ))}
); }