X7ROOT File Manager
Current Path:
/opt/alt/python311/lib/python3.11/site-packages/markdown_it/rules_inline
opt
/
alt
/
python311
/
lib
/
python3.11
/
site-packages
/
markdown_it
/
rules_inline
/
📁
..
📄
__init__.py
(696 B)
📁
__pycache__
📄
autolink.py
(2.03 KB)
📄
backticks.py
(1.99 KB)
📄
balance_pairs.py
(4.74 KB)
📄
emphasis.py
(3.05 KB)
📄
entity.py
(1.61 KB)
📄
escape.py
(1.62 KB)
📄
fragments_join.py
(1.46 KB)
📄
html_inline.py
(1.1 KB)
📄
image.py
(4.04 KB)
📄
link.py
(4.22 KB)
📄
linkify.py
(1.66 KB)
📄
newline.py
(1.27 KB)
📄
state_inline.py
(4.98 KB)
📄
strikethrough.py
(3.14 KB)
📄
text.py
(901 B)
Editing: fragments_join.py
from .state_inline import StateInline def fragments_join(state: StateInline) -> None: """ Clean up tokens after emphasis and strikethrough postprocessing: merge adjacent text nodes into one and re-calculate all token levels This is necessary because initially emphasis delimiter markers (``*, _, ~``) are treated as their own separate text tokens. Then emphasis rule either leaves them as text (needed to merge with adjacent text) or turns them into opening/closing tags (which messes up levels inside). """ level = 0 maximum = len(state.tokens) curr = last = 0 while curr < maximum: # re-calculate levels after emphasis/strikethrough turns some text nodes # into opening/closing tags if state.tokens[curr].nesting < 0: level -= 1 # closing tag state.tokens[curr].level = level if state.tokens[curr].nesting > 0: level += 1 # opening tag if ( state.tokens[curr].type == "text" and curr + 1 < maximum and state.tokens[curr + 1].type == "text" ): # collapse two adjacent text nodes state.tokens[curr + 1].content = ( state.tokens[curr].content + state.tokens[curr + 1].content ) else: if curr != last: state.tokens[last] = state.tokens[curr] last += 1 curr += 1 if curr != last: del state.tokens[last:]
Upload File
Create Folder