notion-slides
v1.0.0
Published
Convert Notion-style Markdown into a themed .pptx deck: titles, bullets, code, math, callouts and images.
Downloads
176
Maintainers
Readme
Ships with unbranded light and dark themes (theme.light.json, theme.dark.json).
Requirements: Node.js 18+ (for fetch).
Install
npm install -g notion-slidesOr run without installing: npx notion-slides deck.md --theme light --out deck.pptx.
Usage (quick)
notion-slides input.md --theme light --out output.pptx--theme takes light, dark (bundled, unbranded) or a path to your own theme JSON; a custom theme picks up logo.light.png / logo.dark.png (or logo.png) from its own directory unless the theme sets "headerFooter": { "logo": false }. Other flags: --out, --cache <dir>, --offline, --debug-layout.
Working with Notion
Markdown export: You can feed Notion’s exported Markdown into this tool, but callouts and other rich blocks are usually lost in that export.
Richer content: In Notion, open the page, select all blocks (or the content you need), copy, and paste into a
.mdfile. That tends to preserve more structure (including callout-style HTML the converter understands). Pasting usually does not bring over the page title the same way as a single top-level heading, and the first headline level can differ from what you want for the deck.Deck title: Add the document / deck title yourself as the first line of the file using a single top-level heading, for example:
# My deck title …rest of pasted content…The first
# …line becomes the title slide only; body slides are split on---between them.
Repo layout
| Path | Role |
|------|------|
| notion-slides.mjs | CLI |
| theme.light.json / theme.dark.json | Layout, colors, header/footer copy |
| examples/ | Sample Markdown |
