PicoRabbit
PicoRabbit
PicoRabbit is a presentation tool inspired by Rabbit, a presentation tool for Rubyists. It displays slides written in Markdown on screen and lets you navigate them with the keyboard.
Table of Contents
Basic Usage
Prepare a Markdown file and launch it with the picorabbit command.
picorabbit slides.md
Example Slide File
---
title: My First Presentation
author: Harucom
---
# About Me
- Name: Harucom
- Hobby: Programming
# What I Want to Do
I want to give a presentation on **Harucom**!
> Do big things with a tiny computer
{::wait/}
Can I do it?
Writing Slides
Frontmatter
You can write presentation metadata in YAML format at the beginning of the file.
---
title: Presentation Title
subtitle: Subtitle
author: Your Name
theme: dark
allotted_time: 15
---
| Field | Description |
|---|---|
title |
Presentation title (displayed on the title slide) |
subtitle |
Subtitle |
author |
Presenter’s name |
theme |
Theme name (default or dark) |
allotted_time |
Allotted time (in minutes). When specified, a timer is displayed |
If title is specified, a title slide is automatically created at the beginning.
Slide Separators
A # heading marks the beginning of a new slide. The heading text is displayed as the slide title.
# The first slide
This is the first slide.
## The second slide
This is the second slide.
### The third slide
This is the third slide.
Text
Plain text is displayed as-is. Bold and inline code are supported as inline formatting.
This is a plain text.
You can **bold** text for emphasis.
You can write `inline code` like this.
Lists
Both unordered and ordered lists are supported. Unordered lists can be nested with indentation.
- Item 1
- Item 2
- Nested item
1. Do this first
2. Then do this
Blockquotes
Use > for blockquotes. A line is displayed on the left side.
> This is a quote
Code Blocks
Surround code with triple backticks for a code block. It is displayed with a background color.
```
def hello
puts "Hello!"
end
```
Images
BMP images can be displayed (8-bit RGB332 format).

Text Alignment
Add {:.center} or {:.right} after an element to change text alignment.
Centering the text
{:.center}
Right-aligning the text
{:.right}
Animations
Writing {::wait/} pauses the slide display at that point.
Press the right arrow key or Enter to reveal the rest.
# Progressive Reveal
First, this is visible.
{::wait/}
Then, this appears.
{::wait/}
Finally, this shows up.
You can place multiple {::wait/} markers in a single slide to reveal content step by step with each key press.
Keyboard Controls
| Key | Action |
|---|---|
| Right arrow, PageDown, Enter, Space | Next slide (or next animation step) |
| Left arrow, PageUp, Backspace | Previous slide (or previous animation step) |
| Home | Jump to the first slide |
| End | Jump to the last slide |
| Up arrow | Jump (when timer is active, the rabbit jumps) |
| Escape, Ctrl+Q | Exit the presentation |
Themes
Select a theme with the theme field in the frontmatter.
| Theme | Description |
|---|---|
default |
Light background theme (default) |
dark |
Dark background theme |
Timer
When allotted_time is specified in the frontmatter, a timer is displayed at the bottom of the screen.
The value specifies the allotted time in minutes.
---
allotted_time: 15
---
When the timer is active, a rabbit and tortoise race is displayed at the bottom of the screen. The rabbit represents the presenter’s pace, and the tortoise represents the ideal pace. Press the up arrow key to make the rabbit jump.