Skip to main content
Glama
DocumentationRender.tsx1.76 kB
'use client'; import { Link } from '@components/Link/Link'; import { TableOfContents } from '@components/TableOfContents'; import { MarkdownRenderer } from '@intlayer/design-system'; import { cn } from '@utils/cn'; import { useLocale } from 'next-intlayer'; import { useTheme } from 'next-themes'; import type { ComponentProps, FC } from 'react'; import { SectionScroller } from './SectionScroller'; type DocumentationRenderProps = { children: string; /** Array of heading levels to display in TOC (e.g., [2, 3, 4] for h2, h3, h4) */ tocLevels?: number[]; /** Maximum depth of nested headings to show in TOC */ tocMaxDepth?: number; }; export const DocumentationRender: FC<DocumentationRenderProps> = ({ children, tocLevels = [2, 3], tocMaxDepth = 3, }) => { const { locale } = useLocale(); const { resolvedTheme } = useTheme(); const isDarkMode = resolvedTheme === 'dark'; return ( <div className="m-auto flex max-w-3xl flex-col gap-8 p-10 max-md:px-0"> <MarkdownRenderer isDarkMode={isDarkMode} locale={locale} options={{ overrides: { a: (props: ComponentProps<typeof Link>) => ( <Link color="neutral" underlined={true} locale={locale} {...props} /> ), TOC: (props: ComponentProps<typeof TableOfContents>) => ( <TableOfContents {...props} /> ), }, wrapper: ({ ...props }) => ( <> <SectionScroller /> <div className={cn('flex flex-col gap-8 py-10')} {...props} /> </> ), }} > {children} </MarkdownRenderer> </div> ); };

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aymericzip/intlayer'

If you have feedback or need assistance with the MCP directory API, please join our Discord server