Use Cases
- Multiple Products: Separate docs for different products or services
- Versioning: Document different versions of your API or library
- Internationalization: Provide docs in multiple languages
- Audience Segmentation: Different docs for developers, end-users, and administrators
Basic Multi-Docs Setup
Configure Multiple Sources
Define multiple documentation sources insource.config.ts:source.config.ts
Set Up Routes for Each Docs
Create separate route groups for each documentation set:app/docs/framework/[[...slug]]/page.tsx
Sidebar Tabs Navigation
Use sidebar tabs to switch between documentation sets:Add Root Folders
Create root-level folders with metadata in your content:content/docs/framework/index.mdx
content/docs/ui/index.mdx
Internationalization (i18n)
Support multiple languages with built-in i18n features:Define i18n Configuration
Create an i18n configuration:lib/i18n.ts
defaultLanguage: Default language codelanguages: Array of supported language codes
Tag-Based Filtering
Filter content using tags for better organization:Separate Navigation per Docs
Customize navigation for each documentation set:app/docs/framework/layout.tsx
Version Management
Manage multiple versions of documentation:Organize Versioned Content
Create Version Selector
components/version-selector.tsx
Add Version Selector to Layout
app/docs/[version]/layout.tsx
Best Practices
- Consistent Structure: Maintain similar file structures across all docs sets
- Shared Components: Reuse MDX components across documentation sets
- Clear Navigation: Make it obvious which docs section users are viewing
- Cross-Linking: Link between related content in different docs
- Search Scoping: Implement tag-based search to filter by docs section
- Performance: Consider code splitting for large multi-docs setups
Common Patterns
Product + API Docs
Multi-Version with i18n
Role-Based Docs
Troubleshooting
Routes Conflicting
If routes conflict between docs:- Use unique base URLs for each docs set
- Ensure proper route grouping with folders
- Check for duplicate slugs across sources
Search Not Filtering
If tag filtering doesn’t work:- Verify tags are being set in
buildIndex - Check that the search client receives the tag prop
- Test the search API endpoint directly
Tabs Not Showing
If sidebar tabs don’t appear:- Ensure root pages have
root: truein frontmatter - Verify tab items are configured in layout
- Check that icons are properly imported
Language Switching Issues
If language switching fails:- Verify i18n configuration includes all languages
- Check that content exists for each language
- Ensure routes are properly parameterized with
[lang]
Next Steps
- Migrate existing documentation to Fumadocs
- Learn about advanced routing patterns
- Explore deployment options for multi-docs sites