roundabout,
created on Wednesday, 3 April 2024, 14:10:58 (1712153458),
received on Wednesday, 31 July 2024, 06:54:44 (1722408884)
Author identity: vlad <vlad.muntoiu@gmail.com>
dc5ebfe3d0e541bf80dc962218282fa02aca2357
markdown.py
@@ -10,11 +10,13 @@ def only_chars(string, chars):
inlineRegex = r"""
(?P<em>[*_]{1,7}) (?P<textEm>(?:\\[*]|[^*])*) (?P=em) # emphasis
(?P<imageFlag>!?) \[ (?P<urlText>[^\[\]]*) \] \((?P<urlDestination>[^\(\)]*)\) # hyperlink or media
|
[`] (?P<textCode>(?:\\[`]|[^`])*) [`] # inline code
(?P<em>\*{1,7}) (?P<textEm>(?:\\\*|[^*])*) (?P=em) # emphasis with * not requiring space on either side
|
(?P<imageFlag>!?) \[ (?P<urlText>[^\[\]]*) \] \((?P<urlDestination>[^\(\)]*)\) # hyperlink or media
(?:^|\s)(?P<em2>_{1,7}) (?P<textEm2>(?:\\.|[^*])*) (?P=em2)(?=\s|$) # emphasis with _ requiring space on at least one side
|
[`] (?P<textCode>(?:\\[`]|[^`])*) [`] # inline code
|
(?P<strike>~{2}) (?P<textStrike>(?:\\[~]|[^~])*) (~{2}) # strikethrough
|
@@ -272,6 +274,8 @@ def parse_line(source):
if i.group("em"):
tokens.append(Emphasis(i.group("textEm"), len(i.group("em"))))
if i.group("em2"):
tokens.append(Emphasis(i.group("textEm2"), len(i.group("em2"))))
if i.group("textCode"):
tokens.append(Code(i.group("textCode")))
if i.group("strike"):
@@ -449,7 +453,11 @@ if __name__ == '__main__':
with open("/home/vlad/roundabout/doc/changelog/0.1.0 (2024-03-31).md") as file:
# Generate an AST from a markdown file
ast = tokenise(
file.read()
"""
_test_
and this is another _test_ by the way
"""
)
# for i in ast:
# print(repr(i))