import { type InferPageType, loader } from "fumadocs-core/source"; import { icons } from "lucide-react"; import { createElement } from "react"; import { docs } from "@/.source"; // See https://fumadocs.vercel.app/docs/headless/source-api for more info export const source = loader({ baseUrl: "/docs", source: docs.toFumadocsSource(), icon(icon) { if (!icon) return; if (icon in icons) return createElement(icons[icon as keyof typeof icons]); }, }); export function getPageImage(page: InferPageType) { const segments = [...page.slugs, "image.png"]; return { segments, url: `/og/docs/${segments.join("/")}`, }; } export async function getLLMText(page: InferPageType) { const processed = await page.data.getText("processed"); return `# ${page.data.title} (${page.url}) ${processed}`; }