Autoflow
Autoflow analyzes plain markdown and infers the best layout for each slide. No directives needed — just write text, and StellarDeck chooses headings, positioning, alignment, and emphasis. Convention over configuration for slide design.
Navigate the deck above to see autoflow in action. Every slide was written as plain paragraphs — autoflow added all the layout directives.
How It Works
Section titled “How It Works”Each slide passes through a pipeline before the parser runs:
- Skip checks — slides with explicit directives (
#[fit],![right], position modifiers), code fences, or custom blocks (:::columns) are left alone. - Rule matching — the slide is tested against each rule in order. First match wins.
- Directive injection — the matched rule injects directives into the raw markdown. The parser handles them normally.
Autoflow never invents content. It only adds the same directives you would write by hand.
Eight rules, evaluated in this order:
| Rule | When it matches | What it does |
|---|---|---|
| Title | First slide, 2+ paragraphs, short title line | #[fit] centered title, normal subtitle |
| Divider | Single line, 1-2 words | #[fit] heading, centered |
| Diagonal | 2 paragraphs, at least one ends with ? | Top-left + bottom-right positioning |
| Z-Pattern | Exactly 4 short paragraphs | Four corners: TL, TR, BL, BR |
| Alternating | 3+ short paragraphs | Accent color rotation |
| Statement | 1-4 short lines (max 8 words each) | #[fit] headings, alignment varies |
| Split | One bare image + text | ![right] or ![left], alternating sides |
| Autoscale | More than 8 lines or 80+ words | [.autoscale: true] |
The first slide gets special treatment. A short opening line followed by longer paragraphs becomes a #[fit] title with subtitle text.
Diagonal
Section titled “Diagonal”Two paragraphs where at least one contains a question. Positioned on opposite corners for Z-axis reading flow.
Statement
Section titled “Statement”Short plain-text lines (1-4 lines, max 8 words each) become #[fit] headings that fill the slide.
Divider
Section titled “Divider”A single line with one or two words becomes a full-width #[fit] heading. Perfect for section breaks.
Split (image + text)
Section titled “Split (image + text)”When autoflow detects a bare image and text on the same slide, it creates a split layout — image on one side, text on the other. The side alternates between slides.
Anti-Monotony
Section titled “Anti-Monotony”When consecutive slides match the same rule, autoflow varies their presentation:
- Statements rotate alignment: center, left, right.
- Diagonals mirror corner positions: TL/BR becomes TR/BL on the next diagonal.
Based on Steven Bradley’s alternating rhythm principle — visual variety within structural consistency.
Enabling Autoflow
Section titled “Enabling Autoflow”Three ways to turn it on:
Frontmatter — add autoflow: true at the top of your markdown:
footer: My Talkautoflow: true
First slide content here.Toolbar — click the Autoflow toggle in StellarDeck’s toolbar. Saves the preference to the sidecar file.
Sidecar — autoflow state persists in .stellar.json alongside your .md file:
{ "autoflow": true, "theme": "Nordic, 1", "lastSlide": 0}The sidecar approach means autoflow never modifies your markdown. Layout inference is a presentation-time concern.
Mixing Autoflow with Explicit Directives
Section titled “Mixing Autoflow with Explicit Directives”Autoflow respects your choices. If you write ![right] or #[fit] explicitly, autoflow won’t override the image position — but it will still apply text-level improvements to the rest of the slide. You only fully opt out with autoflow: false in frontmatter.
Rules Are Evolving
Section titled “Rules Are Evolving”Autoflow rules are actively improving. New rules (image position rotation, aspect-ratio aware layouts, phrase-bullet palettes) will be added in future releases, and existing rules may be refined. In a future version, rules will be individually configurable via presets (Storyteller, Presenter, Dense) or per-rule overrides.
The current rule set is stable for production use — changes are additive and backward-compatible.