import { createContentLoader } from "vitepress"; interface Post { title: string; url: string; date: { time: number; string: string; }; excerpt: string | undefined; } declare const data: Post[]; export { data }; export default createContentLoader("posts/*.md", { excerpt: true, transform(raw): Post[] { return raw .map(({ url, frontmatter, excerpt }) => ({ title: frontmatter.title, url, excerpt, date: formatDate(frontmatter.date), })) .sort((a, b) => a.title.localeCompare(b.title)); }, }); function formatDate(raw: string): Post["date"] { const date = new Date(raw); date.setUTCHours(12); return { time: +date, string: date.toLocaleDateString("de-DE", { year: "numeric", month: "long", day: "numeric", }), }; }