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
'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
'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.nullfalls back to a text wordmark.logo_dark: swaps in for dark mode. Falls back tologo.logomark: a square mark used in the compact mobile header. Falls back tologo, then the wordmark.favicon: emitted as a<link rel="icon">when set.
Fonts
'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
'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:
'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.