Appearance
Themes and Customization
KodaDocs generates documentation sites using VitePress with customizable theme presets. You can choose a theme that matches your brand identity.
Available Themes
Free Themes
These themes are included with every KodaDocs installation:
- default — The standard KodaDocs look with teal accents. Clean, professional, and works well for most projects.
Pro Themes
Pro themes require a KodaDocs license key (kd_pro_*) and are fetched from the KodaDocs API:
- professional — Refined typography and muted colors for enterprise documentation
- minimal — Stripped-down design with maximum readability
- playful — Vibrant colors and rounded elements for consumer-facing products
- dark-modern — Dark-first design with high contrast accents
- docs-classic — Traditional documentation styling inspired by popular open-source docs
Setting a Theme
Via CLI
bash
# During interactive setup
kodadocs init .
# Select theme when prompted
# Via config update
kodadocs config . --brand-color "#ff6600"Via Configuration File
Edit .kodadocs/session_config.json:
json
{
"theme_name": "professional",
"brand_color": "#2563eb",
"license_key": "kd_pro_your_key_here"
}Via MCP (Claude Code)
When using Claude Code, specify the theme during the assemble_vitepress step.
Brand Color
The brand_color setting controls the primary accent color throughout your docs:
- Navigation highlights
- Link colors
- Button backgrounds
- Code block accents
- Hero section gradient
Set it to any valid hex color:
json
{
"brand_color": "#3e8fb0"
}Custom Logo
Add your logo to the documentation header:
json
{
"logo_path": "public/logo.png"
}The logo appears in the top-left corner of the navigation bar.
Theme Caching
Pro themes are cached locally at ~/.cache/kodadocs/themes/ for 24 hours. This means:
- First load fetches from the API (requires internet)
- Subsequent loads use the cache (works offline)
- If the API is unreachable, expired cache is still used as fallback
- If no cache exists and API is down, the default theme is used
PII Blurring
KodaDocs automatically detects and blurs personally identifiable information in screenshots:
- Email addresses and phone numbers
- Profile/avatar sections
- API keys and tokens
- Financial information
- Form input values
This is enabled by default. To disable it:
json
{
"blur_pii": false
}