123456789101112131415import type { APIRoute, GetStaticPaths } from "astro";import { loadDocs } from "../../lib/docs";import { card, cardFor } from "../../lib/og";
export const getStaticPaths: GetStaticPaths = async () => { const docs = await loadDocs(); return [...docs.values()].map((doc) => ({ params: { slug: doc.url.slice(1, -1) }, props: { id: doc.id } }));};
export const GET: APIRoute = async ({ props }) => { const docs = await loadDocs(); const png = await card(cardFor(docs.get(props.id)!, docs)); return new Response(new Uint8Array(png), { headers: { "content-type": "image/png" } });};