-
Notifications
You must be signed in to change notification settings - Fork 7
Add overview pages for documentation sections with auto-updating subpage lists #636
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
Also fixes the broken breadcrumbs in DEV-216 |
932b9e0 to
bdfa029
Compare
|
I like this a lot, especially as it handles the breadcrumb issue. I have one nit though about "shared" overviews when clicking from nested levels. E.g.: From this page, the breadcrumbs looks like:
And "Create tools" is NOT clickable. However from this page, the breadcrumb is:
Which seems to follow a different logic (now "Create tools" IS clickable, but the next level of the breadcrumb isn't). |
99cd654 to
62880dc
Compare
- Fix TypeScript error: Property 'title' does not exist on type 'ReactElement' - Create single reusable SubpageList component in /app/_components/ - Remove 6 duplicate SubpageList wrapper components - Update all MDX pages to use centralized SubpageList with proper props - Fix import paths to resolve module resolution errors - Replace unsafe 'as any' assertions with proper type guards 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <[email protected]>
62880dc to
de95f0f
Compare
| } | ||
|
|
||
| export function SubpageList({ basePath, meta }: SubpageListProps) { | ||
| const subpages = Object.entries(meta).filter(([key]) => key !== "index"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
SubpageList renders invalid link for theme config key
High Severity
The SubpageList component filters meta entries with key !== "index" but doesn't filter out the "*" key that all meta files use for theme configuration. This causes the component to render a broken link to ${basePath}/* with [object Object] as the link text, since the "*" entry's value ({ theme: { ... } }) lacks a title property and falls through to String(title). All 5 pages using SubpageList will display this broken entry.
Summary
Changes Made
Overview Pages Added
/guides/create-tools/tool-basics/- Build a Tool overview with SubpageList component/guides/create-tools/evaluate-tools/- Evaluate Tools overview with SubpageList component/guides/create-tools/error-handling/- Handle Errors overview with SubpageList component/guides/tool-calling/custom-apps/- Custom Applications overview with SubpageList component/guides/tool-calling/mcp-clients/- MCP Clients overview with custom grid component/guides/security/- Security overview with SubpageList componentAuto-Updating Navigation
MCP Client Grid Enhancement
cursor.png,claude.png,vscode.svg)Technical Implementation
Test Plan
🤖 Generated with Claude Code
Note
Adds navigable overview pages across docs with dynamic subpage listing and an MCP client grid.
SubpageListcomponent renders links from_metaand is used by new overview pages:tool-basics,evaluate-tools,error-handling,custom-apps,securityMCPClientGrid(Cursor, Claude Desktop, VS Code) and local logo assets (incl.vscode.svg)_meta.tsxfiles to includeindex"Overview" entries, theme settings, and hrefs where needednext-env.d.tsroutes import path fixed;public/llms.txtregeneratedWritten by Cursor Bugbot for commit cd87514. This will update automatically on new commits. Configure here.