magical markdown slides
1# Quickstart 2 3Get started with lantern in minutes. 4 5## Installation 6 7Currently, you'll need to build from source: 8 9```bash 10git clone https://github.com/yourusername/lantern.git 11cd lantern 12cargo build --release 13``` 14 15The binary will be available at `target/release/lantern`. 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, lantern!"); 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 76lantern present presentation.md 77``` 78 79### Navigation Keys 80 81- ``, `j`, `Space`, `n` - Next slide 82- ``, `k`, `p` - Previous slide 83- `Shift+N` - Toggle speaker notes 84- `q`, `Ctrl+C`, `Esc` - Quit presentation 85 86## Printing to Stdout 87 88Print all slides to stdout with formatting: 89 90```bash 91lantern print presentation.md 92``` 93 94Adjust output width: 95 96```bash 97lantern print presentation.md --width 100 98``` 99 100Use a specific theme: 101 102```bash 103lantern print presentation.md --theme nord 104``` 105 106## Slide Separators 107 108Slides are separated by three dashes on a line by themselves: 109 110```markdown 111# Slide 1 112 113Content here 114 115--- 116 117# Slide 2 118 119More content 120``` 121 122## Front Matter 123 124Optional metadata at the start of your file: 125 126YAML format: 127 128```yaml 129--- 130theme: dark 131author: Jane Doe 132--- 133``` 134 135TOML format: 136 137```toml 138+++ 139theme = "monokai" 140author = "John Smith" 141+++ 142``` 143 144## Supported Markdown 145 146Currently supported: 147 148- Headings (H1-H6) 149- Paragraphs with inline formatting (bold, italic, strikethrough, code) 150- Code blocks with language tags 151- Lists (ordered and unordered with nesting) 152- Horizontal rules 153- Blockquotes 154- Tables with automatic column width calculation and proper Unicode borders 155 156## Speaker Notes 157 158Add speaker notes to any slide using the `::: notes` directive: 159 160```markdown 161# Your Slide Title 162 163Main content visible to the audience. 164 165::: notes 166These are your speaker notes. 167Press Shift+N to toggle their visibility. 168They appear in a separate panel during presentation. 169::: 170``` 171 172## Status Bar 173 174The status bar at the bottom displays: 175 176- Filename of the current presentation 177- Current slide number / Total slides 178- Active theme name 179- Navigation hints 180- Notes visibility indicator (✓ when shown) 181- Elapsed presentation time (HH:MM:SS) 182 183## Environment Variables 184 185Customize defaults with environment variables: 186 187```bash 188# Set default theme 189export LANTERN_THEME=nord 190 191# Set default author (used if not in frontmatter) 192export USER=YourName 193``` 194 195## Themes 196 197See the [Themes](./appendices/themes.md) reference for details on all available themes and customization options.