magical markdown slides
1# Quickstart 2 3Get started with slides-rs in minutes. 4 5## Installation 6 7Currently, you'll need to build from source: 8 9```bash 10git clone https://github.com/yourusername/slides-rs.git 11cd slides-rs 12cargo build --release 13``` 14 15The binary will be available at `target/release/slides`. 16 17## Creating Your First Deck 18 19Create a new markdown file called `presentation.md`: 20 21````markdown 22--- 23theme: default 24author: Your Name 25--- 26 27# Welcome to Slides 28 29A modern terminal-based presentation tool 30 31--- 32 33## Features 34 35- Parse markdown into slides 36- Interactive TUI navigation with full keyboard support 37- Speaker notes with toggle visibility 38- Live presentation timer 39- Status bar with slide count and navigation hints 40- Print to stdout 41- Syntax highlighting (coming soon) 42 43--- 44 45## Code Example 46 47```rust 48fn main() { 49 println!("Hello, slides!"); 50} 51``` 52 53Supports multiple languages with syntax highlighting. 54 55--- 56 57## Lists and Formatting 58 59- Unordered lists with bullets 60- **Bold text** for emphasis 61- *Italic text* for style 62- `inline code` for commands 63 64--- 65 66# Thank You 67 68Questions? 69```` 70 71## Presenting Your Slides 72 73Run the interactive TUI presenter: 74 75```bash 76slides present presentation.md 77``` 78 79### Navigation Keys 80 81- ``, `j`, `Space`, `n` - Next slide 82- ``, `k`, `p` - Previous slide 83- `0-9` - Jump to slide (single digit) 84- `Shift+N` - Toggle speaker notes 85- `q`, `Ctrl+C`, `Esc` - Quit presentation 86 87## Printing to Stdout 88 89Print all slides to stdout with formatting: 90 91```bash 92slides print presentation.md 93``` 94 95Adjust output width: 96 97```bash 98slides print presentation.md --width 100 99``` 100 101Use a specific theme: 102 103```bash 104slides print presentation.md --theme dark 105``` 106 107## Slide Separators 108 109Slides are separated by three dashes on a line by themselves: 110 111```markdown 112# Slide 1 113 114Content here 115 116--- 117 118# Slide 2 119 120More content 121``` 122 123## Front Matter 124 125Optional metadata at the start of your file: 126 127YAML format: 128 129```yaml 130--- 131theme: dark 132author: Jane Doe 133--- 134``` 135 136TOML format: 137 138```toml 139+++ 140theme = "monokai" 141author = "John Smith" 142+++ 143``` 144 145## Supported Markdown 146 147Currently supported: 148 149- Headings (H1-H6) 150- Paragraphs with inline formatting (bold, italic, strikethrough, code) 151- Code blocks with language tags 152- Lists (ordered and unordered with nesting) 153- Horizontal rules 154- Blockquotes 155- Tables 156 157## Speaker Notes 158 159Add speaker notes to any slide using the `::: notes` directive: 160 161```markdown 162# Your Slide Title 163 164Main content visible to the audience. 165 166::: notes 167These are your speaker notes. 168Press Shift+N to toggle their visibility. 169They appear in a separate panel during presentation. 170::: 171``` 172 173## Status Bar 174 175The status bar at the bottom displays: 176 177- Filename of the current presentation 178- Current slide number / Total slides 179- Active theme name 180- Navigation hints 181- Notes visibility indicator (✓ when shown) 182- Elapsed presentation time (HH:MM:SS) 183 184## Environment Variables 185 186Customize defaults with environment variables: 187 188```bash 189# Set default theme 190export SLIDES_THEME=dark 191 192# Set default author (used if not in frontmatter) 193export USER=YourName 194```