import { docs } from "fumadocs-mdx:collections/server"; import { type InferPageType, loader } from "fumadocs-core/source"; import { lucideIconsPlugin } from "fumadocs-core/source/lucide-icons"; import { createOpenAPI } from "fumadocs-openapi/server"; import { createAPIPage } from "fumadocs-openapi/ui"; // See https://fumadocs.dev/docs/headless/source-api for more info export const source = loader({ baseUrl: "/docs", source: docs.toFumadocsSource(), plugins: [lucideIconsPlugin()], }); export const openapi = createOpenAPI({ input: ["./public/openapi.json"], }); export const APIPage = createAPIPage(openapi); 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} ${processed}`; }