Skip to main content

Another text based (rst) presentation tool

Project description

prezento is a powerful, offline-first slide generator that converts reStructuredText (RST) files into beautiful, interactive HTML presentations.

It is a complete rewrite of prezentprogramo (a former fork of Hovercraft) with modern architecture, improved substep handling, and a switch from impress.js to b6plus.

https://img.shields.io/badge/License-GPLv3-blue.svg

Features

  • Clean and semantic RST-based slide authoring

  • Powerful substep / incremental reveal system with fine-grained control

  • Multiple output formats:
    • Standard HTML (for direct PDF printing)

    • Substep-expanded HTML (step-by-step handouts)

    • b6plus presentation mode (for projectors / live talks)

  • Embedded Graphviz diagram support (yographviz directive)

  • Full offline capability

  • Custom CSS and JavaScript support

  • High-quality print/PDF output

Why prezento?

The original prezentprogramo was heavily tied to impress.js and had complex structure. After years of use, I decided to rewrite it from scratch with the following goals:

  • Better substep semantics for lecture note substeps(Showing content of a page gradually)

  • Modern docutils usage (no deprecated APIs)

  • Cleaner code architecture

  • Switch to b6plus — a lightweight and actively maintained presentation library

  • Easier maintenance and future extensibility

This version is not compatible with original Hovercraft or prezentprogramo RST files, but it offers a much better authoring experience.

Sample Slides

You can see real-world examples of prezento in use here:

https://github.com/yoosofan/slide

Assets Requirement

The generated HTML slides require the following asset:

  • assets/b6plus.js: b6plus javasrcript library for on screen presentation

Important: After generating HTML files, you must have an assets/ folder next to them containing this file.

These assets are taken from the b6plus project. You can update them whenever a newer version is released.

You can download them from my slides too.

Installation

pip install prezento

From source (recommended during early development):

git clone https://github.com/yoosofan/prezento.git
cd prezento
pip install -e .

Usage

Basic usage:

prezento your_slides.rst

This will generate three output files in the same directory:

  • your_slides.concise4pdf.html — Standard version (good for printing)

  • your_slides.substep4pdf.html — Step-by-step version

  • your_slides.presentation.html — b6plus interactive version

Options:

prezento input.rst -o output.html
prezento input.rst --no-substep          # Skip substep PDF version
prezento input.rst --no-presentation     # Skip b6plus version

Project Structure (Development)

prezento/
├── src/
│   └── prezento/
│       ├── __init__.py
│       └── main.py
├── docs/
│   └── tools/
└── tests/

Contributing

Contributions are welcome! This project is still in active development.

If you want to help, please:

  • Open an issue for bugs or feature requests

  • Submit pull requests for improvements

  • Test with complex slide decks

License

This project is licensed under the GNU General Public License v3.0 (GPLv3).

See the LICENSE file for the full license text.

You are free to use, modify, and distribute this software under the terms of GPLv3.

Acknowledgments

Author

Ahmad Yoosofan

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

prezento-1.0.3.tar.gz (22.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

prezento-1.0.3-py3-none-any.whl (20.7 kB view details)

Uploaded Python 3

File details

Details for the file prezento-1.0.3.tar.gz.

File metadata

  • Download URL: prezento-1.0.3.tar.gz
  • Upload date:
  • Size: 22.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for prezento-1.0.3.tar.gz
Algorithm Hash digest
SHA256 64474568a81b0c438bbb4f9ae1c97f6581cd4c5ef528a6d146834b534d5341f6
MD5 06b60ff8e32e4961546587d234cacb3b
BLAKE2b-256 41515d4536970cd73c16c2f64c49fdbea638de82b1500b3d931538841c998c41

See more details on using hashes here.

File details

Details for the file prezento-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: prezento-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 20.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.5

File hashes

Hashes for prezento-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 af8c0fd96fbae6f6086703f0a1c502c4010d24cfcb6ee0535afadd2867f360d1
MD5 25c15dc54fb87ffde9294fa844c78583
BLAKE2b-256 49a4983085d060cd73f4908315b8475af9edaa188a1fd8ca07810f1c93252a7b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page