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.2.tar.gz (10.3 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.2-py3-none-any.whl (8.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: prezento-1.0.2.tar.gz
  • Upload date:
  • Size: 10.3 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.2.tar.gz
Algorithm Hash digest
SHA256 e5a3da4f5cd9f375802736c551bc19f0685cdffc2c13c5fee41d6d446a58edac
MD5 3e4fba5c2e64501c8088a6a0262a3573
BLAKE2b-256 ce8721298ae72c759e22b464ea79021566d8ff7d9e85ab770da4b3914c5478f8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: prezento-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 8.4 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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 0f4ea6eb85175bec8413b586e251941eb0c74fa78a6726308d9151f7eed5f4a7
MD5 2c47ac1fb446e892e751c0b5c165ec74
BLAKE2b-256 93ea07a697e8c23f6e2a6a4be6893c1d189cc7fffac80767fb53be623d6c0707

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