diff --git a/apps/v4/app/(app)/docs/[[...slug]]/page.tsx b/apps/v4/app/(app)/docs/[[...slug]]/page.tsx index 85bcfe394f..c01edaac4d 100644 --- a/apps/v4/app/(app)/docs/[[...slug]]/page.tsx +++ b/apps/v4/app/(app)/docs/[[...slug]]/page.tsx @@ -4,6 +4,7 @@ import { mdxComponents } from "@/mdx-components" import { IconArrowLeft, IconArrowRight } from "@tabler/icons-react" import { findNeighbour } from "fumadocs-core/page-tree" +import { replaceComponentsList } from "@/lib/llm" import { source } from "@/lib/source" import { absoluteUrl } from "@/lib/utils" import { DocsBaseSwitcher } from "@/components/docs-base-switcher" @@ -83,7 +84,7 @@ export default async function Page(props: { const neighbours = isChangelog ? { previous: null, next: null } : findNeighbour(source.pageTree, page.url) - const raw = await page.data.getText("raw") + const raw = replaceComponentsList(await page.data.getText("raw")) return (
page.$id === "components" ) - - if (components?.type !== "folder") { - return "" - } - - const list = components.children.filter( - (component) => component.type === "page" - ) - - return list - .map((component) => `- [${component.name}](${component.url})`) - .join("\n") + const list = + componentsFolder?.type === "folder" + ? getPagesFromFolder(componentsFolder as PageTreeFolder, "radix") + .map((component) => { + const slug = component.url.replace(/^\/docs\//, "").split("/") + const description = source.getPage(slug)?.data.description?.trim() + const url = absoluteUrl(component.url.replace("/radix/", "/")) + return `- [${component.name}](${url})${ + description ? `: ${description}` : "" + }` + }) + .join("\n") + : "" + return content.replace(//g, list) } export function processMdxForLLMs(content: string, style: Style["name"]) { - // Replace with a markdown list of components. - const componentsListRegex = //g - content = content.replace(componentsListRegex, getComponentsList()) + content = replaceComponentsList(content) const componentPreviewRegex = //g