Filters¶
By default, no transformations are applied to the content blocks - they’re just displayed as they were entered in the admin. Since you probably want to display HTML, you’ll probably want to set up a filter to apply before displaying content blocks, such as Markdown.
Specifying Filters¶
You can configure what filter is applied using the setting
TINYCONTENT_FILTER
, which should be set to a dotted path to a
function to call to filter the content (for example, to convert
Markdown to HTML).
Warning
If the given path is invalid, any use of tinycontent tags will
raise ImproperlyConfigured
. If this setting is not provided,
the content will be returned exactly as stored.
For example, if your project has a file called utils.py
, you might
have a function in it called tinycontent_transform
that would look
something like this:
def tinycontent_transform(content):
return do_something_to(content)
To get the tinycontent templates to use that function, in your
settings.py
file, you’d write something like:
TINYCONTENT_FILTER = 'myproj.utils.tinycontent_transform'
Chaining Filters¶
You can optionally set TINYCONTENT_FILTER
to a list of dotted
paths - filters will be applied in the order in which you provide
them.
For example, to use Markdown with tinycontent’s
built-in file support, you could set
TINYCONTENT_FILTER
like this:
TINYCONTENT_FILTER = [
'tinycontent.filters.md.markdown_filter',
'tinycontent.filters.builtin.uploaded_file_filter',
]
Built-in Filters¶
Markdown¶
django-tinycontent ships with a filter for Markdown. You can enable
this by setting TINYCONTENT_FILTER
like this:
TINYCONTENT_FILTER = 'tinycontent.filters.md.markdown_filter'
File-upload Handler¶
The file-upload filter replaces instances of @file:slug
(where
slug
is the slug of a TinyContentFileUpload) with the URL to the
file.
You can enable this filter by setting TINYCONTENT_FILTER
like
this:
TINYCONTENT_FILTER = 'tinycontent.filters.builtin.uploaded_file_filter'