Real-World Documentation Examples
Here are three realistic documentation setups using different PID^TOO|| strategies.
Example 1: Simple Library Documentation
Project: A JavaScript library with modest documentation
File Structure:
content/my-lib/
��� introduction.md
��� installation.md
��� getting-started/
� ��� first-steps.md
� ��� configuration.md
� ���� examples.md
��� api/
� ��� overview.md
� ��� core-functions.md
� ��� utilities.md
� ���� types.md
���� troubleshooting.md
Navigation (Single Group, Auto-Generated):
[� Learn]
��� � API
� ��� Overview
� ��� Core Functions
� ��� Utilities
� ���� Types
��� Getting Started
� ��� Configuration
� ��� Examples
� ���� First Steps
���� �� Help
���� Troubleshooting
Configuration:
export const SIDEBAR_NAVIGATION = {
"my-lib": {
defaultTab: { label: "Docs", icon: "�" },
groups: [
{ id: "api", label: "API", autoGenerated: true },
{ id: "getting-started", label: "Getting Started", autoGenerated: true },
{ id: "help", label: "Help", autoGenerated: true },
],
},
};
Why this works:
- Simple structure matches project complexity
- Auto-generation requires zero maintenance
- Alphabetical ordering is intuitive for API docs
- Easy to add new pages
Example 2: Complex Product Documentation (Multi-Tab)
Project: A SaaS platform with user docs and API reference
Navigation Structure:
[Getting Started] [User Guide] [API Reference] [Help]
�
When "User Guide" tab active:
��� � Basics
� ��� Dashboard Overview
� ��� Profile Setup
� ���� Account Settings
��� Features
� ��� Projects & Teams
� ��� Collaboration
� ��� Automations
� ���� Integrations
���� Advanced
��� Advanced Search
��� Custom Workflows
���� API Integration
When "API Reference" tab active:
��� �� Authentication
� ��� API Keys
� ��� OAuth 2.0
� ���� JWT Tokens
��� REST API
� ��� Users
� ��� Projects
� ��� Tasks
� ���� Comments
���� � Webhooks
��� Event Types
���� Payload Reference
Configuration:
export const SIDEBAR_NAVIGATION = {
platform: {
defaultTab: { label: "Getting Started", icon: "" },
groups: [
// Default tab items
{
id: "getting-started-overview",
label: "Overview",
entries: [{ slug: "getting-started" }, { slug: "quick-tour" }],
},
// User Guide Tab
{
id: "user-guide",
label: "User Guide",
tab: true,
groups: [
{
id: "basics",
label: "Basics",
autoGenerated: true,
},
{
id: "features",
label: "Features",
autoGenerated: true,
},
{
id: "advanced",
label: "Advanced",
autoGenerated: true,
},
],
},
// API Reference Tab
{
id: "api",
label: "API Reference",
tab: true,
groups: [
{
id: "authentication",
label: "Authentication",
autoGenerated: true,
},
{
id: "rest-api",
label: "REST API",
groups: [
{ id: "users", label: "Users", autoGenerated: true },
{ id: "projects", label: "Projects", autoGenerated: true },
{ id: "tasks", label: "Tasks", autoGenerated: true },
{ id: "comments", label: "Comments", autoGenerated: true },
],
},
{
id: "webhooks",
label: "Webhooks",
autoGenerated: true,
},
],
},
// Help Tab
{
id: "help",
label: "Help",
tab: true,
groups: [
{
id: "faq",
label: "FAQ",
entries: [{ slug: "help/faq" }],
},
{
id: "troubleshooting",
label: "Troubleshooting",
autoGenerated: true,
},
],
},
],
},
};
Why this works:
- Tabs separate user guide from API docs
- Nested groups for API resources
- Hybrid approach: manual structure + auto-generation
- Each section can grow independently
Example 3: Enterprise Framework (Deep Nesting + Multiple Collections)
Project: Multi-product documentation ecosystem
Collection 1: "docs" (General Documentation)
[Learn] [Patterns] [Help]
�
��� Getting Started
� ��� Installation
� ��� Configuration
� ���� First Application
��� Core Concepts
� ��� Architecture Overview
� ��� Components
� � ��� View Layer
� � ��� State Management
� � ���� Routing
� ��� Services
� � ��� HTTP Client
� � ��� Authentication
� � ���� Data Services
� ���� Advanced
� ��� Performance Optimization
� ��� Testing
� ���� Deployment
Collection 2: "api" (API Reference)
[v1 Legacy] [v2 Current] [v3 Beta]
� (when v2 selected)
��� �� Authentication
��� Resources
� ��� Users
� ��� Organizations
� ���� Data Models
���� � Advanced
��� Rate Limiting
��� Error Handling
���� Webhooks
Configuration:
// Two separate collections
export const CONTENT: ContentConfig = {
systems: [
{
id: "docs",
dir: "content/docs",
route: "/docs",
defaultDocRedirect: "/docs/getting-started",
},
{
id: "api",
dir: "content/api",
route: "/api",
defaultDocRedirect: "/api/v2/overview",
},
],
};
export const SIDEBAR_NAVIGATION = {
docs: {
defaultTab: { label: "Learn", icon: "�" },
groups: [
{
id: "getting-started",
label: "Getting Started",
tab: true,
entries: [
{ slug: "getting-started/installation" },
{ slug: "getting-started/configuration" },
{ slug: "getting-started/first-app" },
],
},
{
id: "concepts",
label: "Core Concepts",
tab: true,
groups: [
{
id: "architecture",
label: "Architecture Overview",
entries: [{ slug: "concepts/architecture" }],
},
{
id: "components",
label: "Components",
groups: [
{ id: "view-layer", label: "View Layer", autoGenerated: true },
{ id: "state-mgmt", label: "State Management", autoGenerated: true },
{ id: "routing", label: "Routing", autoGenerated: true },
],
},
{
id: "services",
label: "Services",
groups: [
{ id: "http", label: "HTTP Client", autoGenerated: true },
{ id: "auth", label: "Authentication", autoGenerated: true },
{ id: "data", label: "Data Services", autoGenerated: true },
],
},
{
id: "advanced",
label: "Advanced",
autoGenerated: true,
},
],
},
],
},
api: {
defaultTab: { label: "v2 Current", icon: "" },
groups: [
{
id: "v1",
label: "v1 Legacy",
tab: true,
groups: [{ id: "resources", label: "Resources", autoGenerated: true }],
},
{
id: "v2",
label: "v2 Current",
tab: true,
groups: [
{ id: "auth", label: "Authentication", autoGenerated: true },
{
id: "resources",
label: "Resources",
groups: [
{ id: "users", label: "Users", autoGenerated: true },
{ id: "orgs", label: "Organizations", autoGenerated: true },
],
},
{
id: "advanced",
label: "Advanced",
autoGenerated: true,
},
],
},
{
id: "v3",
label: "v3 Beta",
tab: true,
groups: [{ id: "beta-features", label: "Beta Features", autoGenerated: true }],
},
],
},
};
Why this works:
- Multiple collections for different products
- Deep nesting for complex concepts
- Tabs for version management
- Hybrid approach scales to 1000+ pages
- Each section independent but same codebase
Choosing Your Structure
Use Simple (Example 1) when:
- Documentation is small (< 50 pages)
- Content doesn’t have major sections
- Auto-generation ordering works
Use Multi-Tab (Example 2) when:
- Multiple audiences (users vs. developers)
- Separate concerns (guides vs. API)
- Medium documentation (100-500 pages)
Use Enterprise (Example 3) when:
- Multiple products or versions
- Deep hierarchies needed
- Large documentation (500+ pages)
- Complex organization
This Site as Example
This documentation site demonstrates all concepts through its own structure:
[Overview] [Getting Started] [Navigation System] [Configuration]
[Generation Strategies] [Content] [Advanced Topics]
Each tab contains:
- Nested groups (Core Concepts > Entries, Groups, Nested Groups)
- Auto-generated sections (patterns, help)
- Hybrid approach (pinned important pages)
- Multiple pages demonstrating the feature
This is a working example of everything you’ve learned!