Makes impress.js presentations from reStructuredText
Project description
Prezentprogramo
Prezentprogramo is a tool to make impress.js presentations from reStructuredText. For a quick explanation, see one of my slides or check list of them https://yoosofan.github.io/slide/
Based on Hovercraft!
Features
Write your presentations in a text markup language. No slow, limiting GUI, no annoying HTML!
Pan, rotate and zoom in 3D, with automatic repositioning of slides!
A presenter console with notes and slide previews!
Support for showing mathematical formulas.
Styling is easy with CSS.
The slide show generated is in HTML, so you only need a web browser to show it.
Easy sharing, as it can be put up on a website for anyone to see!
Full documentation of Hovercraft is available at https://hovercraft.readthedocs.io/en/latest/ , and also in the documentation subdirectory.
Installation
Simple but not the best way to install
pip3 install prezentprogramo
It is better to follow the following steps instead because there will be less problems in the long run.
Prepare Environment
These steps can be done once. You don’t need to repeat them unless you really need to.
uv is a Python package and project manager. Using uv has multiple benefits including installing any version of python3 and related packages on it. uv can reduce many conflicts and problems you may face if you use pip alone. While it is not necessary but I would recommend to use it instead of pip.
- Install the latest python3
uv
# First install curl from # https://curl.se/download.html # Instead on any debian based linux use the following command # apt install curl curl -LsSf https://astral.sh/uv/install.sh | sh # update uv periodically uv self update
Install python3
uv python install 3.13.7
- It is better to use virtual environment in python3
Create virtual environment
Using uv
uv venv --python 3.13.7 myvenvPure python
python -m venv myvenv
Activate virtual environment whenever you want to use prezentprogramo
source myvenv/bin/activate
Install Prezentprogramo
Use the latest changes in github repository
Download Prezentprogramo repository to a directory, like
~/path/prezentprogramoInstall Prezentprogramo by
uv
uv tool install ~/path/prezentprogramo/Or pip
pip install ~/path/prezentprogramo/
Or use pypi.org
uv
uv tool install prezentprogramoOr pip
pip3 install prezentprogramo
Prezentprogramo requires Python 3 and can be installed like any Python package.
It is better to use virtual environment:
$ cd ~/virtual_environment/path/ $ python -m venv myvenv $ source myvenv/bin/activate
The easiest way to install prezentprogramo is by using pip and git, then run:
$ pip3 install git+https://github.com/yoosofan/prezentprogramo
Or download the code in a directory let’s name it ~/path/prezentprogramo/ then:
$ pip3 install ~/path/prezentprogramo/ or $ python3 -m pip install ~/path/prezentprogramo/
Use prezentprogramo:
$ prezentprogramo prezentprogramo/docs/examples/tutorial.rst
It will automatically open browser if it is possible. If the browser did not open then run your browser and type the following link in your browser
Then you can deactivate virtual environment:
$ deactivate
Prezentprogramo creates a directory by the name of slide if it possible. However, Ii is possible to create a seperate directory too. For Example you can use my computer courses slide <https://github.com/yoosofan/slide>_ to test it
cd projects/slide/os
prezentprogramo cpu.rst cpu_htmls/
Convert to pdf
Install google-chrome
prezentprogramo cpu.rst --pdf cpu.pdf
Old methods for hovercraft
Run hovercraft
cd os
prezentprogramo mem.rst
### Run browser
### Type 127.0.0.1:8000
Mothods
Screen Shot
- Take screen shot by operating system
for ubuntu-mate use short cut < Shift + PrtSc >
Select the area
Save
- Or use browser screenshot
- convert images to pdf
Install tools lilke image magic
sudo apt-get install imagemagick –fix-missing
convert *.png mem1.pdf
dectape: Convert to pdf
https://github.com/astefanutti/decktape
https://awesomeopensource.com/project/astefanutti/decktape?categoryPage=29
Installation
sudo apt update
sudo apt install nodejs
sudo npm install -g npm@latest
sudo npm install puppeteer --unsafe-perm
# export PUPPETEER_SKIP_DOWNLOAD='true' #npm i puppeteer
sudo npm install -g decktape
npm install decktape
`npm bin`/decktape
https://github.com/puppeteer/puppeteer/issues/5656#issuecomment-641412196 https://stackoverflow.com/questions/63187371/puppeteer-not-able-to-install-error-failed-to-set-up-chromium-r782078-set-pu
ls -l /etc/apt/sources.list.d/
ls -l /usr/share/keyrings/
rm /usr/share/keyrings/nodesource.gpg
rm /etc/apt/sources.list.d/nodesource.list.save
# Using Ubuntu
curl -k -fsSL https://deb.nodesource.com/setup_15.x | sudo -E bash -
curl -k -fsSL https://deb.nodesource.com/setup_14.x | sudo -E bash -
sudo apt-get install -y nodej
sudo apt-get remove nodejs npm node
sudo apt-get purge nodejs
sudo rm -rf /usr/local/bin/npm
sudo rm -rf /usr/local/share/man/man1/node*
sudo rm -rf /usr/local/lib/dtrace/node.d
sudo rm -rf ~/.npm
sudo rm -rf ~/.node-gyp
sudo rm -rf /opt/local/bin/node
sudo rm -rf opt/local/include/node
sudo rm -rf /opt/local/lib/node_modules
sudo rm -rf /usr/local/lib/node*
sudo rm -rf /usr/local/include/node*
sudo rm -rf /usr/local/bin/node
Instructions
`npm bin`/decktape --slides 1-70 --chrome-path /usr/bin/google-chrome impress http://127.0.0.1:8000/ ~/os922.pdf
decktape --chrome-path /usr/bin/google-chrome impress http://127.0.0.1:8000/ ~/os915.pdf
decktape --slides 1,111-273 --chrome-path /usr/bin/google-chrome impress http://127.0.0.1:8000/ ~/os913.pdf
decktape --slides 1-120 --chrome-path /usr/bin/google-chrome impress http://127.0.0.1:8000/ ~/830.pdf
decktape --slides 1-120 --chrome-path /usr/bin/google-chrome impress http://127.0.0.1:8000/ ~/d/830.pdf
decktape --slides 1-111 --chrome-path /usr/bin/google-chrome impress http://127.0.0.1:8000/ ~/901.pdf
decktape impress http://127.0.0.1:8000/ ~/test/f4.pdf
decktape --chrome-path /usr/bin/google-chrome impress http://127.0.0.1:8000/ ~/test/dectape/f1.pdf
decktape --slides 1,2,3 --chrome-path /usr/bin/google-chrome impress http://127.0.0.1:8000/ ~/test/dectape/f2.pdf
decktape --slides 1,13,116,117 --chrome-path /usr/bin/google-chrome impress http://127.0.0.1:8000/ ~/test/dectape/f3.pdf
decktape --chrome-path /usr/bin/google-chrome impress http://127.0.0.1:8000/ ~/test/dectape/f4.pdf
Samples
# Capture a single slide
$ decktape --slides 1
# Capture a series of slides
$ decktape --slides 1,3,5
# Capture a range of slides
$ decktape --slides 1-10
# Capture a combination of slides and ranges
$ decktape --slides 1,2,5-10
$ decktape --slides 1,2,5-10 -s 1024x768
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file prezentprogramo-3.2.tar.gz.
File metadata
- Download URL: prezentprogramo-3.2.tar.gz
- Upload date:
- Size: 5.6 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5112369a6c2338552d32b015b12a8123d496b9e65e10afad33d48aac3ce1c398
|
|
| MD5 |
c566dfd341059ed49803347d24097776
|
|
| BLAKE2b-256 |
678a534a78ec5d79169fd9c1aeee8d2388c4101f4630067a8d93a93897699745
|
File details
Details for the file prezentprogramo-3.2-py3-none-any.whl.
File metadata
- Download URL: prezentprogramo-3.2-py3-none-any.whl
- Upload date:
- Size: 5.5 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a7fca89ec31ca11607c7b31afe4611543b04769e10823609f9d22facdccdd947
|
|
| MD5 |
791c84720cadd2a357653a22c2dbaf8a
|
|
| BLAKE2b-256 |
3473f2e8108d3e345e83d1f955f0c7d16c978b0d817a4cfb5e9d5b5e0c5059e0
|