How the Markdown to Slides Converter Works
AnyTool Markdown to Slides runs entirely in the browser with no server and no CDN dependency. The Markdown is first divided into slides by a chosen convention: by default a new slide starts at each thematic-break ruler (---, *** or ___) on its own line — the Marp standard — or you can split at every level-1 heading or at every level-1 or level-2 heading; the splitter is fence-aware, so a --- inside a fenced code block never breaks a slide, and a leading YAML front-matter block (Marp directives) is ignored. Each slide chunk is tokenized with the marked library and walked into a structured slide model: the first heading becomes the slide title (a second, deeper heading becomes a subtitle), ordered, unordered and nested list items become indented bullets carrying their level, paragraphs and blockquotes become body text, fenced code blocks are kept verbatim for monospace rendering, and inline base64 data: URI images are hoisted onto the slide. Speaker notes are written as HTML comments (the optional notes: prefix is stripped). That one model is rendered two ways: an on-screen React slideshow and, on export, a real PowerPoint via pptxgenjs.
- Slides split at ---/***/___ rulers (Marp convention), at each H1, or at H1 + H2
- Fence-aware splitter; YAML front matter (Marp directives) is skipped
- Markdown tokenized with marked into a structured per-slide model
- Title, subtitle, nested bullets, paragraphs, quotes, code blocks and data: images captured
- Speaker notes parsed from HTML comments (<!-- notes: … -->)
