This module provides a wrapper around various text markup languages.
Available by default are Markdown, reStructuredText, Textile and AsciiDoc, but you can easily add your own markups.
To install Markups from PyPI, specify the list of markups you want to include, e.g.:
pip install Markups[markdown,restructuredtext]
Usage example:
>>> import markups
>>> markup = markups.get_markup_for_file_name("myfile.rst")
>>> markup.name
'reStructuredText'
>>> markup.attributes[markups.common.SYNTAX_DOCUMENTATION]
'https://docutils.sourceforge.io/docs/ref/rst/restructuredtext.html'
>>> text = """
... Hello, world!
... =============
...
... This is an example **reStructuredText** document.
... """
>>> result = markup.convert(text)
>>> result.get_document_title()
'Hello, world!'
>>> print(result.get_document_body()) # doctest: +NORMALIZE_WHITESPACE
<main id="hello-world">
<h1 class="title" data-posmap="3">Hello, world!</h1>
<p data-posmap="5">This is an example <strong>reStructuredText</strong> document.</p>
</main>
The source code is hosted on GitHub.
The documentation is available online or can be generated from source by installing Sphinx and running:
python3 -m sphinx docs build/sphinx/html