From ed9005075fd7e3b4e738df87d7df26398c21731a Mon Sep 17 00:00:00 2001 From: f-trycua Date: Wed, 12 Nov 2025 19:43:04 +0100 Subject: [PATCH] Add docs --- docs/source.config.ts | 9 ++++++++- docs/src/app/(home)/[[...slug]]/page.tsx | 2 +- docs/src/components/doc-actions-menu.tsx | 8 +++++++- docs/src/lib/llms.ts | 19 ++++++++++++++----- 4 files changed, 30 insertions(+), 8 deletions(-) diff --git a/docs/source.config.ts b/docs/source.config.ts index dbd55602..d915345e 100644 --- a/docs/source.config.ts +++ b/docs/source.config.ts @@ -5,7 +5,14 @@ import { z } from 'zod'; // see https://fumadocs.vercel.app/docs/mdx/collections#define-docs export const docs = defineDocs({ docs: { - schema: frontmatterSchema, + schema: frontmatterSchema.extend({ + macos: z.boolean().optional(), + windows: z.boolean().optional(), + linux: z.boolean().optional(), + pypi: z.string().optional(), + npm: z.string().optional(), + github: z.array(z.string()).optional(), + }), }, meta: { schema: metaSchema, diff --git a/docs/src/app/(home)/[[...slug]]/page.tsx b/docs/src/app/(home)/[[...slug]]/page.tsx index 8004af14..3b7cbd24 100644 --- a/docs/src/app/(home)/[[...slug]]/page.tsx +++ b/docs/src/app/(home)/[[...slug]]/page.tsx @@ -187,7 +187,7 @@ export default async function Page(props: { params: Promise<{ slug?: string[] }> const tocFooter = () => { return (
- +
); }; diff --git a/docs/src/components/doc-actions-menu.tsx b/docs/src/components/doc-actions-menu.tsx index 779e703c..067627ca 100644 --- a/docs/src/components/doc-actions-menu.tsx +++ b/docs/src/components/doc-actions-menu.tsx @@ -7,7 +7,7 @@ import posthog from 'posthog-js'; interface DocActionsMenuProps { pageUrl: string; pageTitle: string; - filePath: string; + filePath?: string; } export function DocActionsMenu({ pageUrl, pageTitle, filePath }: DocActionsMenuProps) { @@ -15,6 +15,9 @@ export function DocActionsMenu({ pageUrl, pageTitle, filePath }: DocActionsMenuP const handleCopyMarkdown = async () => { try { + if (!filePath) { + throw new Error('No file path available'); + } const githubRawUrl = `https://raw.githubusercontent.com/trycua/cua/refs/heads/main/docs/content/docs/${filePath}`; const response = await fetch(githubRawUrl); @@ -55,6 +58,9 @@ export function DocActionsMenu({ pageUrl, pageTitle, filePath }: DocActionsMenuP }; const handleEditGithub = () => { + if (!filePath) { + return; + } posthog.capture('docs_edit_github_clicked', { page: pageUrl, page_title: pageTitle, diff --git a/docs/src/lib/llms.ts b/docs/src/lib/llms.ts index e485bed2..56b0f5b1 100644 --- a/docs/src/lib/llms.ts +++ b/docs/src/lib/llms.ts @@ -12,15 +12,24 @@ const processor = remark() .use(remarkGfm); export async function getLLMText(page: InferPageType) { - const processed = await processor.process({ - path: page.data._file.absolutePath, - value: page.data.content, - }); + const pageData = page.data as any; + const filePath = pageData._file?.absolutePath; + const content = pageData.content || pageData.body || ''; + + let processed; + if (filePath && typeof content === 'string') { + processed = await processor.process({ path: filePath, value: content }); + } else if (typeof content === 'string') { + processed = await processor.process(content); + } else { + // Handle case where content is not available + processed = { value: '' }; + } return `# ${page.data.title} URL: ${page.url} -${page.data.description} +${page.data.description || ''} ${processed.value}`; }