File tree Expand file tree Collapse file tree 1 file changed +13
-1
lines changed Expand file tree Collapse file tree 1 file changed +13
-1
lines changed Original file line number Diff line number Diff line change 99
1010import markdown
1111from markdown import postprocessors
12+ from markdown import serializers
1213
1314import xml .etree .ElementTree as etree
1415
@@ -312,6 +313,17 @@ def _add_meta(self, element):
312313 element .remove (e )
313314 element .append (body )
314315
316+ def _tohtml (self , element ):
317+ # return etree.tostring(root, encoding="unicode", method="xml")
318+ # return etree.tostring(root, encoding="unicode", method="html")
319+ old_RE_AMP = serializers .RE_AMP
320+ try :
321+ serializers .RE_AMP = re .compile (r'&' )
322+ output = self ._markdown .serializer (root )
323+ finally :
324+ serializers .RE_AMP = old_RE_AMP
325+ return output
326+
315327 def run (self , text ):
316328 text = '<{tag}>{text}</{tag}>' .format (tag = self ._markdown .doc_tag , text = text )
317329 try :
@@ -328,7 +340,7 @@ def run(self, text):
328340 self ._iterate (root , self ._adjust_url )
329341 self ._add_meta (root )
330342
331- output = etree . tostring (root , encoding = "unicode" , method = "xml" )
343+ output = self . _tohtml (root )
332344 if self ._markdown .stripTopLevelTags :
333345 try :
334346 start = output .index ('<%s>' % self ._markdown .doc_tag ) + len (self ._markdown .doc_tag ) + 2
You can’t perform that action at this time.
0 commit comments