add our more liberal markdown parser to symposion
This commit is contained in:
parent
6cf7a62da1
commit
55ec9b745a
1 changed files with 17 additions and 0 deletions
17
symposion/markdown_parser.py
Normal file
17
symposion/markdown_parser.py
Normal file
|
@ -0,0 +1,17 @@
|
|||
import html5lib
|
||||
from html5lib import html5parser, sanitizer
|
||||
|
||||
import markdown
|
||||
|
||||
|
||||
def parse(text):
|
||||
|
||||
# First run through the Markdown parser
|
||||
text = markdown.markdown(text, extensions=["extra"], safe_mode=False)
|
||||
|
||||
# Sanitize using html5lib
|
||||
bits = []
|
||||
parser = html5parser.HTMLParser(tokenizer=sanitizer.HTMLSanitizer)
|
||||
for token in parser.parseFragment(text).childNodes:
|
||||
bits.append(token.toxml())
|
||||
return "".join(bits)
|
Loading…
Reference in a new issue