Skip to main content

Python wrapper for the MultiMarkdown library.

Project description

.. image:: https://img.shields.io/pypi/v/pymmd.svg
:target: https://pypi.python.org/pypi/pymmd/
:alt: Latest Version
.. image:: https://img.shields.io/pypi/dm/pymmd.svg
:target: https://pypi.python.org/pypi/pymmd/
:alt: Downloads
.. image:: https://img.shields.io/pypi/l/pymmd.svg
:target: https://pypi.python.org/pypi/pymmd/
:alt: License
.. image:: https://landscape.io/github/jasedit/pymmd/master/landscape.svg?style=flat
:target: https://landscape.io/github/jasedit/pymmd/master/
:alt: Code Health

pymmd
============

Python wrapper for `MultiMarkdown <https://github.com/fletcher/MultiMarkdown-5>`_, which converts MultiMarkdown flavored text into one of several outputs formats. This package directly wraps the reference implementation, and provides a simple interface to the library.

The `ctypes <https://docs.python.org/2/library/ctypes.html>`_ package is used to wrap libMultiMarkdown in a portable fashion.

Installation
=============

This package requires MultiMarkdown installed as a shared library in order to function. For Windows and macOS, the shared library is included in the distributed package.

This package can be installed via pypi:

.. code:: bash

pip install pymmd

For Linux users, the shared library can be installed by executing:

.. code:: bash

python -c "import pymmd; pymmd.build_mmd()"

Which will download, build, and install the required library within the package's directory. This may need to be run with `sudo` if the package is installed to a system-level site-packages directory.

Verifying the package is working as intended can be accomplished via a simple test command, which should print out the MultiMarkdown version in use:

.. code:: bash

python -c "import pymmd; print(pymmd.version())"

Examples
=============

Converting a string of MultiMarkdown directly to various outputs:

.. code:: python

import pymmd
# Generate string of MultiMarkdown text named data

html_output = pymmd.convert(data)
latex_output = pymmd.convert(data, fmt=pymmd.LATEX)

#Generate a snippet
html_snippet = pymmd.convert(data, ext=pymmd.SNIPPET)

Conversion can be performed with the `Transclusion <http://fletcher.github.io/MultiMarkdown-5/transclusion>`_ capabilities of MultiMarkdown, either by specifying the directory name:

.. code:: python
import pymmd

with open('./document.mmd') as fp:
src = fp.read()
output = pymmd.convert(src, dname='.')

Files can also be converted directly from file:

.. code:: python

import pymmd

#MMD file named data.mmd

html_output = pymmd.convert_from("./data.mmd")


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

pymmd-0.4.0-py3-none-win_amd64.whl (115.3 kB view hashes)

Uploaded Python 3 Windows x86-64

pymmd-0.4.0-py3-none-win32.whl (99.8 kB view hashes)

Uploaded Python 3 Windows x86

pymmd-0.4.0-py3-none-macosx_10_6_intel.whl (303.4 kB view hashes)

Uploaded Python 3 macOS 10.6+ intel

pymmd-0.4.0-py2.py3-none-any.whl (303.4 kB view hashes)

Uploaded Python 2 Python 3

pymmd-0.4.0-py2-none-win_amd64.whl (115.4 kB view hashes)

Uploaded Python 2 Windows x86-64

pymmd-0.4.0-py2-none-win32.whl (99.8 kB view hashes)

Uploaded Python 2 Windows x86

pymmd-0.4.0-py2-none-macosx_10_6_intel.whl (303.4 kB view hashes)

Uploaded Python 2 macOS 10.6+ intel

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page