only escape HTML tags (#32)
diff --git a/migration/src/jira_util.py b/migration/src/jira_util.py
index 3cc916d..a3a34bf 100644
--- a/migration/src/jira_util.py
+++ b/migration/src/jira_util.py
@@ -10,7 +10,7 @@
from jira2markdown.markup.text_breaks import Ruler
from markup.lists import UnorderedTweakedList, OrderedTweakedList
-from markup.text_effects import EscapeHtml, TweakedBlockQuote, TweakedQuote, TweakedMonospaced
+from markup.text_effects import EscapeHtmlTag, TweakedBlockQuote, TweakedQuote, TweakedMonospaced
from markup.text_breaks import LongRuler
@@ -212,7 +212,7 @@
elements.replace(Quote, TweakedQuote)
elements.replace(Monospaced, TweakedMonospaced)
elements.insert_after(Ruler, LongRuler)
- elements.append(EscapeHtml)
+ elements.append(EscapeHtmlTag)
text = jira2markdown.convert(text, elements=elements)
# markup @ mentions with ``
diff --git a/migration/src/markup/text_effects.py b/migration/src/markup/text_effects.py
index 3a4e87a..a59636e 100644
--- a/migration/src/markup/text_effects.py
+++ b/migration/src/markup/text_effects.py
@@ -59,11 +59,11 @@
return QuotedString("{{", endQuoteChar="}}").setParseAction(self.action)
-class EscapeHtml(AbstractMarkup):
+class EscapeHtmlTag(AbstractMarkup):
"""
Escapes HTML characters that are not a part of any expression grammar
"""
@property
def expr(self) -> ParserElement:
- return Literal("<").setParseAction(replaceWith("<")) ^ Literal(">").setParseAction(replaceWith(">")) ^ Literal("&").setParseAction(replaceWith("&"))
+ return Literal("<").setParseAction(replaceWith("<")) + SkipTo(Literal(">")) + Literal(">").setParseAction(replaceWith(">"))