##// END OF EJS Templates
Add 'mistune' markdown parser as an option for markdown2html
Thomas Kluyver -
Show More
@@ -21,6 +21,11 b' import subprocess'
21 import warnings
21 import warnings
22 from io import TextIOWrapper, BytesIO
22 from io import TextIOWrapper, BytesIO
23
23
24 try:
25 import mistune
26 except ImportError:
27 mistune = None
28
24 # IPython imports
29 # IPython imports
25 from IPython.nbconvert.utils.pandoc import pandoc
30 from IPython.nbconvert.utils.pandoc import pandoc
26 from IPython.nbconvert.utils.exceptions import ConversionException
31 from IPython.nbconvert.utils.exceptions import ConversionException
@@ -38,6 +43,7 b' __all__ = ['
38 'markdown2html',
43 'markdown2html',
39 'markdown2html_pandoc',
44 'markdown2html_pandoc',
40 'markdown2html_marked',
45 'markdown2html_marked',
46 'markdown2html_mistune',
41 'markdown2latex',
47 'markdown2latex',
42 'markdown2rst',
48 'markdown2rst',
43 ]
49 ]
@@ -79,9 +85,14 b' def markdown2html(source):'
79 _node = False
85 _node = False
80 if _node:
86 if _node:
81 return markdown2html_marked(source)
87 return markdown2html_marked(source)
88 if mistune is not None:
89 return markdown2html_mistune(source)
82 else:
90 else:
83 return markdown2html_pandoc(source)
91 return markdown2html_pandoc(source)
84
92
93 def markdown2html_mistune(source):
94 return mistune.markdown(source)
95
85 def markdown2html_pandoc(source):
96 def markdown2html_pandoc(source):
86 """Convert a markdown string to HTML via pandoc"""
97 """Convert a markdown string to HTML via pandoc"""
87 return pandoc(source, 'markdown', 'html', extra_args=['--mathjax'])
98 return pandoc(source, 'markdown', 'html', extra_args=['--mathjax'])
General Comments 0
You need to be logged in to leave comments. Login now