@vybestack/vybeslides
v0.3.2
Published
Declarative presentation library for terminal UIs
Maintainers
Readme
VybeSlides
Create terminal slide presentations.
██ ██ ██ ██ ██████ ███████ ███████ ██ ██ ██████ ███████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
██ ██ ████ ██████ █████ ███████ ██ ██ ██ ██ █████ ███████
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
████ ██ ██████ ███████ ███████ ███████ ██ ██████ ███████ ███████Features
- Markdown-driven — Write slides in familiar markdown
- ASCII art support — Embed ASCII art with code fences
- Keyboard navigation — No mouse required
Installation
Requires Bun runtime.
# Install bun (if not already installed)
curl -fsSL https://bun.sh/install | bash
# Install vybeslides globally
bun install -g @vybestack/vybeslides
# Run a presentation
vybeslides ./my-presentationOr run directly without installing:
bunx @vybestack/vybeslides ./my-presentationUsage
Create a Presentation
- Create a directory for your presentation
- Add markdown files for each slide
- Create a
slides.txtfile listing slides in order
my-presentation/
├── slides.txt
├── 01-title.md
├── 02-agenda.md
├── 03-content.md
└── 04-end.mdslides.txt Format
# My Presentation Title
01-title.md
02-agenda.md
03-content.md
04-end.md- Lines starting with
#set the presentation title (shown in header bar) - Each other line is a filename for a slide, in presentation order
Slide Markdown
Supports standard markdown:
# Header 1
## Header 2
Regular paragraph text.
- Bullet list
- Another item
1. Numbered list
2. Second item
> Blockquote
| Column 1 | Column 2 |
|----------|----------|
| Data | More |Plus ASCII art blocks:
```ascii
╭─╮╭─╮╭─╮
│░││░││░│
└─╯└─╯└─╯
```Keyboard Navigation
| Key | Action |
|-----|--------|
| n, →, ↓, Space, PageDown | Next slide |
| p, ←, ↑, PageUp | Previous slide |
| 0-9 | Jump to slide (0-indexed) |
| :10, :15, etc. | Jump to slide 10, 15, etc. |
| r | Reload current slide from disk |
| h | Toggle header bar |
| f | Toggle footer bar |
| q, Escape | Quit |
CLI Options
vybeslides ./presentation [options]| Option | Description |
|--------|-------------|
| --disable-header | Start with header bar hidden |
| --disable-footer | Start with footer bar hidden |
| --render <num> | Render slide <num> to stdout (headless mode) |
| --header off | (deprecated) Hide header bar |
| --footer off | (deprecated) Hide footer bar |
Development
# Clone the repository
git clone https://github.com/acoliver/vybeslides.git
cd vybeslides
# Install dependencies
bun install
# Run tests
bun test
# Run linting
bun run lint
# Type checking
bun run typecheck
# All checks
bun run checkTerminal Compatibility
Best experienced in modern terminals with true color support:
- iTerm2
- Kitty
- Ghostty
- WezTerm
- Alacritty
License
Apache-2.0
