Rapicco
A wrapper tool of PicoRuby Rapicco terminal-based presentation.
Overview
Rapicco is a tool that shows presentation slide on terminal emulator by running picoruby process. It also converts Rapicco presentations into PDF documents capturing the ANSI terminal output from Rapicco and renders it as a high-quality PDF.
Requirements
- Ruby (you can see supported versions in rapicco.gemspec)
- Cairo graphics library
- PicoRuby with Rapicco installed
export PICORUBY_PATH=path/to/picorubyneeds to be set
Installation
gem install rapicco
Usage
Create a presentation project (recommended)
- Create a new presentation project along with
mkdir:
rapicco new my-presentation
cd my-presentation
Or in existing directory,
cd my-presentation
rapicco new .
[!WARNING] The above command will override existing files.
This generates:
Gemfilewith rapicco gemRakefilewith presentation tasksslide.mdtemplateconfig.yamlconfigurationREADME.mdtemplate.gitignore
- Install dependencies:
bundle install
- Use rake tasks to manage your presentation:
bundle exec rake -T
Available tasks:
rake gem # Create gem package
rake pdf # Generate PDF
rake publish # Publish gem to RubyGems.org
rake run # Run presentation
Show presentation:
bundle exec rake run
Generate PDF:
bundle exec rake pdf
Create gem package:
bundle exec rake gem
Using CLI directly
Show presentation:
bundle exec rapicco input.md
Generate PDF:
bundle exec rapicco --print input.md
How it generates PDF
- Executes Rapicco with the input markdown file
- Captures each page of the presentation via PTY
- Parses ANSI escape sequences (colors, cursor positioning, block characters)
- Renders each page to PDF using Cairo graphics library
- Combines all pages into a single PDF document
License
Copyright © 2025 HASUMI Hitoshi. See MIT-LICENSE for further details.