|
|
@@ -632,14 +632,12 @@ class Tokenizer(object): |
|
|
|
else: |
|
|
|
self._emit_all(tag) |
|
|
|
|
|
|
|
def _emit_tag_open(self, tag, markup): |
|
|
|
"""Write the three tokens in a tag opening sequence.""" |
|
|
|
def _emit_style_tag(self, tag, markup, body): |
|
|
|
"""Write the body of a tag and the tokens that should surround it.""" |
|
|
|
self._emit(tokens.TagOpenOpen(wiki_markup=markup)) |
|
|
|
self._emit_text(tag) |
|
|
|
self._emit(tokens.TagCloseOpen()) |
|
|
|
|
|
|
|
def _emit_tag_close(self, tag): |
|
|
|
"""Write the three tokens in a tag closing sequence.""" |
|
|
|
self._emit_all(body) |
|
|
|
self._emit(tokens.TagOpenClose()) |
|
|
|
self._emit_text(tag) |
|
|
|
self._emit(tokens.TagCloseClose()) |
|
|
@@ -655,10 +653,7 @@ class Tokenizer(object): |
|
|
|
stack = self._parse(route.context | contexts.STYLE_SECOND_PASS) |
|
|
|
else: |
|
|
|
return self._emit_text("''") |
|
|
|
|
|
|
|
self._emit_tag_open("i", "''") |
|
|
|
self._emit_all(stack) |
|
|
|
self._emit_tag_close("i") |
|
|
|
self._emit_style_tag("i", "''", stack) |
|
|
|
|
|
|
|
def _parse_bold(self): |
|
|
|
"""Parse wiki-style bold.""" |
|
|
@@ -677,9 +672,7 @@ class Tokenizer(object): |
|
|
|
self._emit_text("'") |
|
|
|
self._parse_italics() |
|
|
|
else: |
|
|
|
self._emit_tag_open("b", "'''") |
|
|
|
self._emit_all(stack) |
|
|
|
self._emit_tag_close("b") |
|
|
|
self._emit_style_tag("b", "'''", stack) |
|
|
|
|
|
|
|
def _parse_italics_and_bold(self): |
|
|
|
"""Parse wiki-style italics and bold together (i.e., five ticks).""" |
|
|
@@ -700,16 +693,12 @@ class Tokenizer(object): |
|
|
|
except BadRoute: |
|
|
|
self._head = reset |
|
|
|
self._emit_text("'''") |
|
|
|
self._emit_tag_open("i", "''") |
|
|
|
self._emit_all(stack) |
|
|
|
self._emit_tag_close("i") |
|
|
|
self._emit_style_tag("i", "''", stack) |
|
|
|
else: |
|
|
|
self._emit_tag_open("b", "'''") |
|
|
|
self._emit_tag_open("i", "''") |
|
|
|
self._emit_all(stack) |
|
|
|
self._emit_tag_close("i") |
|
|
|
self._push() |
|
|
|
self._emit_style_tag("i", "''", stack) |
|
|
|
self._emit_all(stack2) |
|
|
|
self._emit_tag_close("b") |
|
|
|
self._emit_style_tag("b", "'''", self._pop()) |
|
|
|
else: |
|
|
|
reset = self._head |
|
|
|
try: |
|
|
@@ -717,16 +706,12 @@ class Tokenizer(object): |
|
|
|
except BadRoute: |
|
|
|
self._head = reset |
|
|
|
self._emit_text("''") |
|
|
|
self._emit_tag_open("b", "'''") |
|
|
|
self._emit_all(stack) |
|
|
|
self._emit_tag_close("b") |
|
|
|
self._emit_style_tag("b", "'''", stack) |
|
|
|
else: |
|
|
|
self._emit_tag_open("i", "''") |
|
|
|
self._emit_tag_open("b", "'''") |
|
|
|
self._emit_all(stack) |
|
|
|
self._emit_tag_close("b") |
|
|
|
self._push() |
|
|
|
self._emit_style_tag("b", "'''", stack) |
|
|
|
self._emit_all(stack2) |
|
|
|
self._emit_tag_close("i") |
|
|
|
self._emit_style_tag("i", "''", self._pop()) |
|
|
|
|
|
|
|
def _parse_style(self): |
|
|
|
"""Parse wiki-style formatting (``''``/``'''`` for italics/bold).""" |
|
|
|