Presentations as Code // How to use the Obsidian Advanced Slides plugin
Based on Nicole van der Hoeven's video on YouTube. If you like this content, support the original creators by watching, liking and subscribing to their content.
Advanced Slides turns Obsidian Markdown notes into slide decks, keeping slides inside the same vault as regular notes.
Briefing
Obsidian’s Advanced Slides plugin turns Markdown notes into fully navigable slide decks—without requiring PowerPoint, Google Slides, or any separate coding-to-publishing workflow. The core payoff is repeatability: slides live inside the same Obsidian vault as regular notes, and exporting/sharing becomes a built-in step rather than a manual conversion pipeline.
The workflow starts with context: slide decks are essentially text and images arranged for presentation, and Obsidian already uses lightweight Markdown for that kind of content. Instead of building slides in a proprietary editor or relying on a web-based tool tied to a specific account, Advanced Slides keeps the authoring experience in Obsidian while still delivering presentation navigation and browser-ready output.
After installing the free community plugin (via Obsidian Settings → Community Plugins, with safe mode turned off), the creator configures options like the local server port and the export directory (for example, “presentations export”). From there, a new note becomes a new presentation: the note title is used as the deck title, and horizontal slides are created by inserting three dashes (---). Vertical slides use two dashes (—), enabling a two-dimensional navigation model where moving “right” advances horizontally and moving “down” drills into vertical stacks.
As content is typed, slide previews update live. Markdown headings map directly onto slide structure, so authors can build decks using familiar syntax rather than learning a separate slide layout system. Images can be pasted into slides and resized using Markdown-like parameters (the example adjusts sizing with a pipe and a numeric value). For full-bleed visuals, the plugin supports setting an image as a slide background using a background directive (e.g., background bg equals …), with slide text layered on top.
Speaker support is built in. A “note” block hides content from the audience while keeping it visible to the presenter. To make that practical during delivery, the plugin offers “Open in Browser,” plus a presenter view: one window for the audience and another for the speaker, where navigation reveals what’s next and the speaker notes remain private.
For on-slide pacing, the plugin supports incremental reveals. Bulleted items can be marked as “elements” of type fragment with a fragment index, so only the relevant item appears as the presenter advances through the slide. Visual consistency is handled via themes; the example switches to “Solarized,” then back to a simpler theme.
Sharing and distribution come from export options. “Export as HTML” produces a self-contained web version that can be copied into a static site workflow (the example uses a Hugo-based static site directory). For offline sharing, “print presentation” generates a PDF—static in the sense that animations become sequential pages, but still preserving images and slide structure. The result is a Markdown-first, code-adjacent slide system that’s easy to iterate locally and then publish as HTML or PDF.
Cornell Notes
Advanced Slides for Obsidian lets authors write slide decks in Markdown inside the same vault used for notes. Slide boundaries are created with dashes: three dashes (---) for horizontal slides and two dashes (—) for vertical stacks, with live previews updating as headings and content change. The plugin supports speaker-only notes via a “note” block and a presenter view available through “Open in Browser,” keeping the audience view separate. It also enables step-by-step reveals using “fragment” elements with fragment indexes, and it can apply themes across the whole deck. Publishing is handled through export: HTML for web/static-site hosting or PDF via print export (animations become sequential static pages).
How does Advanced Slides define slide structure inside a single Obsidian note?
What features help a presenter avoid forgetting talking points during delivery?
How are animations or staged reveals implemented without building separate slides for every step?
How can images be used, including full-slide backgrounds?
What are the main publishing/export options, and how do they differ for sharing?
Review Questions
- When would you choose vertical slides (two dashes) instead of horizontal slides (three dashes), and how does navigation change?
- How do fragment indexes control the order of staged content on a single slide?
- What’s the difference between exporting as HTML and using print/PDF for a deck that includes fragments and backgrounds?
Key Points
- 1
Advanced Slides turns Obsidian Markdown notes into slide decks, keeping slides inside the same vault as regular notes.
- 2
Horizontal slides use three dashes (---), while vertical slide stacks use two dashes (—), enabling two-level navigation.
- 3
Live slide previews update as Markdown headings and content change, making iteration fast.
- 4
Speaker-only notes are supported via a “note” block and a presenter view available through “Open in Browser.”
- 5
Incremental on-slide reveals are implemented with fragment elements and fragment indexes, so one slide can show content step-by-step.
- 6
Themes apply across the entire presentation, allowing quick visual restyling.
- 7
Publishing is done via export: HTML for web/static-site hosting or PDF via print export, where fragments become sequential static pages.