Prezentprogramo


NamePrezentprogramo JSON
Version 3.1 PyPI version JSON
download
home_pageNone
SummaryMakes impress.js presentations from reStructuredText
upload_time2025-08-19 08:24:07
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseNone
keywords presentations restructuredtext
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            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"
}
        
Elapsed time: 1.64783s