rinohtype


Namerinohtype JSON
Version 0.5.4 PyPI version JSON
download
home_pagehttps://github.com/brechtm/rinohtype
SummaryThe Python document processor
upload_time2022-06-17 22:28:16
maintainer
docs_urlNone
authorBrecht Machiels
requires_python>=3.7.0,<4.0.0
licenseAGPL-3.0-only
keywords typesetting rst pdf opentype
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            rinohtype
=========

.. image:: http://img.shields.io/pypi/v/rinohtype.svg
   :target: https://pypi.python.org/pypi/rinohtype
   :alt: PyPI

.. image:: https://img.shields.io/pypi/pyversions/rinohtype.svg
   :target: https://pypi.python.org/pypi/rinohtype
   :alt: Python version

.. image:: https://img.shields.io/github/discussions/brechtm/rinohtype
   :target: https://github.com/brechtm/rinohtype/discussions
   :alt: Discussions

.. image:: https://badges.gitter.im/brechtm/rinohtype.svg
   :target: https://gitter.im/brechtm/rinohtype
   :alt: Gitter chat

.. image:: https://github.com/brechtm/rinohtype/workflows/Test%20&%20Publish/badge.svg
   :target: https://github.com/brechtm/rinohtype/actions?query=workflow%3A%22Test+%26+Publish%22
   :alt: Tests

.. image:: https://codecov.io/gh/brechtm/rinohtype/branch/master/graph/badge.svg
   :target: https://codecov.io/gh/brechtm/rinohtype
   :alt: Test coverage


rinohtype is a batch-mode document processor. It renders structured documents
to PDF based on a document template and a style sheet. An important design goal
of rinohtype is make document layout and style customization user-friendly. See
the documentation_ to learn how to customize the style of your document.


Call for Contributions
----------------------

Since rinohtype is a fairly sizable project and currently being maintained by a
single person, your contribution can make a big difference. Specifically, the
following things can help move rinohtype forward:

* development of professional-looking stylesheets and document templates
* volunteering to be a maintainer: fix issues that pop up when new versions of
  dependencies are released (Python, Sphinx, ...), or handling
  platform-specific regressions (development is mainly on macOS).
* help with maintaining and improving the documentation
* development of new features, e.g. widow/orphan handling, Knuth-Plass line
  breaking, mathematics typesetting, performance improvements, ...
* companies might be interested in funding the development of particular
  features

So if you are interested in helping with any of these items, please don't
hesitate to get in touch via Discussions_, Gitter_ or brecht@opqode.com!

.. _Discussions: https://github.com/brechtm/rinohtype/discussions
.. _Gitter: https://gitter.im/brechtm/rinohtype


Features
--------

rinohtype is still in beta, so you might run into some issues when using it.
I'd highly appreciate it if you could `create a ticket`_ for any bugs you may
encounter. That said, rinohtype is already quite capable. For example, it
should be able to replace Sphinx_'s LaTeX builder in most cases. Here is an
overview of the main features:

* a powerful page layout system supporting columns, running headers/footers,
  floatable elements and footnotes
* support for figures and (large) tables, optionally rendered sideways
* automatic generation of table of contents and index
* automatic numbering and cross-referencing of section headings, figures and
  tables
* configure one of the included document templates or create your own
* an intuitive style sheet system inspired by CSS allowing changing almost
  every aspect of how document elements are rendered
* modular design allowing for multiple frontends (such as reStructuredText,
  Markdown, DocBook, ...)
* handles OpenType, TrueType and Type1 fonts with support for advanced
  typographic features such as kerning, ligatures, small capitals and old style
  figures
* built-in support for the 1000+ libre licensed fonts on `Google Fonts`_
* embeds PDF, PNG and JPEG images, preserving transparency and color profiles
* easy to install and deploy; pure-Python with few dependencies
* built on Unicode; ready for non-latin languages

rinohtype's primary input format is reStructuredText_. The ``rinoh`` command
line tool renders reStructuredText documents and the included Sphinx_ builder
makes it possible to output large documents with your own style applied. Have
a look at the `rinohtype manual`_ for an example of the output.

There is also a commercial DITA_ frontend, but it's development is currently
on hold. Please `contact me`_ if you are interested in testing it.

.. _documentation: http://www.mos6581.org/rinohtype/master/
.. _create a ticket: https://github.com/brechtm/rinohtype/issues/new/choose
.. _Google Fonts: https://fonts.google.com
.. _reStructuredText: http://docutils.sourceforge.net/rst.html
.. _Sphinx: http://sphinx-doc.org
.. _rinohtype manual: http://www.mos6581.org/rinohtype/master/manual.pdf
.. _DITA: https://en.wikipedia.org/wiki/Darwin_Information_Typing_Architecture
.. _contact me: brecht@opqode.com


Requirements
------------

rinohtype supports all stable Python 3 versions that have not reached
end-of-life_ status. For parsing reStructuredText and CommonMark documents,
rinohtype depends on docutils_ and recommonmark_ respectively. pip_ takes care
of installing these requirements when you install rinohtype.

Syntax highlighting of code blocks is enabled if Pygments_ is installed, which
will be installed automatically with Sphinx_. If you want to include images
other than PDF, PNG or JPEG, you also need to install Pillow_.

.. _end-of-life: https://devguide.python.org/#status-of-python-branches
.. _docutils: http://docutils.sourceforge.net/index.html
.. _recommonmark: https://recommonmark.readthedocs.io
.. _pip: https://pip.pypa.io
.. _Pygments: https://pygments.org
.. _Pillow: http://python-pillow.github.io


Getting Started
---------------

Installation is trivial::

    pip install rinohtype


If you want to have access to bug fixes and features that are not available in
a release, you can install the current development version::

    pip install https://github.com/brechtm/rinohtype/archive/refs/heads/master.zip


reStructuredText Renderer
~~~~~~~~~~~~~~~~~~~~~~~~~

The easiest way to get started with rinohtype is to render a reStructuredText
document (such as ``CHANGES.rst`` from this repository) using the ``rinoh``
command line tool::

   rinoh CHANGES.rst

When ``rinoh`` finishes, you will find ``CHANGES.pdf`` alongside the input
file.

By default ``rinoh`` renders the input document using the article template. Run
``rinoh --help`` to see how you can tell ``rinoh`` which document template and
style sheet to use.


Sphinx Builder
~~~~~~~~~~~~~~

rinohtype can be used as a drop-in replacement for the LaTeX builder (the
``latex_documents`` configuration variable has to be set). Simply select the
`rinoh` builder when building the Sphinx project::

    sphinx-build -b rinoh . _build/rinoh


Contributing
------------

See ``CONTRIBUTING.rst`` and ``DEVELOPING.rst``


License
-------

All of rinohtype's source code is licensed under the `Affero GPL 3.0`_, unless
indicated otherwise in the source file (such as ``hyphenator.py`` and
``purepng.py``).

The Affero GPL requires for software that builds on rinohtype to also be
released as open source under this license. For building closed-source
applications, you can obtain a `commercial license`_. The author of rinohtype
is also available for consultancy projects involving rinohtype.

.. _Affero GPL 3.0: https://www.gnu.org/licenses/agpl-3.0.html
.. _commercial license: `contact me`_

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/brechtm/rinohtype",
    "name": "rinohtype",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.7.0,<4.0.0",
    "maintainer_email": "",
    "keywords": "typesetting,rst,pdf,opentype",
    "author": "Brecht Machiels",
    "author_email": "brecht@mos6581.org",
    "download_url": "https://files.pythonhosted.org/packages/6a/35/65d4ac8b404fb0cf8cf640da504fad819f4e1951abc3b85511de62ffff2a/rinohtype-0.5.4.tar.gz",
    "platform": null,
    "description": "rinohtype\n=========\n\n.. image:: http://img.shields.io/pypi/v/rinohtype.svg\n   :target: https://pypi.python.org/pypi/rinohtype\n   :alt: PyPI\n\n.. image:: https://img.shields.io/pypi/pyversions/rinohtype.svg\n   :target: https://pypi.python.org/pypi/rinohtype\n   :alt: Python version\n\n.. image:: https://img.shields.io/github/discussions/brechtm/rinohtype\n   :target: https://github.com/brechtm/rinohtype/discussions\n   :alt: Discussions\n\n.. image:: https://badges.gitter.im/brechtm/rinohtype.svg\n   :target: https://gitter.im/brechtm/rinohtype\n   :alt: Gitter chat\n\n.. image:: https://github.com/brechtm/rinohtype/workflows/Test%20&%20Publish/badge.svg\n   :target: https://github.com/brechtm/rinohtype/actions?query=workflow%3A%22Test+%26+Publish%22\n   :alt: Tests\n\n.. image:: https://codecov.io/gh/brechtm/rinohtype/branch/master/graph/badge.svg\n   :target: https://codecov.io/gh/brechtm/rinohtype\n   :alt: Test coverage\n\n\nrinohtype is a batch-mode document processor. It renders structured documents\nto PDF based on a document template and a style sheet. An important design goal\nof rinohtype is make document layout and style customization user-friendly. See\nthe documentation_ to learn how to customize the style of your document.\n\n\nCall for Contributions\n----------------------\n\nSince rinohtype is a fairly sizable project and currently being maintained by a\nsingle person, your contribution can make a big difference. Specifically, the\nfollowing things can help move rinohtype forward:\n\n* development of professional-looking stylesheets and document templates\n* volunteering to be a maintainer: fix issues that pop up when new versions of\n  dependencies are released (Python, Sphinx, ...), or handling\n  platform-specific regressions (development is mainly on macOS).\n* help with maintaining and improving the documentation\n* development of new features, e.g. widow/orphan handling, Knuth-Plass line\n  breaking, mathematics typesetting, performance improvements, ...\n* companies might be interested in funding the development of particular\n  features\n\nSo if you are interested in helping with any of these items, please don't\nhesitate to get in touch via Discussions_, Gitter_ or brecht@opqode.com!\n\n.. _Discussions: https://github.com/brechtm/rinohtype/discussions\n.. _Gitter: https://gitter.im/brechtm/rinohtype\n\n\nFeatures\n--------\n\nrinohtype is still in beta, so you might run into some issues when using it.\nI'd highly appreciate it if you could `create a ticket`_ for any bugs you may\nencounter. That said, rinohtype is already quite capable. For example, it\nshould be able to replace Sphinx_'s LaTeX builder in most cases. Here is an\noverview of the main features:\n\n* a powerful page layout system supporting columns, running headers/footers,\n  floatable elements and footnotes\n* support for figures and (large) tables, optionally rendered sideways\n* automatic generation of table of contents and index\n* automatic numbering and cross-referencing of section headings, figures and\n  tables\n* configure one of the included document templates or create your own\n* an intuitive style sheet system inspired by CSS allowing changing almost\n  every aspect of how document elements are rendered\n* modular design allowing for multiple frontends (such as reStructuredText,\n  Markdown, DocBook, ...)\n* handles OpenType, TrueType and Type1 fonts with support for advanced\n  typographic features such as kerning, ligatures, small capitals and old style\n  figures\n* built-in support for the 1000+ libre licensed fonts on `Google Fonts`_\n* embeds PDF, PNG and JPEG images, preserving transparency and color profiles\n* easy to install and deploy; pure-Python with few dependencies\n* built on Unicode; ready for non-latin languages\n\nrinohtype's primary input format is reStructuredText_. The ``rinoh`` command\nline tool renders reStructuredText documents and the included Sphinx_ builder\nmakes it possible to output large documents with your own style applied. Have\na look at the `rinohtype manual`_ for an example of the output.\n\nThere is also a commercial DITA_ frontend, but it's development is currently\non hold. Please `contact me`_ if you are interested in testing it.\n\n.. _documentation: http://www.mos6581.org/rinohtype/master/\n.. _create a ticket: https://github.com/brechtm/rinohtype/issues/new/choose\n.. _Google Fonts: https://fonts.google.com\n.. _reStructuredText: http://docutils.sourceforge.net/rst.html\n.. _Sphinx: http://sphinx-doc.org\n.. _rinohtype manual: http://www.mos6581.org/rinohtype/master/manual.pdf\n.. _DITA: https://en.wikipedia.org/wiki/Darwin_Information_Typing_Architecture\n.. _contact me: brecht@opqode.com\n\n\nRequirements\n------------\n\nrinohtype supports all stable Python 3 versions that have not reached\nend-of-life_ status. For parsing reStructuredText and CommonMark documents,\nrinohtype depends on docutils_ and recommonmark_ respectively. pip_ takes care\nof installing these requirements when you install rinohtype.\n\nSyntax highlighting of code blocks is enabled if Pygments_ is installed, which\nwill be installed automatically with Sphinx_. If you want to include images\nother than PDF, PNG or JPEG, you also need to install Pillow_.\n\n.. _end-of-life: https://devguide.python.org/#status-of-python-branches\n.. _docutils: http://docutils.sourceforge.net/index.html\n.. _recommonmark: https://recommonmark.readthedocs.io\n.. _pip: https://pip.pypa.io\n.. _Pygments: https://pygments.org\n.. _Pillow: http://python-pillow.github.io\n\n\nGetting Started\n---------------\n\nInstallation is trivial::\n\n    pip install rinohtype\n\n\nIf you want to have access to bug fixes and features that are not available in\na release, you can install the current development version::\n\n    pip install https://github.com/brechtm/rinohtype/archive/refs/heads/master.zip\n\n\nreStructuredText Renderer\n~~~~~~~~~~~~~~~~~~~~~~~~~\n\nThe easiest way to get started with rinohtype is to render a reStructuredText\ndocument (such as ``CHANGES.rst`` from this repository) using the ``rinoh``\ncommand line tool::\n\n   rinoh CHANGES.rst\n\nWhen ``rinoh`` finishes, you will find ``CHANGES.pdf`` alongside the input\nfile.\n\nBy default ``rinoh`` renders the input document using the article template. Run\n``rinoh --help`` to see how you can tell ``rinoh`` which document template and\nstyle sheet to use.\n\n\nSphinx Builder\n~~~~~~~~~~~~~~\n\nrinohtype can be used as a drop-in replacement for the LaTeX builder (the\n``latex_documents`` configuration variable has to be set). Simply select the\n`rinoh` builder when building the Sphinx project::\n\n    sphinx-build -b rinoh . _build/rinoh\n\n\nContributing\n------------\n\nSee ``CONTRIBUTING.rst`` and ``DEVELOPING.rst``\n\n\nLicense\n-------\n\nAll of rinohtype's source code is licensed under the `Affero GPL 3.0`_, unless\nindicated otherwise in the source file (such as ``hyphenator.py`` and\n``purepng.py``).\n\nThe Affero GPL requires for software that builds on rinohtype to also be\nreleased as open source under this license. For building closed-source\napplications, you can obtain a `commercial license`_. The author of rinohtype\nis also available for consultancy projects involving rinohtype.\n\n.. _Affero GPL 3.0: https://www.gnu.org/licenses/agpl-3.0.html\n.. _commercial license: `contact me`_\n",
    "bugtrack_url": null,
    "license": "AGPL-3.0-only",
    "summary": "The Python document processor",
    "version": "0.5.4",
    "project_urls": {
        "Bug Tracker": "https://github.com/brechtm/rinohtype/issues",
        "Changelog": "http://www.mos6581.org/rinohtype/master/changelog.html",
        "Documentation": "http://www.mos6581.org/rinohtype/master",
        "Homepage": "https://github.com/brechtm/rinohtype",
        "Repository": "https://github.com/brechtm/rinohtype"
    },
    "split_keywords": [
        "typesetting",
        "rst",
        "pdf",
        "opentype"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "63a7e778da6d79a142d3ee2723ac088c88f4e0580cc1742db8ddda2ad44f8b83",
                "md5": "3fbc78309a9e350ab804a35d61326259",
                "sha256": "3c6dc2a7d47fcd9dd99da13cc3ebc06dab2af94f28b04cf16c5d62c3035f188a"
            },
            "downloads": -1,
            "filename": "rinohtype-0.5.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "3fbc78309a9e350ab804a35d61326259",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7.0,<4.0.0",
            "size": 609590,
            "upload_time": "2022-06-17T22:28:14",
            "upload_time_iso_8601": "2022-06-17T22:28:14.054766Z",
            "url": "https://files.pythonhosted.org/packages/63/a7/e778da6d79a142d3ee2723ac088c88f4e0580cc1742db8ddda2ad44f8b83/rinohtype-0.5.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "6a3565d4ac8b404fb0cf8cf640da504fad819f4e1951abc3b85511de62ffff2a",
                "md5": "5f399c73b1643e5970c5633e03e32785",
                "sha256": "3869229b498dd64dce3a196ed39583ee3771e21accddd67e80ae19a41a52c3ca"
            },
            "downloads": -1,
            "filename": "rinohtype-0.5.4.tar.gz",
            "has_sig": false,
            "md5_digest": "5f399c73b1643e5970c5633e03e32785",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7.0,<4.0.0",
            "size": 3454382,
            "upload_time": "2022-06-17T22:28:16",
            "upload_time_iso_8601": "2022-06-17T22:28:16.254417Z",
            "url": "https://files.pythonhosted.org/packages/6a/35/65d4ac8b404fb0cf8cf640da504fad819f4e1951abc3b85511de62ffff2a/rinohtype-0.5.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2022-06-17 22:28:16",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "brechtm",
    "github_project": "rinohtype",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "lcname": "rinohtype"
}
        
Elapsed time: 0.06567s