chore: support icon in docs mdx
This commit is contained in:
parent
5504a3fae8
commit
e8c4bf3406
@ -8,8 +8,8 @@ import { Tab, Tabs } from 'fumadocs-ui/components/tabs';
|
||||
import { TypeTable } from 'fumadocs-ui/components/type-table';
|
||||
import defaultMdxComponents from 'fumadocs-ui/mdx';
|
||||
import type { MDXComponents } from 'mdx/types';
|
||||
import Image from 'next/image';
|
||||
import { ComponentProps, FC } from 'react';
|
||||
import * as LucideIcons from 'lucide-react';
|
||||
|
||||
interface CustomMDXContentProps {
|
||||
code: string;
|
||||
@ -29,6 +29,7 @@ export async function CustomMDXContent({
|
||||
// Start with default components
|
||||
const baseComponents: Record<string, any> = {
|
||||
...defaultMdxComponents,
|
||||
...LucideIcons,
|
||||
...((await import('lucide-react')) as unknown as MDXComponents),
|
||||
...customComponents,
|
||||
};
|
||||
|
@ -1,6 +1,8 @@
|
||||
import { createMDXSource } from '@fumadocs/content-collections';
|
||||
import { allDocs, allMetas } from 'content-collections';
|
||||
import { loader } from 'fumadocs-core/source';
|
||||
import * as LucideIcons from 'lucide-react';
|
||||
import { createElement } from 'react';
|
||||
import { docsI18nConfig } from './i18n';
|
||||
|
||||
/**
|
||||
@ -13,4 +15,17 @@ export const source = loader({
|
||||
baseUrl: '/docs',
|
||||
i18n: docsI18nConfig,
|
||||
source: createMDXSource(allDocs, allMetas),
|
||||
icon(iconName) {
|
||||
if (!iconName) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
const IconComponent = (LucideIcons as Record<string, any>)[iconName];
|
||||
if (IconComponent) {
|
||||
return createElement(IconComponent);
|
||||
}
|
||||
|
||||
console.warn(`Icon not found: ${iconName}`);
|
||||
return undefined;
|
||||
},
|
||||
});
|
Loading…
Reference in New Issue
Block a user