Skip to content

Configuration Word Theme

Lewis Ginn edited this page Jul 20, 2026 · 1 revision

Configuration — Word Theme

output.wordTheme styles the generated .docx. It is entirely optional: omit the block and you get a fully-styled default document.

Word-scoped only. The PDF output is unthemed.

The common case

Most projects only need one line — a brand colour. Headings, table headers, row banding, rules and code colour are all derived from it:

output:
  wordTheme:
    accentColor: '#0F62FE'

Colours accept '#0F62FE' or '0f62fe'. An invalid colour logs a warning and falls back to the default — it never fails the run.

Every field

Setting a derived field overrides only that field.

Field Default Notes
accentColor #2A6099 Brand colour. Everything below marked "derived" comes from it.
bodyFont Calibri
headingFont bodyFont if set, else Calibri Light
bodyFontSize 10.5 Points
bodyColor #1A1A1A Near-black, deliberately not pure black
headingColor derived (accentColor) Levels 3–4 are auto-darkened
headingRule true Rule under level-1 headings
tableHeaderFill derived
tableHeaderColor derived — white or near-black, whichever contrasts Chosen by WCAG relative luminance, so a pale brand colour automatically gets dark text
tableBanding true When on, inside horizontal borders are dropped — the shading already separates rows
tableFontSize 9 Points. See the warning below.
tableBandFill derived — 92% tint towards white
tableBorderColor derived — 70% tint towards white
codeFont Courier New
codeFill #F2F2F2
codeColor derived — accentColor darkened 35%

Two things worth knowing

tableFontSize is load-bearing, not cosmetic. Column widths are measured at exactly this size. Raise it and columns widen to match — there is no separate width knob to keep in sync. It defaults a step below body text because these tables are dense and wide, and body size forces mid-word wrapping.

Code size is not themeable. It is fixed at 9pt, as a deliberate relationship to body size (monospace reads larger at equal nominal size). Inside a table it is clamped to the table size so code never outsizes its cell.

Fonts are resolved by Word on whatever machine opens the document, and missing fonts are silently substituted. The defaults are all Office-bundled for that reason — stick to fonts you know every reader has.

Clone this wiki locally