-
-
Notifications
You must be signed in to change notification settings - Fork 2.8k
Migrate documentation site to Fumadocs with optimized flat navigation and blog #4048
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
base: main
Are you sure you want to change the base?
Conversation
|
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
This pull request is automatically built and testable in CodeSandbox. To see build info of the built libraries, click here or the icon next to each commit SHA. |
Co-authored-by: jaredpalmer <[email protected]>
Co-authored-by: jaredpalmer <[email protected]>
Co-authored-by: jaredpalmer <[email protected]>
|
@copilot Research how to tweak menus, sidebar, and navigation in fumadocs. Also look at how to move the blog. Look at the old navigation and menu patterns in the |
- Reorganized docs sidebar with separators and better grouping - Added defaultOpen to Guides and Examples folders - Reorganized API Reference with logical sections (Components, Hooks, HOCs) - Added blog content collection with fumadocs - Migrated 2 blog posts from src/blog to content/blog - Created blog index and post pages - Added navigation links to blog and GitHub in docs layout - Created dedicated blog layout with header navigation - All 41 pages build successfully (38 docs + 1 blog index + 2 posts) Co-authored-by: jaredpalmer <[email protected]>
- Updated blog post dates to ISO format (YYYY-MM-DD) - Changed date schema to use z.coerce.date() for proper parsing - Removed conflicting blog/page.tsx (now handled by catch-all route) - Updated blog [[...slug]] page to handle both index and individual posts Co-authored-by: jaredpalmer <[email protected]>
I've researched fumadocs customization and completed all the improvements: Navigation & Sidebar Enhancements (commit da93660):
Blog Migration (commits eceaf7b, da93660):
Results:
|
|
@copilot review the sidebar and menus and improve/flatten the nav out to optimize information architecture. Review the fumadocs docs on nav and sidebar again. Consider groups as well. |
- Removed all separators from root level for cleaner hierarchy - Removed redundant "Getting Started", "Reference", and "Additional Resources" separators - Removed internal separators from API Reference (Components, Hooks, HOCs sections) - Removed defaultOpen from Guides and Examples (users can expand as needed) - Flattened navigation: Overview -> Tutorial -> Guides -> Examples -> API -> Resources -> 3rd Party -> Migration - Cleaner, more scannable sidebar with less visual clutter - Improved information architecture following fumadocs best practices Co-authored-by: jaredpalmer <[email protected]>
Flattened the navigation and optimized the information architecture (commit fd5f66a): Removed:
Result: The navigation now follows fumadocs best practices with natural folder grouping instead of visual separators. Before vs After: |



Migrated the documentation site from a custom Next.js 13 implementation to Fumadocs, a modern documentation framework, while preserving all existing content and adding optimized flat navigation and blog functionality.
Framework Upgrades
Key Changes
.mdfiles to.mdxand moved towebsite/content/docs/source.config.tsfor fumadocs content management with both docs and blog collectionsnext.config.jswithnext.config.mjsusing fumadocs MDX loadersrc/pages/docs/[...slug].tsxtosrc/app/docs/[[...slug]]/page.tsxDocsLayoutandRootProviderwith optimized sidebar navigationOptimized Flat Navigation Structure
Sidebar Improvements:
defaultOpenflags - users control expansion as needed<Formik />component first, followed by all other components, hooks, and HOCsWith Guides Expanded:
Structure
Result
All 41 pages build successfully:
Modern UI features include:
Navigation Architecture Benefits
Notes
src/pages.old/for referenceignoreBuildErrorsto maintain backward compatibility with existing componentsOriginal prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.