Escape right square brackets (#187)
This commit is contained in:
@@ -305,7 +305,7 @@ class MarkdownConverter(object):
|
|||||||
|
|
||||||
# escape special characters if we're not inside a preformatted or code element
|
# escape special characters if we're not inside a preformatted or code element
|
||||||
if '_noformat' not in parent_tags:
|
if '_noformat' not in parent_tags:
|
||||||
text = self.escape(text)
|
text = self.escape(text, parent_tags)
|
||||||
|
|
||||||
# remove leading whitespace at the start or just after a
|
# remove leading whitespace at the start or just after a
|
||||||
# block-level element; remove traliing whitespace at the end
|
# block-level element; remove traliing whitespace at the end
|
||||||
@@ -347,11 +347,11 @@ class MarkdownConverter(object):
|
|||||||
else:
|
else:
|
||||||
return True
|
return True
|
||||||
|
|
||||||
def escape(self, text):
|
def escape(self, text, parent_tags):
|
||||||
if not text:
|
if not text:
|
||||||
return ''
|
return ''
|
||||||
if self.options['escape_misc']:
|
if self.options['escape_misc']:
|
||||||
text = re.sub(r'([\\&<`[>~=+|])', r'\\\1', text)
|
text = re.sub(r'([]\\&<`[>~=+|])', r'\\\1', text)
|
||||||
# A sequence of one or more consecutive '-', preceded and
|
# A sequence of one or more consecutive '-', preceded and
|
||||||
# followed by whitespace or start/end of fragment, might
|
# followed by whitespace or start/end of fragment, might
|
||||||
# be confused with an underline of a header, or with a
|
# be confused with an underline of a header, or with a
|
||||||
|
|||||||
@@ -51,7 +51,9 @@ def test_misc():
|
|||||||
assert md('-y', escape_misc=True) == '-y'
|
assert md('-y', escape_misc=True) == '-y'
|
||||||
assert md('+ x\n+ y\n', escape_misc=True) == '\\+ x\n\\+ y\n'
|
assert md('+ x\n+ y\n', escape_misc=True) == '\\+ x\n\\+ y\n'
|
||||||
assert md('`x`', escape_misc=True) == r'\`x\`'
|
assert md('`x`', escape_misc=True) == r'\`x\`'
|
||||||
assert md('[text](link)', escape_misc=True) == r'\[text](link)'
|
assert md('[text](notalink)', escape_misc=True) == r'\[text\](notalink)'
|
||||||
|
assert md('<a href="link">text]</a>', escape_misc=True) == r'[text\]](link)'
|
||||||
|
assert md('<a href="link">[text]</a>', escape_misc=True) == r'[\[text\]](link)'
|
||||||
assert md('1. x', escape_misc=True) == r'1\. x'
|
assert md('1. x', escape_misc=True) == r'1\. x'
|
||||||
# assert md('1<span>.</span> x', escape_misc=True) == r'1\. x'
|
# assert md('1<span>.</span> x', escape_misc=True) == r'1\. x'
|
||||||
assert md('<span>1.</span> x', escape_misc=True) == r'1\. x'
|
assert md('<span>1.</span> x', escape_misc=True) == r'1\. x'
|
||||||
|
|||||||
Reference in New Issue
Block a user