Prezentprogramo
===============
Prezentprogramo is a tool to make impress.js_ presentations from
reStructuredText. For a quick explanation, see the demo_.
Based on `Hovercraft! <https://github.com/regebro/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 readthedocs.org_, and also in the
documentation subdirectory.
Installation
------------
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
Then you can deactivate virtual environment::
$ deactivate
Juan Bondi has made videos of how to install Hovercraft:
* Installation on Ubuntu and Debian based computers: https://www.youtube.com/watch?v=tHSJLF9OnKQ
* Installation on Windows: https://www.youtube.com/watch?v=I63I8Az24d8
Chromium-chromedriver is needed to generate PDF from RST presentations files (You can only Install Chrome Browser)
Hovercraft is untested on Windows, but there is no reason it shouldn't work, at least in theory.
TODO
----
* Copy MathJax fonts prezentprogramo/hovercraft/templates/default/js/MathJax/es5/output/chtml/fonts/woff-v2
* Remove extra files:
* Prevent making extra grap_ii.png for changing yographviz
* G.draw("test.svg", prog= 'dot', format='svg:cairo')
* https://stackoverflow.com/a/72152677/886607
* https://github.com/liuyug/python-docutils-graphviz/tree/master
* https://github.com/liuyug/python-docutils-graphviz/blob/master/docutils_graphviz.py
* https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Adding_vector_graphics_to_the_Web
* https://docutils-ext.readthedocs.io/en/latest/svgt.html
* Add an option to run a new instance of web browser
* Replace `pyhtml2pdf` by `selenium` because of the following vulnerability:
* https://security.snyk.io/vuln/SNYK-PYTHON-PYHTML2PDF-6254644
* https://vuldb.com/?id.254137
* https://vulners.com/github/GHSA-P3RV-QJ56-2FQX
* https://www.cvedetails.com/cve/CVE-2024-1647/
* https://cert.ir/node/6248
* https://nvd.nist.gov/vuln/detail/CVE-2024-1647
* https://github.com/xhtml2pdf/xhtml2pdf
* https://github.com/CourtBouillon/weasyprint-samples/tree/master
* https://github.com/Kozea/WeasyPrint/tree/main
* https://github.com/plotly/plotly.py
* https://plotly.com/python/static-image-export/
* https://plotly.com/python/bar-charts/
* return [nodes.raw('', parsed, format='html')] # https://snyk.io/advisor/python/docutils/functions/docutils.parsers.rst.directives.register_directive
* https://github.com/renatopp/pyramid-blog/blob/7dba5a948af8a61e00fea303367be12e5de6f788/blog/blog/libs/rest/reSTpygments.py#L73
* https://github.com/renatopp/pyramid-blog/tree/master/blog/blog/libs/rest
* https://github.com/renatopp/pyramid-blog/blob/master/blog/blog/libs/rest/reSTpygments.py
* https://github.com/renatopp/pyramid-blog/blob/4cc950d6a82eeaa912c9e1111fe25a8cb836d660/blog/blog/libs/rest/reSTpygments.py#L73
* https://pygraphviz.github.io/documentation/stable/install.html
* Remove MathJax and use current default as --output-math=MathML
.. _impress.js: http://github.com/bartaz/impress.js
.. _demo: https://regebro.github.io/hovercraft
.. _readthedocs.org: https://hovercraft.readthedocs.io/
.. _pip: http://www.pip-installer.org/en/latest/
Raw data
{
"_id": null,
"home_page": null,
"name": "Prezentprogramo",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "presentations, restructuredtext",
"author": null,
"author_email": "Ahmad Yoosofan <yoosofan@gmx.com>",
"download_url": "https://files.pythonhosted.org/packages/23/e7/57493d93fe8dd5ad41aa87149961ab1cddd7e5b852586c1206d98feb8c56/prezentprogramo-3.1.tar.gz",
"platform": null,
"description": "Prezentprogramo\n===============\nPrezentprogramo is a tool to make impress.js_ presentations from\nreStructuredText. For a quick explanation, see the demo_.\n\nBased on `Hovercraft! <https://github.com/regebro/hovercraft>`_\n\nFeatures\n--------\n* Write your presentations in a text markup language. No slow, limiting GUI, no annoying HTML!\n* Pan, rotate and zoom in 3D, with automatic repositioning of slides!\n* A presenter console with notes and slide previews!\n* Support for showing mathematical formulas.\n* Styling is easy with CSS.\n* The slide show generated is in HTML, so you only need a web browser to show it.\n* Easy sharing, as it can be put up on a website for anyone to see!\n\nFull documentation of Hovercraft is available at readthedocs.org_, and also in the\ndocumentation subdirectory.\n\nInstallation\n------------\nPrezentprogramo requires Python 3 and can be installed like any Python package.\n\nIt is better to use virtual environment::\n\n $ cd ~/virtual_environment/path/\n $ python -m venv myvenv\n $ source myvenv/bin/activate\n\nThe easiest way to install prezentprogramo is by using pip_ and git, then run::\n\n $ pip3 install git+https://github.com/yoosofan/prezentprogramo\n \nOr download the code in a directory let's name it `~/path/prezentprogramo/` then::\n \n $ pip3 install ~/path/prezentprogramo/\n \n or\n \n $ python3 -m pip install ~/path/prezentprogramo/\n\n\nUse prezentprogramo::\n\n $ prezentprogramo prezentprogramo/docs/examples/tutorial.rst\n\nThen you can deactivate virtual environment::\n\n $ deactivate\n\nJuan Bondi has made videos of how to install Hovercraft:\n\n* Installation on Ubuntu and Debian based computers: https://www.youtube.com/watch?v=tHSJLF9OnKQ\n* Installation on Windows: https://www.youtube.com/watch?v=I63I8Az24d8\n\nChromium-chromedriver is needed to generate PDF from RST presentations files (You can only Install Chrome Browser)\n\nHovercraft is untested on Windows, but there is no reason it shouldn't work, at least in theory.\n\nTODO\n----\n* Copy MathJax fonts prezentprogramo/hovercraft/templates/default/js/MathJax/es5/output/chtml/fonts/woff-v2\n* Remove extra files:\n * Prevent making extra grap_ii.png for changing yographviz\n * G.draw(\"test.svg\", prog= 'dot', format='svg:cairo') \n * https://stackoverflow.com/a/72152677/886607\n * https://github.com/liuyug/python-docutils-graphviz/tree/master\n * https://github.com/liuyug/python-docutils-graphviz/blob/master/docutils_graphviz.py\n * https://developer.mozilla.org/en-US/docs/Learn/HTML/Multimedia_and_embedding/Adding_vector_graphics_to_the_Web\n * https://docutils-ext.readthedocs.io/en/latest/svgt.html\n* Add an option to run a new instance of web browser\n* Replace `pyhtml2pdf` by `selenium` because of the following vulnerability:\n * https://security.snyk.io/vuln/SNYK-PYTHON-PYHTML2PDF-6254644\n * https://vuldb.com/?id.254137\n * https://vulners.com/github/GHSA-P3RV-QJ56-2FQX\n * https://www.cvedetails.com/cve/CVE-2024-1647/\n * https://cert.ir/node/6248\n * https://nvd.nist.gov/vuln/detail/CVE-2024-1647\n \n * https://github.com/xhtml2pdf/xhtml2pdf\n * https://github.com/CourtBouillon/weasyprint-samples/tree/master\n * https://github.com/Kozea/WeasyPrint/tree/main\n \n \n * https://github.com/plotly/plotly.py\n * https://plotly.com/python/static-image-export/\n * https://plotly.com/python/bar-charts/\n \n * return [nodes.raw('', parsed, format='html')] # https://snyk.io/advisor/python/docutils/functions/docutils.parsers.rst.directives.register_directive\n * https://github.com/renatopp/pyramid-blog/blob/7dba5a948af8a61e00fea303367be12e5de6f788/blog/blog/libs/rest/reSTpygments.py#L73\n * https://github.com/renatopp/pyramid-blog/tree/master/blog/blog/libs/rest\n * https://github.com/renatopp/pyramid-blog/blob/master/blog/blog/libs/rest/reSTpygments.py\n * https://github.com/renatopp/pyramid-blog/blob/4cc950d6a82eeaa912c9e1111fe25a8cb836d660/blog/blog/libs/rest/reSTpygments.py#L73\n\n * https://pygraphviz.github.io/documentation/stable/install.html\n* Remove MathJax and use current default as --output-math=MathML\n\n.. _impress.js: http://github.com/bartaz/impress.js\n.. _demo: https://regebro.github.io/hovercraft\n.. _readthedocs.org: https://hovercraft.readthedocs.io/\n.. _pip: http://www.pip-installer.org/en/latest/\n",
"bugtrack_url": null,
"license": null,
"summary": "Makes impress.js presentations from reStructuredText",
"version": "3.1",
"project_urls": {
"Homepage": "https://github.com/yoosofan/prezentprogramo",
"Issues": "https://github.com/yoosofan/prezentprogramo/issues"
},
"split_keywords": [
"presentations",
" restructuredtext"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "7761efb55c52eb601b16c20322845521da2202a2524c0ff2d111c7892d6ca29a",
"md5": "973f923d1b7ec2fd338fe14865596065",
"sha256": "dfcf84aaacd5161b272f626c42ba86f251e0240ae696d87adbc51db9eae0d7e9"
},
"downloads": -1,
"filename": "prezentprogramo-3.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "973f923d1b7ec2fd338fe14865596065",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 5543334,
"upload_time": "2025-08-19T08:22:08",
"upload_time_iso_8601": "2025-08-19T08:22:08.136224Z",
"url": "https://files.pythonhosted.org/packages/77/61/efb55c52eb601b16c20322845521da2202a2524c0ff2d111c7892d6ca29a/prezentprogramo-3.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "23e757493d93fe8dd5ad41aa87149961ab1cddd7e5b852586c1206d98feb8c56",
"md5": "3f5f46a82fcbe35238c1de7a789914c4",
"sha256": "e5368ed8aa53fb958c1a73eb7b47d1e45b8c154f99f81926d86d3ce04dd85c4e"
},
"downloads": -1,
"filename": "prezentprogramo-3.1.tar.gz",
"has_sig": false,
"md5_digest": "3f5f46a82fcbe35238c1de7a789914c4",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 5559131,
"upload_time": "2025-08-19T08:24:07",
"upload_time_iso_8601": "2025-08-19T08:24:07.500947Z",
"url": "https://files.pythonhosted.org/packages/23/e7/57493d93fe8dd5ad41aa87149961ab1cddd7e5b852586c1206d98feb8c56/prezentprogramo-3.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-19 08:24:07",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "yoosofan",
"github_project": "prezentprogramo",
"travis_ci": false,
"coveralls": true,
"github_actions": true,
"lcname": "prezentprogramo"
}