avodado
avodado docs
Guides

Slides & theming

Every doc is a slide deck — one slide per heading — and six themes that restyle everything, diagrams included.

Slides: one heading, one slide

Any doc renders as a deck with avo slides. Each # or ## heading starts a new slide and becomes its title. Everything until the next heading — prose and blocks — stays on that slide. (### and deeper stay in the slide body.)

# Why now
A sentence of context, then any blocks under this heading.

```drivers
items:
  - { title: Slow, body: "p95 hit 2.4s.", icon: clock, accent: amber }
```

# The fix
Next heading → next slide.

A normal doc already presents cleanly. To write for slides, keep each heading to one idea: a title plus one strong visual reads better than dense prose.

Layout

Slides lay themselves out: light slides center, full slides top-align, and a slide with substantial prose plus a diagram automatically goes side by side — message left, exhibit right. Diagrams render borderless on the stage, without the card frame pages use.

The text a deck needs

Three things a stage handles differently from a page:

  • The action title gets a supporting line. A block's lede pins under the slide title at a fixed size — the sentence that turns a title into an argument, immune to the fitter that scales the exhibit.
  • Provenance goes in the footer. {source: …} on the heading lands beside the deck title and page number, where every consulting exhibit carries it. Under the block it would shrink with the exhibit.
  • Body copy runs at presentation size — 19px prose, 17.5px list items, 19.5px in a {split} message column — with the measure still capped, because long lines are harder to follow on a screen, not easier.

A deck with two or more divider bands also grows a tracker in the slide header: the parts of the deck with the current one lit, so the room always knows where it is.

Blocks are re-laid-out for the stage, not shrunk onto it: tables and card layouts take the full slide width with presentation-size type, stacked cards (slo, okr, stories, envelope, trace) turn into a row across the stage, and every small label — chips, captions, eyebrows — sits at a readable floor rather than the size a printed page wants.

Four markers on a heading override the automatics (they're stripped from the displayed title):

MarkerEffect
## Title {top}Force top alignment
## Title {center}Force centering
## Title {bottom}Force bottom alignment
## Title {split}Force the two-column layout — prose left, one visual right
## Title {source: internal QA, Oct 2026}Print a source line in the slide footer (and under the heading on the page)

Good to know

  • The meta block becomes the cover slide. Every other slide gets a footer with the deck title and page number.
  • Long sections split automatically across slides, keeping their title.
  • avo build renders both views of every doc — the page and a deck — linked by a Doc | Slides toggle. No extra command.

Presentation-style decks

For an executive deck, give every slide the same shape: a claim, one exhibit, a takeaway.

  • Write titles as sentences. "Checkout latency is costing us conversions" — the slide then proves it, and the block's lede becomes the supporting line under it.
  • Open with scqa — situation, complication, question, answer. The executive summary in the order that argues.
  • Compare options with harvey — Harvey balls beat a table of numbers in front of a steering committee, and the weighted footer is computed.
  • Defend the plan with scenarios — base, upside and downside against the same drivers.
  • Use {split}. Short prose left, exactly one block right. The block is the evidence.
  • Open each part with a divider block — a clean full-width break.
  • Give the key metric its own slide with a bignumber block.
  • Close with takeaways — the 2–4 things the room should remember.
  • Check a block both ways with avo compare before you build a deck around it — the page card and the slide side by side.

Need the deck as a file? avo pptx writes PowerPoint — picture-perfect by default, or --editable for native text, tables, and charts.

The six themes

Set a theme with avo theme:

ThemeLook
textbookWarm classic (default) — cream paper, navy and terracotta
minimalClean white, near-black text, one blue accent
softModern light — indigo accent, rounded surfaces
darkFull dark mode
tealTeal with an amber highlight
slateSlate gray with a teal highlight

Themes are CSS-variable overrides, so diagrams recolor along with the text — nothing needs to be regenerated.

Custom themes

A theme file starts from a base theme and overrides any color or font:

avo theme new sunset                 # scaffold a theme to fill in
avo theme install ./my.theme.json    # add a theme file
avo theme use sunset                 # activate it for this project

The easiest way to design one is the theme generator on this site: pick colors over a live document and download the file. Full command list: CLI · Config.