Update markdown
This commit is contained in:
parent
122c387420
commit
2a0276d0fd
1 changed files with 32 additions and 5 deletions
|
@ -6,6 +6,7 @@ from django.utils.html import escape
|
||||||
|
|
||||||
EXTENSIONS = [
|
EXTENSIONS = [
|
||||||
"pymdownx.magiclink",
|
"pymdownx.magiclink",
|
||||||
|
"pymdownx.betterem",
|
||||||
"pymdownx.details",
|
"pymdownx.details",
|
||||||
"pymdownx.emoji",
|
"pymdownx.emoji",
|
||||||
"pymdownx.inlinehilite",
|
"pymdownx.inlinehilite",
|
||||||
|
@ -16,12 +17,38 @@ EXTENSIONS = [
|
||||||
"markdown.extensions.def_list",
|
"markdown.extensions.def_list",
|
||||||
"markdown.extensions.tables",
|
"markdown.extensions.tables",
|
||||||
"markdown.extensions.admonition",
|
"markdown.extensions.admonition",
|
||||||
"pymdownx.arithmatex",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
ALLOWED_TAGS = bleach.sanitizer.ALLOWED_TAGS + ["img", "center", "iframe"]
|
ALLOWED_TAGS = bleach.sanitizer.ALLOWED_TAGS + [
|
||||||
|
"img",
|
||||||
|
"center",
|
||||||
|
"iframe",
|
||||||
|
"div",
|
||||||
|
"span",
|
||||||
|
"table",
|
||||||
|
"tr",
|
||||||
|
"td",
|
||||||
|
"th",
|
||||||
|
"tr",
|
||||||
|
"pre",
|
||||||
|
"code",
|
||||||
|
"p",
|
||||||
|
"hr",
|
||||||
|
"h1",
|
||||||
|
"h2",
|
||||||
|
"h3",
|
||||||
|
"h4",
|
||||||
|
"h5",
|
||||||
|
"h6",
|
||||||
|
"thead",
|
||||||
|
"tbody",
|
||||||
|
"sup",
|
||||||
|
"dl",
|
||||||
|
"dt",
|
||||||
|
"dd",
|
||||||
|
]
|
||||||
|
|
||||||
ALLOWED_ATTRS = ["src", "width", "height", "href"]
|
ALLOWED_ATTRS = ["src", "width", "height", "href", "class"]
|
||||||
|
|
||||||
|
|
||||||
@registry.filter
|
@registry.filter
|
||||||
|
@ -29,8 +56,8 @@ def markdown(value, hard_wrap=False):
|
||||||
extensions = EXTENSIONS
|
extensions = EXTENSIONS
|
||||||
if hard_wrap:
|
if hard_wrap:
|
||||||
extensions = EXTENSIONS + ["nl2br"]
|
extensions = EXTENSIONS + ["nl2br"]
|
||||||
html = bleach.clean(value, tags=ALLOWED_TAGS, attributes=ALLOWED_ATTRS)
|
html = _markdown.markdown(value, extensions=extensions)
|
||||||
html = _markdown.markdown(html, extensions=extensions)
|
html = bleach.clean(html, tags=ALLOWED_TAGS, attributes=ALLOWED_ATTRS)
|
||||||
if not html:
|
if not html:
|
||||||
html = escape(value)
|
html = escape(value)
|
||||||
return '<div class="md-typeset">%s</div>' % html
|
return '<div class="md-typeset">%s</div>' % html
|
||||||
|
|
Loading…
Reference in a new issue