Filter¶
A filter is a simple class that takes a text input, transforms it and
returns the transformed text. New filters must abstract a base class MarkupFilter.
Let’s make an example that reads a text and converts it to uppercase:
from django_markup.filter import MarkupFilter
class UppercaseMarkupFilter(MarkupFilter):
title = 'Uppercase text'
def render(self, text, **kwargs):
return text.upper()
A filter must contain a render method that takes a variable text as it’s
first argument which holds the text to transform. Also it must accept a
**kwargs argument which is used for Overriding filter settings. At the end, the
render method returns the modified text.
Additionally the filter class should contain an attribute title which holds a
better human readable name for this filter.
Please have a look on the sourcecode of the bundled filters for better examples.
Adding filters to a formatter¶
See MarkupFormatter how to attach a filter to a formatter class.