Refactor Markdown->HTML5 helper function into format module.
Chris Pressey
6 years ago
0 | 0 |
from __future__ import absolute_import
|
1 | 1 |
|
2 | |
from feedmark.utils import items_in_priority_order
|
|
2 |
from feedmark.utils import items_in_priority_order, unicode
|
3 | 3 |
|
4 | 4 |
|
5 | 5 |
def markdown_to_html5(text, reference_links=None):
|
|
10 | 10 |
text += markdownize_reference_links(reference_links)
|
11 | 11 |
|
12 | 12 |
return markdown(text, extensions=['markdown.extensions.toc'])
|
|
13 |
|
|
14 |
|
|
15 |
def markdown_to_html5_deep(obj, **kwargs):
|
|
16 |
if obj is None:
|
|
17 |
return None
|
|
18 |
elif isinstance(obj, dict):
|
|
19 |
return dict((k, markdown_to_html5_deep(v, **kwargs)) for k, v in obj.items())
|
|
20 |
elif isinstance(obj, list):
|
|
21 |
return [markdown_to_html5_deep(subobj, **kwargs) for subobj in obj]
|
|
22 |
else:
|
|
23 |
return markdown_to_html5(unicode(obj), **kwargs)
|
13 | 24 |
|
14 | 25 |
|
15 | 26 |
def markdownize_properties(properties, property_priority_order):
|
3 | 3 |
from datetime import datetime
|
4 | 4 |
import re
|
5 | 5 |
|
6 | |
from feedmark.formats.markdown import markdown_to_html5
|
7 | |
from feedmark.utils import quote, unicode
|
8 | |
|
9 | |
|
10 | |
def markdown_to_html5_deep(obj, **kwargs):
|
11 | |
if obj is None:
|
12 | |
return None
|
13 | |
elif isinstance(obj, dict):
|
14 | |
return dict((k, markdown_to_html5_deep(v, **kwargs)) for k, v in obj.items())
|
15 | |
elif isinstance(obj, list):
|
16 | |
return [markdown_to_html5_deep(subobj, **kwargs) for subobj in obj]
|
17 | |
else:
|
18 | |
return markdown_to_html5(unicode(obj), **kwargs)
|
|
6 |
from feedmark.formats.markdown import markdown_to_html5, markdown_to_html5_deep
|
|
7 |
from feedmark.utils import quote
|
19 | 8 |
|
20 | 9 |
|
21 | 10 |
def rewrite_reference_links(refdex, reference_links):
|