Skip to main content

A collection of template filters that implement common markup languages.

Project description

=====================
Django MarkWhat
=====================

.. image:: https://travis-ci.org/Alir3z4/django-markwhat.svg?branch=master
:target: https://travis-ci.org/Alir3z4/django-markwhat


.. contents:: Table of contents

.. note::

Extracted from `Django 1.4 since markup deprecation <https://docs.djangoproject.com/en/dev/releases/1.5/#django-contrib-markup>`_

------

A collection of template filters that implement common markup languages.

provides template filters that implement the following markup
languages:

* ``textile`` -- implements `Textile`_ -- requires `PyTextile`_
* ``markdown`` -- implements `Markdown`_ -- requires `Python-markdown`_
* ``commonmark`` -- implements `CommonMark`_ -- requires `CommonMark-py`_
* ``reStructuredText`` -- implements `reST (reStructuredText)`_
-- requires `docutils`_

In each case, the filter expects formatted markup as a string and
returns a string representing the marked-up text. For example, the
``textile`` filter converts text that is marked-up in Textile format
to HTML.


Supported Python versions
=========================

``django-crequest`` currently can be run on multiple python versions:

* Python 2 (2.7)
* Python 3 (3.4, 3.5, 3.6)
* PyPy



Installation
------------
``django-markwhat`` is available on pypi:

http://pypi.python.org/pypi/django-markwhat

So easily install it by ``pip``:
::

pip install django-markwhat

Or by ``easy_install``
::

$ easy_install django-markwhat

Another way is by cloning ``django-markwhat``'s `git repo <https://github.com/Alir3z4/django-markwhat>`_ :::

git clone git://github.com/Alir3z4/django-markwhat.git

Then install it by running:
::

$ python setup.py install

Configuration
******************

To activate these filters, add ``'django_markwhat'`` to your
``INSTALLED_APPS`` setting. Once you've done that, use
``{% load markup %}`` in a template, and you'll have access to these filters.

.. warning::

The output of markup filters is marked "safe" and will not be escaped when
rendered in a template. Always be careful to sanitize your inputs and make
sure you are not leaving yourself vulnerable to cross-site scripting or
other types of attacks.

.. _Textile: http://en.wikipedia.org/wiki/Textile_%28markup_language%29
.. _Markdown: http://en.wikipedia.org/wiki/Markdown
.. _CommonMark: http://commonmark.org
.. _CommonMark-py: https://pypi-hypernode.com/pypi/CommonMark
.. _reST (reStructured Text): http://en.wikipedia.org/wiki/reStructuredText
.. _PyTextile: http://loopcore.com/python-textile/
.. _Python-markdown: http://pypi.python.org/pypi/Markdown
.. _docutils: http://docutils.sf.net/

reStructuredText
----------------

When using the ``reStructuredText`` markup filter you can define a
`RESTRUCTUREDTEXT_FILTER_SETTINGS` in your django settings to
override the default writer settings. See the `reStructuredText writer
settings`_ for details on what these settings are.

.. warning::

reStructuredText has features that allow raw HTML to be included, and that
allow arbitrary files to be included. These can lead to XSS vulnerabilities
and leaking of private information. It is your responsibility to check the
features of this library and configure appropriately to avoid this. See the
`Deploying Docutils Securely
<http://docutils.sourceforge.net/docs/howto/security.html>`_ documentation.

.. _reStructuredText writer settings: http://docutils.sourceforge.net/docs/user/config.html#html4css1-writer

Markdown
--------

The Python Markdown library supports options named "safe_mode" and
"enable_attributes". Both relate to the security of the output. To enable both
options in tandem, the markdown filter supports the "safe" argument.
::

{{ markdown_content_var|markdown:"safe" }}

.. warning::

Versions of the Python-Markdown library prior to 2.1 do not support the
optional disabling of attributes and by default

Tests
-----

``django-markwhat`` is tested on both `python2` and `python3`, to run the tests:

::

$ python run_tests.py

Project details


Download files

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

Source Distribution

django-markwhat-1.6.0.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

django_markwhat-1.6.0-py2.py3-none-any.whl (10.9 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file django-markwhat-1.6.0.tar.gz.

File metadata

File hashes

Hashes for django-markwhat-1.6.0.tar.gz
Algorithm Hash digest
SHA256 6b0f6861727a5c3997485c95c01a51d3a316bfcaebfc67406196da1527c1da19
MD5 d91ba0a65d9c9a32a25a73ac6da8ac7d
BLAKE2b-256 3e231864c06c805df63b28e6b86d2e07be340b320d9574733150679690b9c0aa

See more details on using hashes here.

Provenance

File details

Details for the file django_markwhat-1.6.0-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for django_markwhat-1.6.0-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 a8b27379e52059256f4a4b670030861f82e48872d54db5c9e4389af0e0902bf0
MD5 a16650b247e836fd51412ec8610b5be5
BLAKE2b-256 ae09c4d02afb709f3dfa093cfdc64f80172cc99a5684631633909093218cd5f8

See more details on using hashes here.

Provenance

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