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