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 indentation requirements. After years of use, I decided to rewrite it from scratch with the following goals:

  • Better substep semantics (especially for lists and nested content)

  • 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 assets:

  • assets/simple.css

  • assets/b6plus.js

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

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

Installation

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.html — Standard version

  • your_slides.substep.pdf.html — Step-by-step version (good for printing)

  • 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/
│   └── dev-history/
└── 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.tar.gz (10.0 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-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: prezento-1.0.tar.gz
  • Upload date:
  • Size: 10.0 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.tar.gz
Algorithm Hash digest
SHA256 b13cbd3b13927e775accf26121058d8ac23198a97f07615d99e24f82fad6221f
MD5 1c85035959b8ecbd6cfbd2bf5d441473
BLAKE2b-256 38c1ca0607786a631c3624d4a9ecc84cb556f5b83fcce2978d215f5db1480bb8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: prezento-1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.2 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-py3-none-any.whl
Algorithm Hash digest
SHA256 fcee2d89eecbcae3d195cc76e745d40a9fccce896b4222de6be26262702a9434
MD5 7c73b5d4c64a6b24f4d2ba9875759613
BLAKE2b-256 46ad42a88a0709395f3888d7dc718da2aba8e62703fbbeff323c68a33de572e0

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