Skip to content
Docent Docs

Getting Started

Theming

Brand the documentation UI entirely from config, with no CSS rebuild and no published views.

Every visual token flows through runtime CSS variables, so you brand Docent from config/docent.php alone. There's no asset build to run and no views to publish. Change a value, reload, done.

Accent color

php
'theme' => [
    'accent' => '#0284c7',
],

accent is a single hex color that drives every accent in the UI: active navigation, links, focus rings, and search highlights. Change this one value and the whole site rebrands at runtime.

Logos and favicon

php
'theme' => [
    'logo' => '/img/logo.svg',
    'logo_dark' => '/img/logo-dark.svg',
    'logomark' => '/img/mark.svg',
    'favicon' => '/favicon.ico',
],
  • logo: a path or URL shown in the top bar. null falls back to a text wordmark.

  • logo_dark: swaps in for dark mode. Falls back to logo.

  • logomark: a square mark used in the compact mobile header. Falls back to logo, then the wordmark.

  • favicon: emitted as a <link rel="icon"> when set.

Fonts

php
'theme' => [
    'font' => [
        'sans' => '"Inter", system-ui, sans-serif',
        'mono' => '"JetBrains Mono", ui-monospace, monospace',
        'href' => 'https://fonts.bunny.net/css?family=inter:400,600',
    ],
],

font.sans and font.mono are CSS font-family stacks; null keeps the system stack. font.href optionally emits a webfont stylesheet link. Leave it null and Docent makes zero external requests.

Palette and radius

php
'theme' => [
    'gray' => 'slate',
    'radius' => 'default',
],

gray sets the base palette temperature (slate, zinc, stone, or neutral) and radius sets the corner feel (sharp, default, or soft).

A worked example

Here's a full theme block, filled in:

php
'theme' => [
    'accent' => '#7c3aed',
    'logo' => '/img/acme-logo.svg',
    'logo_dark' => '/img/acme-logo-dark.svg',
    'logomark' => '/img/acme-mark.svg',
    'favicon' => '/favicon.ico',
    'font' => [
        'sans' => '"Inter", system-ui, sans-serif',
        'mono' => null,
        'href' => 'https://fonts.bunny.net/css?family=inter:400,500,600',
    ],
    'gray' => 'zinc',
    'radius' => 'soft',
],

None of this requires publishing views. If you want to go deeper than the theme tokens allow, publish the views with --tag=docent-views and edit the Blade directly.

The theme section is a shared default: set it once at the top level and every site inherits it. A site can override any part of it in its own entry, so a public help center and an internal site can carry entirely different accents and logos from one install. See multiple sites.