Metadata-Version: 2.0
Name: pymmd
Version: 0.2.2
Summary: Python wrapper for the MultiMarkdown library.
Home-page: https://github.com/jasedit/pymmd
Author: Jason Ziglar
Author-email: jasedit@gmail.com
License: MIT
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: Topic :: Text Processing :: Markup
Classifier: Topic :: Text Processing :: Filters
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 3

.. 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

  sudo python -c "import pymmd; pymmd.build_mmd('/usr/local/lib')"; sudo ldconfig

Which will install the required library and update the library cache to make it ready for operation.

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)

Files can also be converted directly, which enables the `Transclusion <http://fletcher.github.io/MultiMarkdown-5/transclusion>`_ capabilities of MultiMarkdown.

.. code:: python

  import pymmd

  #MMD file named data.mmd

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


