Files
website/apps/docs-new/lib/source.ts
Mauricio Siu 55b254da6d feat: enhance API documentation and integrate OpenAPI features
- Added new OpenAPI components and updated the documentation structure with new MDX files for various API references.
- Introduced a script to fix OpenAPI schema issues, ensuring proper response schemas and security definitions.
- Updated package dependencies to include fumadocs-openapi for improved API documentation generation.
- Enhanced global CSS to incorporate new styles from fumadocs-openapi.
- Modified the pnpm-lock.yaml to reflect new package versions and dependencies.
2025-12-07 05:53:15 -06:00

39 lines
1018 B
TypeScript

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, {
// options
});
export function getPageImage(page: InferPageType<typeof source>) {
const segments = [...page.slugs, 'image.png'];
return {
segments,
url: `/og/docs/${segments.join('/')}`,
};
}
export async function getLLMText(page: InferPageType<typeof source>) {
const processed = await page.data.getText('processed');
return `# ${page.data.title}
${processed}`;
}