presenterm
TLDR
Display a presentation
Display a presentation with a specific theme
List all available themes
Export a presentation to PDF
Display a presentation with code snippet execution enabled
Validate that presentation content fits within the terminal
SYNOPSIS
presenterm [OPTIONS] [FILE_OR_DIRECTORY]
PARAMETERS
-c, --config <CONFIG>
Sets a custom config file path (default: ~/.config/presenterm/config.toml)
-f, --font-size <FONT_SIZE>
Sets the font size in pixels (default: 14)
--no-fork
Do not fork into a background process
-p, --print
Print slides to stdout (for piping to PDF printers like lp)
-s, --start-slide <START_SLIDE>
Start at slide number N (1-indexed)
-t, --theme <THEME>
Use theme (default: default; options: dracula, gruvbox-dark, gruvbox-light, monokai, nord, solarized-dark, solarized-light)
-v, --vim
Enable Vim-like key bindings (hjkl)
-h, --help
Print help information
-V, --version
Print version information
DESCRIPTION
Presenterm is a high-performance, cross-platform presentation application built for the terminal using Rust. It transforms Markdown files into interactive slide decks, supporting horizontal slides separated by --- and vertical sub-slides by --. Key features include syntax-highlighted code blocks, embedded images, speaker notes (via ??? separator), customizable themes, adjustable font sizes, mouse support, and PDF export via piping to tools like lp.
Users can navigate slides with arrow keys, Vim-like bindings (hjkl), or mouse. It auto-reloads files on changes for live editing. Themes such as gruvbox-dark, solarized-light, and dracula provide visual variety. Ideal for developers and CLI enthusiasts, it runs efficiently without a GUI, requiring only a modern terminal with truecolor support for optimal rendering.
Install via Cargo (cargo install presenterm) or binaries from GitHub releases. Configuration is via ~/.config/presenterm/config.toml for persistent settings like default theme or font size.
CAVEATS
Requires a terminal with 256-color or truecolor support for best visuals; images need kitty protocol or similar. Not a standard distro package—install via Cargo or download binaries. Large images may impact performance.
SLIDE SYNTAX
Horizontal slides: ---
Vertical sub-slides: --
Speaker notes: ???
Code blocks with language for highlighting.
NAVIGATION KEYS
Arrow keys or Space/Enter (next), Backspace (prev), Esc (overview), ? (help), q (quit). Mouse wheel/clicks supported.
HISTORY
Developed by Rémy Oudompheng (Canop) starting in 2020 as a Rust-based successor to terminal presentation tools. First release v0.1.0 in Oct 2020; active maintenance with themes and features added through v0.4.x by 2023.


