Doku is designed to be customized without modifying theme files. This page covers your logo and site identity; the pages after it cover the rest:
- Colors — the default color scheme, the accent color and a tinted logo
- Layout — reading widths and the side columns
- Header, Footer and Documentation Pages — what appears around the article
- Reset and Per-entry Overrides — back to the defaults, or away from them on a single page
- Changing the Fonts
- CSS Custom Properties Reference — every design token a child theme can override
- Creating a Child Theme
- Translating Doku
The first four are set under Appearance > Customize > Doku Options, and per-entry overrides in the editor. No code required.

Logo and Site Identity
Go to Appearance > Customize > Site Identity and upload a custom logo. The logo appears in the site header.
Upload it at the suggested 192 × 64 pixels, or larger. The header draws the logo 32 pixels tall, so the suggestion is twice that on purpose — it keeps the mark sharp on high-resolution screens. Any aspect ratio works: only the height is capped, and the width follows to match. A wide logo is fine; it pushes the Primary Navigation menu to the right rather than being squashed.
The same panel’s Site Title and Tagline fields also render in the header, stacked as a two-line block to the right of the logo — the title above, the tagline in smaller muted text beneath it. Leave the tagline empty to show the title on its own; the block re-centers itself against the logo either way.
A long tagline is truncated with an ellipsis rather than allowed to push your Primary Navigation menu across the header, so keep it to roughly five or six words if you want it read in full. It is hidden altogether below 782px, where the header has only enough room for the logo, search field and theme toggle.
Doku renders the header logo as a decorative image, so any alt text set on the attachment is not used there. That is deliberate, and it is the accessible thing to do: the logo sits inside a link that already carries your Site Title as real text, so alt text would make a screen reader announce the site name twice. The alt text you set is still used everywhere else the image appears, such as inside a page or post.
Dark mode logo
A logo drawn for a light background — dark navy, near-black, a mark with a dark outline — disappears against Doku’s dark theme. Dark mode logo, directly under the Logo control in the same panel, lets you upload a second version for it.
Doku shows it whenever the reader is in dark mode, whether they chose it with the header toggle or their system asked for it. The swap is instant, with no page reload, because both versions are already in the page and the theme simply shows one. Leave the field empty and your single logo is used in both modes.
Give the two files the same proportions. Doku draws either at 32 pixels tall and lets the width follow, so a 3:1 wordmark paired with a square mark will make the header change width when the reader toggles the theme. It is not broken, but it is visible.
This works alongside Tint logo with accent color — see Tint Logo With Accent Color. With the tint on, Doku paints whichever logo matches the current theme, so you can use a different shape in dark mode and still have both in your accent color.
Previewing it. The Customizer preview keeps the light/dark choice you made with the header toggle, and you can use the toggle inside the preview to see the other logo. Once you change Default color scheme, the preview shows that setting instead, until you publish or leave.
SVG logos
WordPress refuses SVG uploads out of the box, because an SVG is markup and can carry scripts. Doku accepts them, with two safeguards.
The first is who may upload one. It takes the same permission as publishing raw HTML, which on a normal site means an Administrator or Editor, and on a multisite network means a Super Admin only. On multisite you also have to add svg under Network Admin > Settings > Upload file types, which Doku deliberately does not override.
The second is that every uploaded SVG is rewritten before it is stored. Doku keeps only the elements and attributes a logo needs and discards the rest — scripts, event handlers, <foreignObject>, animation, embedded images, comments and any reference pointing outside the file. Gradients, clip paths, <use>, <symbol> and a style attribute all survive, so artwork from Figma, Sketch or Inkscape comes through unchanged.
A few files are refused outright rather than cleaned, each with a message saying why:
| Refused | What to do |
|---|---|
The file styles itself with a <style> block | Re-export with presentation attributes. In Illustrator, set Styling to Presentation Attributes; Figma, Sketch and Inkscape “Plain SVG” already do this. Stripping the block instead would silently render your logo solid black, so Doku asks you to fix it at the point you can. |
A document type declaration (<!DOCTYPE>) | Re-export from your design tool. Nothing a logo needs uses one. |
A compressed .svgz renamed to .svg | Save it as a plain .svg. |
| Larger than 500 KB | A logo that size almost always has a photo embedded in it. Re-export as vector artwork. |
Unlike a raster logo, an SVG has no fixed pixel size, so the 192 × 64 suggestion above is only a shape hint — give it a viewBox and any aspect ratio works.
To switch SVG uploads off entirely, add this to a child theme’s functions.php or a site plugin:
add_filter( 'doku_core_allow_svg_uploads', '__return_false' );A security plugin that removes the raw-HTML permission has the same effect, which is intended: that is the site deciding not to accept markup.