Commonmark support for Wagtail
Tired of annoying rich text editors getting in the way of your content
input? Wish Wagtail worked more like a wiki? Well, now it can.
wagtail-commonmark
provides CommonMark field support for Wagtail.
Specifically, it provides:
wagtailcommonmark.blocks.CommonMarkBlock
for use in streamfields.wagtailcommonmark.fields.CommonMarkField
for use in page models.wagtailcommonmark.edit_handlers.CommonMarkPanel
for use in the editor interface.wagtailcommonmark.jinja2tags.commonmark
extension for use in jinja2 templates.commonmark
template tag.Alpha release is available on Pypi - https://pypi.org/project/wagtail-commonmark/ - installable via pip install wagtail-commonmark
.
Add it to INSTALLED_APPS
:
INSTALLED_APPS += [
'wagtailcommonmark',
]
Use it as a StreamField
block:
from wagtailcommonmark.blocks import CommonMarkBlock
class MyStreamBlock(StreamBlock):
markdown = CommonMarkBlock(icon="code")
Or use as a page field:
from wagtailcommonmark.edit_handlers import CommonMarkPanel
from wagtailcommonmark.fields import CommonMarkField
class MyPage(Page):
body = CommonMarkField()
content_panels = [
FieldPanel("title", classname="full title"),
CommonMarkPanel("body"),
]
And render the content in a template:
{% load wagtailcommonmark %}
<article>
{{ self.body|commonmark }}
</article>