Change the Markdown super and sub texts not to break the Ragots

Signed-off-by: Skia <skia@libskia.so>
This commit is contained in:
Skia 2017-06-10 21:39:56 +02:00
parent 58beb551e8
commit b4be40a3a7
2 changed files with 9 additions and 13 deletions

View File

@ -38,7 +38,7 @@ class SithRenderer(Renderer):
return """<sub>%s</sub>""" % text return """<sub>%s</sub>""" % text
def underline(self, text): def underline(self, text):
return """<span class="underline">%s</span>""" % text return """<u>%s</u>""" % text
def image(self, original_src, title, text): def image(self, original_src, title, text):
"""Rendering a image with title and text. """Rendering a image with title and text.
@ -87,15 +87,11 @@ class SithInlineGrammar(InlineGrammar):
underline = re.compile( underline = re.compile(
r'^_{2}([\s\S]+?)_{2}(?!_)' # __word__ r'^_{2}([\s\S]+?)_{2}(?!_)' # __word__
) )
exposant = re.compile( # FIXME Does not work for now exposant = re.compile(
r'^\^([\s\S]+?)\^' # ^text^ r'^<sup>([\s\S]+?)</sup>' # <sup>text</sup>
# r'|' # FIXME doesn't properly works like this
# r'^\^(\S+)' # ^word
) )
indice = re.compile( indice = re.compile(
r'^_([\s\S]+?)_' # _text_ (^` hack, because no other solution were found :/ this sadly prevent code in indices) r'^<sub>([\s\S]+?)</sub>' # <sub>text</sub>
# r'|' # FIXME doesn't properly works like this
# r'^_(\S+)' # _word
) )
class SithInlineLexer(InlineLexer): class SithInlineLexer(InlineLexer):
@ -103,7 +99,7 @@ class SithInlineLexer(InlineLexer):
default_rules = [ default_rules = [
'escape', 'escape',
'inline_html', # 'inline_html',
'autolink', 'autolink',
'url', 'url',
'footnote', 'footnote',

View File

@ -219,12 +219,12 @@ function add_syntax(e, choice) {
ta.selectionEnd = end + 2; ta.selectionEnd = end + 2;
break; break;
case "sub": case "sub":
ta.value = before + "_" + between + "_" + after; ta.value = before + "<sub>" + between + "</sub>" + after;
ta.selectionEnd = end + 1; ta.selectionEnd = end + 5;
break; break;
case "sup": case "sup":
ta.value = before + "^" + between + "^" + after; ta.value = before + "<sup>" + between + "</sup>" + after;
ta.selectionEnd = end + 1; ta.selectionEnd = end + 5;
break; break;
case "link": case "link":
if (between === "") { if (between === "") {