refactor: avoid parsing document twice for figure numbers

This commit is contained in:
Tim Grelka
2026-06-24 16:18:39 +02:00
parent c15b3f709b
commit f6ceb4cf49
32 changed files with 263 additions and 349 deletions
+11 -10
View File
@@ -3,15 +3,16 @@ from mistletoe.block_token import BlockToken
class ReferencedToken(BlockToken):
line_number: int = -1
marker: str = None
label: str = None
def __init__(self, marker: str):
self.marker = marker
if marker not in mistletoe.token._root_node.references:
self.label = len(mistletoe.token._root_node.references) + 1
mistletoe.token._root_node.references[marker] = self.label
if marker != "":
self.marker = marker
references = mistletoe.token._root_node.references
if marker not in references:
label = str(len(references) + 1)
references[marker] = label
else:
label = references[marker]
self.label = label
else:
self.label = mistletoe._root_node.references[marker]
self.marker = None
self.label = None