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.1.tar.gz (10.1 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.1-py3-none-any.whl (8.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: prezento-1.0.1.tar.gz
  • Upload date:
  • Size: 10.1 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.1.tar.gz
Algorithm Hash digest
SHA256 c4032d1d7b745c7ec3af67b61f1654f0d3b79c69e58e9dc59b3e0536dfc67b0c
MD5 a3bebb648e36cb8dff2cf6cbc1d32263
BLAKE2b-256 17c42fe97ec2f09b7f26b80e026cef47a94b89a417b21788722d057d0161599b

See more details on using hashes here.

File details

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

File metadata

  • Download URL: prezento-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 8.3 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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2ca74c57d6a489ab88f2527ce7af270fe94235cde6bca36f459a3f865e894a53
MD5 2c3a7afa1d6c6eaa7660c931a35b68b1
BLAKE2b-256 3d7ef5d4f0b4f79b75ebbba956bcdecd4cabb67a0de5a16c038b989874224566

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