Customizing Your Documentation
Doom provides extensive customization options through configuration files, frontmatter, and code. This guide covers how to tailor your documentation site to match your brand and requirements.Configuration File
All customization starts with your configuration file. Doom supports both YAML and JavaScript/TypeScript formats.YAML Configuration
For most use cases, a static YAML file is sufficient:doom.config.yml
YAML config supports
doom.config.yaml or doom.config.yml filenames.JavaScript/TypeScript Configuration
For dynamic configuration or custom plugins, use a JS/TS config file:doom.config.ts
.js/.ts/.mjs/.mts/.cjs/.cts
Basic Branding
Customize the title
Set the browser tab title and logo text:The
title appears in browser tabs, while logoText appears next to your logo in the navigation bar.Language Configuration
Multilingual Setup
Doom supports bilingual documentation by default:null or undefined to disable multilingual support:
Organizing Multilingual Content
Sidebar Customization
Collapse Behavior
Control whether sidebar groups are collapsed by default:Auto-Generated Sidebar
The sidebar is automatically generated from your file structure. Control the order using frontmatter:weight values appear first. The index.md file always appears first in its group.
Page-Level Customization
Use frontmatter to customize individual pages:Available Frontmatter Fields
Page title displayed in navigation and browser tab
Page description for SEO and search results
Sort order (lower values appear first)
Document author name
Document category for organization
Syntax Highlighting
Customize code block appearance using Shiki:Supported Themes
See Shiki themes for available options:github-lightgithub-darkdraculanordmaterial-theme
Edit Repository Links
Enable “Edit this page” links to your source repository:https://github.com/ prefix can be omitted.
This feature is only active when the
-R, --edit-repo CLI flag is enabled.Per-Language Edit Links
You can configure different repositories per language using the CLI:Search Configuration
Algolia Search
Integrate Algolia for powerful search:Robots.txt for Crawlers
Createdocs/public/robots.txt for search engine crawlers:
Dynamic Mount Configuration
Override configuration at runtime usingoverrides.yaml:
overrides.yaml
- Multi-tenant deployments
- Environment-specific branding
- Version-specific customization
overrides.yaml alongside your built documentation:
Custom Components
Create reusable custom components in theshared directory:
docs/shared/CustomBanner.tsx
docs/en/guide.mdx
Internationalization for Components
For multilingual component content, use the i18n system:Output Directory
Customize the build output location:dist/{base}/{version}With
outDir: dist/{outDir}/{version}
Or use the CLI flag:
Advanced Configuration
Internal Routes
Exclude internal documentation from public builds:Only Include Routes
Build only specific routes:API Path Prefix
Configure API documentation URL prefix:Theme Customization
For advanced theming, create a custom theme:theme/index.ts
Next Steps
Project Structure
Learn about file organization conventions
Deployment
Deploy your customized documentation
Plugins
Extend functionality with plugins
API Documentation
Configure API documentation features