summaryrefslogtreecommitdiff
path: root/packages/markdown-it-14.1.0/lib/rules_inline/fragments_join.mjs
diff options
context:
space:
mode:
authoraltaf-creator <dev@altafcreator.com>2026-04-30 22:01:53 +0800
committeraltaf-creator <dev@altafcreator.com>2026-04-30 22:01:53 +0800
commitdb1c6676a13798ee57dbac429a1d5045b60356fb (patch)
tree5ff305c09686de50bbcac404c1954e42c26ba494 /packages/markdown-it-14.1.0/lib/rules_inline/fragments_join.mjs
parent97fa8f57fbefcbfa6b3e56c31a1e5b60ef1a9e37 (diff)
quite a big commit
Diffstat (limited to 'packages/markdown-it-14.1.0/lib/rules_inline/fragments_join.mjs')
-rw-r--r--packages/markdown-it-14.1.0/lib/rules_inline/fragments_join.mjs38
1 files changed, 0 insertions, 38 deletions
diff --git a/packages/markdown-it-14.1.0/lib/rules_inline/fragments_join.mjs b/packages/markdown-it-14.1.0/lib/rules_inline/fragments_join.mjs
deleted file mode 100644
index e89ef9e..0000000
--- a/packages/markdown-it-14.1.0/lib/rules_inline/fragments_join.mjs
+++ /dev/null
@@ -1,38 +0,0 @@
-// 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).
-//
-
-export default function fragments_join (state) {
- let curr, last
- let level = 0
- const tokens = state.tokens
- const max = state.tokens.length
-
- for (curr = last = 0; curr < max; curr++) {
- // re-calculate levels after emphasis/strikethrough turns some text nodes
- // into opening/closing tags
- if (tokens[curr].nesting < 0) level-- // closing tag
- tokens[curr].level = level
- if (tokens[curr].nesting > 0) level++ // opening tag
-
- if (tokens[curr].type === 'text' &&
- curr + 1 < max &&
- tokens[curr + 1].type === 'text') {
- // collapse two adjacent text nodes
- tokens[curr + 1].content = tokens[curr].content + tokens[curr + 1].content
- } else {
- if (curr !== last) { tokens[last] = tokens[curr] }
-
- last++
- }
- }
-
- if (curr !== last) {
- tokens.length = last
- }
-}