by roundabout, Monday, 22 January 2024, 19:21:55 (1705951315), pushed by roundabout, Wednesday, 31 July 2024, 06:54:41 (1722408881)
Author identity: vlad <vlad.muntoiu@gmail.com>
20d2cd4a53387705cc43896fa70aeaadc742bdeb
markdown.py
@@ -54,14 +54,13 @@ class Paragraph(Element):
class Emphasis(Element):
def __init__(self, content, bold, italic):
def __init__(self, content, value):
super().__init__()
self.content = content
self.bold = bold
self.italic = italic
self.value = value
def __repr__(self):
return f"Emphasis (bold {self.bold}, italic {self.italic}):\n\t" + self.content
return f"Emphasis ({self.value}): " + self.content
def _parseLine(source):
@@ -69,7 +68,24 @@ def _parseLine(source):
source = source.rstrip("\\")
source += "\n"
tokens = [source]
tokens = []
pattern = re.compile(inlineRegex, re.MULTILINE | re.DOTALL | re.VERBOSE)
matches = pattern.finditer(source)
lookup = 0
for i in matches:
l = i.start()
r = i.end()
tokens.append(source[lookup:l])
lookup = r
if i.group("em"):
tokens.append(Emphasis(i.group("textEm"), len(i.group("em"))))
tokens.append(source[lookup:])
return tokens
def _tokenise(source):
@@ -123,3 +139,4 @@ def parseMarkdown(source):
parseMarkdown("")
print(_parseLine("**bold** text"))