Turn markdown into a presentation — a small, dependency-light Python library and CLI. Plain markdown works out of the box; an optional directive dialect adds charts, columns, callouts, timelines, and more.
Project description
Curry Leaves Presenter
Turn markdown into a presentation — a small, dependency-light Python library and CLI with self-contained HTML output, keyboard navigation, transitions, and charts.
Plain markdown works out of the box. An optional directive dialect adds columns, charts, callouts, timelines, and more for when you want finer control.
Install
pip install curry-leaves-presenter
CLI
curry-presenter build talk.md # writes talk.html
curry-presenter build talk.md -o out.html --theme minimal-dark --open
curry-presenter validate talk.md # print diagnostics, exit 1 on errors
curry-presenter themes # list built-in themes
Library
from curry_leaves_presenter import Deck
deck = Deck.from_file("talk.md")
deck.validate() # -> list[Diagnostic]
deck.to_html("talk.html", theme="minimal-dark")
html = deck.render_html() # in-memory string, no file written
Plain markdown mode
Any markdown file works. Slides are separated by --- on its own line; the first
heading on a slide becomes its title. A <!-- notes: ... --> comment becomes speaker
notes.
---
title: My Talk
theme: minimal-dark
---
# My Talk
A subtitle line here
---
## Agenda
- Point one
- Point two
<!-- notes: remember to slow down here -->
---
> A pull-quote slide
> renders in the "quote" layout automatically
Layout is chosen automatically: a lone H1 + short subtitle → title slide; a heading with no body → section slide; an all-blockquote body → quote slide; anything else → content slide.
Directive mode
Wrap slides in :::slide ... ::: to unlock layouts, charts, columns, callouts,
timelines, textboxes, and more:
---
title: Quarterly Review
theme: enterprise-blue
---
:::slide layout="two-column"
# Results
:::column
Revenue grew 40% quarter over quarter, driven mostly by the new
enterprise tier.
|
:::chart type="bar"
- Q1: 40
- Q2: 65
- Q3: 82
- Q4: 110
:::
:::
:::
:::slide layout="content"
# Key Risks
:::callout type="warning"
Churn ticked up 2pts in the SMB segment.
:::
:::
Directive blocks: slide, column, notes, chart (bar/pie/line/doughnut),
wordart (gradient/shadow/outline), callout (info/warning/error/success), timeline,
compare, image, textbox, clock, timer.
Layouts: title, content, two-column, three-column, section, blank,
big-stat, quote, agenda, image-split.
Both modes can appear in the same deck — if any :::slide block is found, directive
mode is used for the whole file.
See docs/syntax-reference.md for the full front matter field list, every directive's attributes and defaults, the auto-layout rules, the theme YAML schema, and every diagnostic code.
Themes
Eight built-in themes: enterprise-blue, minimal-dark, clean-white,
executive-navy, startup-violet, nature-green, warm-coral, high-contrast.
Pass a path to a custom theme YAML to --theme / theme= — schema documented in
docs/syntax-reference.md.
Diagnostics
Parsing and validation never raise on malformed input — they collect Diagnostic
objects instead (severity, code, message, slide_index). curry-presenter build
prints these to stderr and exits non-zero on errors (or on warnings with --strict).
Full code list in docs/syntax-reference.md.
What's not in v1
PPTX and PDF export are planned (pip install curry-leaves-presenter[pptx] / [pdf]
are reserved) but not wired up yet — v1 ships self-contained HTML only.
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file curry_leaves_presenter-1.1.0.tar.gz.
File metadata
- Download URL: curry_leaves_presenter-1.1.0.tar.gz
- Upload date:
- Size: 5.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eceeff1981a6561c8befb86cc1893438123a3cc07d6956dc96e7a7f803c31bfa
|
|
| MD5 |
e974bc60bd29444b2ee854601db058b0
|
|
| BLAKE2b-256 |
90adc90be7ee2ada9c1372440922453b774ae882d8fe0f023b0a89fc2045847b
|
File details
Details for the file curry_leaves_presenter-1.1.0-py3-none-any.whl.
File metadata
- Download URL: curry_leaves_presenter-1.1.0-py3-none-any.whl
- Upload date:
- Size: 108.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e2a03fbdc8072224caec29ea3f83f85cbb0cdb63b1cf3bf065e6f50d4fe7567e
|
|
| MD5 |
43023bd7a00960332b0b26c25ffc04c1
|
|
| BLAKE2b-256 |
34b073c42503db2b45336b754ef71993ab555d0c6931df979dda020b6ffe08a8
|