stream-markdown-parser 0.0.36 → 0.0.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +142 -57
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
package/dist/index.d.ts
CHANGED
|
@@ -70,6 +70,7 @@ interface HtmlBlockNode extends BaseNode {
|
|
|
70
70
|
}
|
|
71
71
|
interface HtmlInlineNode extends BaseNode {
|
|
72
72
|
type: 'html_inline';
|
|
73
|
+
tag?: string;
|
|
73
74
|
content: string;
|
|
74
75
|
children: ParsedNode[];
|
|
75
76
|
}
|
|
@@ -232,7 +233,7 @@ type MarkdownToken = (Token & {
|
|
|
232
233
|
loading?: boolean;
|
|
233
234
|
raw?: string;
|
|
234
235
|
}) | MarkdownTokenLite;
|
|
235
|
-
type ParsedNode = TextNode | HeadingNode | ParagraphNode | ListNode | ListItemNode | CodeBlockNode | InlineCodeNode | LinkNode | ImageNode | ThematicBreakNode | BlockquoteNode | TableNode | TableRowNode | TableCellNode | StrongNode | EmphasisNode | StrikethroughNode | HighlightNode | InsertNode | SubscriptNode | SuperscriptNode | CheckboxNode | CheckboxInputNode | EmojiNode | DefinitionListNode | DefinitionItemNode | FootnoteNode | FootnoteReferenceNode | AdmonitionNode | HardBreakNode | MathInlineNode | MathBlockNode | ReferenceNode | HtmlBlockNode | Record<string, unknown>;
|
|
236
|
+
type ParsedNode = TextNode | HeadingNode | ParagraphNode | ListNode | ListItemNode | CodeBlockNode | InlineCodeNode | LinkNode | ImageNode | ThematicBreakNode | BlockquoteNode | TableNode | TableRowNode | TableCellNode | StrongNode | EmphasisNode | StrikethroughNode | HighlightNode | InsertNode | SubscriptNode | SuperscriptNode | CheckboxNode | CheckboxInputNode | EmojiNode | DefinitionListNode | DefinitionItemNode | FootnoteNode | FootnoteReferenceNode | AdmonitionNode | HardBreakNode | MathInlineNode | MathBlockNode | ReferenceNode | HtmlBlockNode | HtmlInlineNode | Record<string, unknown>;
|
|
236
237
|
interface CustomComponents {
|
|
237
238
|
text: unknown;
|
|
238
239
|
paragraph: unknown;
|
|
@@ -261,6 +262,7 @@ interface CustomComponents {
|
|
|
261
262
|
emoji: unknown;
|
|
262
263
|
checkbox: unknown;
|
|
263
264
|
inline_code: unknown;
|
|
265
|
+
html_inline: unknown;
|
|
264
266
|
reference: unknown;
|
|
265
267
|
mermaid: unknown;
|
|
266
268
|
[key: string]: unknown;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/factory.ts","../src/types.ts","../src/parser/inline-parsers/index.ts","../src/parser/index.ts","../src/config.ts","../src/findMatchingClose.ts","../src/parser/inline-parsers/fence-parser.ts","../src/plugins/containers.ts","../src/plugins/isMathLike.ts","../src/plugins/math.ts","../src/index.ts"],"sourcesContent":[],"mappings":";;;UAYiB,cAAA,SAAuB;sBAClB;;EADL,gBAAA,CAAe,EAAA,OAAA;;;;ECVf,CAAA;AAQjB;;;UARiB,QAAA;;EDUA,GAAA,EAAA,MAAA;;;;ACVjB;AAQiB,UAAA,QAAA,SAAiB,QAAQ,CAAA;EAMzB,IAAA,EAAA,MAAA;EAOA,OAAA,EAAA,MAAA;EAMA,MAAA,CAAA,EAAA,OAAW;AAM5B;AAQiB,UA3BA,WAAA,SAAoB,QA2BC,CAAA;EAKrB,IAAA,EAAA,SAAA;EAiBA,KAAA,EAAA,MAAA;EAOA,IAAA,EAAA,MAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":[],"sources":["../src/factory.ts","../src/types.ts","../src/parser/inline-parsers/index.ts","../src/parser/index.ts","../src/config.ts","../src/findMatchingClose.ts","../src/parser/inline-parsers/fence-parser.ts","../src/plugins/containers.ts","../src/plugins/isMathLike.ts","../src/plugins/math.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -6804,7 +6804,7 @@ function applyContainers(md) {
|
|
|
6804
6804
|
|
|
6805
6805
|
//#endregion
|
|
6806
6806
|
//#region src/plugins/fixHtmlInline.ts
|
|
6807
|
-
const VOID_TAGS$
|
|
6807
|
+
const VOID_TAGS$2 = new Set([
|
|
6808
6808
|
"area",
|
|
6809
6809
|
"base",
|
|
6810
6810
|
"br",
|
|
@@ -6838,14 +6838,14 @@ function applyFixHtmlInlineTokens(md) {
|
|
|
6838
6838
|
continue;
|
|
6839
6839
|
}
|
|
6840
6840
|
const content = t.content || "";
|
|
6841
|
-
const isClosingTag = new RegExp(`<\\s*\\/\\s*${tagStack[tagStack.length - 1][0]}\\s*>`, "i").test(content);
|
|
6841
|
+
const isClosingTag$1 = new RegExp(`<\\s*\\/\\s*${tagStack[tagStack.length - 1][0]}\\s*>`, "i").test(content);
|
|
6842
6842
|
if (content) {
|
|
6843
6843
|
const [, openIndex] = tagStack[tagStack.length - 1];
|
|
6844
6844
|
const openToken = toks[openIndex];
|
|
6845
6845
|
openToken.content = `${openToken.content || ""}\n${content}`;
|
|
6846
|
-
if (openToken.loading !== false) openToken.loading = !isClosingTag;
|
|
6846
|
+
if (openToken.loading !== false) openToken.loading = !isClosingTag$1;
|
|
6847
6847
|
}
|
|
6848
|
-
if (isClosingTag) tagStack.pop();
|
|
6848
|
+
if (isClosingTag$1) tagStack.pop();
|
|
6849
6849
|
toks.splice(i, 1);
|
|
6850
6850
|
i--;
|
|
6851
6851
|
} else continue;
|
|
@@ -6930,7 +6930,7 @@ function applyFixHtmlInlineTokens(md) {
|
|
|
6930
6930
|
const raw = String(t.content);
|
|
6931
6931
|
const tagName = raw.match(/<([^\s>/]+)/)?.[1]?.toLowerCase() ?? "";
|
|
6932
6932
|
if (!tagName) continue;
|
|
6933
|
-
const isVoid = /\/\s*>\s*$/.test(raw) || VOID_TAGS$
|
|
6933
|
+
const isVoid = /\/\s*>\s*$/.test(raw) || VOID_TAGS$2.has(tagName);
|
|
6934
6934
|
const htmlToken = t;
|
|
6935
6935
|
if (isVoid) {
|
|
6936
6936
|
htmlToken.children = [{
|
|
@@ -8426,65 +8426,150 @@ function parseHighlightToken(tokens, startIndex, options) {
|
|
|
8426
8426
|
|
|
8427
8427
|
//#endregion
|
|
8428
8428
|
//#region src/parser/inline-parsers/html-inline-code-parser.ts
|
|
8429
|
-
|
|
8430
|
-
|
|
8431
|
-
|
|
8432
|
-
|
|
8433
|
-
|
|
8434
|
-
|
|
8435
|
-
|
|
8436
|
-
|
|
8437
|
-
|
|
8429
|
+
const VOID_TAGS$1 = new Set([
|
|
8430
|
+
"area",
|
|
8431
|
+
"base",
|
|
8432
|
+
"br",
|
|
8433
|
+
"col",
|
|
8434
|
+
"embed",
|
|
8435
|
+
"hr",
|
|
8436
|
+
"img",
|
|
8437
|
+
"input",
|
|
8438
|
+
"link",
|
|
8439
|
+
"meta",
|
|
8440
|
+
"param",
|
|
8441
|
+
"source",
|
|
8442
|
+
"track",
|
|
8443
|
+
"wbr"
|
|
8444
|
+
]);
|
|
8445
|
+
function getTagName(html) {
|
|
8446
|
+
const match = html.match(/^<\s*(?:\/\s*)?([\w-]+)/);
|
|
8447
|
+
return match ? match[1].toLowerCase() : "";
|
|
8448
|
+
}
|
|
8449
|
+
function isClosingTag(html) {
|
|
8450
|
+
return /^<\s*\//.test(html);
|
|
8451
|
+
}
|
|
8452
|
+
function isSelfClosing(tag, html) {
|
|
8453
|
+
return /\/\s*>\s*$/.test(html) || VOID_TAGS$1.has(tag);
|
|
8454
|
+
}
|
|
8455
|
+
function tokenToRaw(token) {
|
|
8456
|
+
const shape = token;
|
|
8457
|
+
const raw = shape.raw ?? shape.content ?? shape.markup ?? "";
|
|
8458
|
+
return String(raw ?? "");
|
|
8459
|
+
}
|
|
8460
|
+
function stringifyTokens(tokens) {
|
|
8461
|
+
return tokens.map(tokenToRaw).join("");
|
|
8462
|
+
}
|
|
8463
|
+
function findMatchingClosing(tokens, startIndex, tag) {
|
|
8464
|
+
let depth = 0;
|
|
8465
|
+
for (let idx = startIndex; idx < tokens.length; idx++) {
|
|
8466
|
+
const t = tokens[idx];
|
|
8467
|
+
if (t.type !== "html_inline") continue;
|
|
8468
|
+
const content = String(t.content ?? "");
|
|
8469
|
+
const tTag = getTagName(content);
|
|
8470
|
+
const closing = isClosingTag(content);
|
|
8471
|
+
const selfClosing = isSelfClosing(tTag, content);
|
|
8472
|
+
if (!closing && !selfClosing && tTag === tag) {
|
|
8473
|
+
depth++;
|
|
8474
|
+
continue;
|
|
8475
|
+
}
|
|
8476
|
+
if (closing && tTag === tag) {
|
|
8477
|
+
if (depth === 0) return idx;
|
|
8478
|
+
depth--;
|
|
8479
|
+
}
|
|
8438
8480
|
}
|
|
8481
|
+
return -1;
|
|
8482
|
+
}
|
|
8483
|
+
function collectHtmlFragment(tokens, startIndex, tag) {
|
|
8484
|
+
const fragmentTokens = [tokens[startIndex]];
|
|
8485
|
+
let innerTokens = [];
|
|
8486
|
+
let nextIndex = startIndex + 1;
|
|
8487
|
+
let closed = false;
|
|
8488
|
+
const closingIndex = tag ? findMatchingClosing(tokens, startIndex + 1, tag) : -1;
|
|
8489
|
+
if (closingIndex !== -1) {
|
|
8490
|
+
innerTokens = tokens.slice(startIndex + 1, closingIndex);
|
|
8491
|
+
fragmentTokens.push(...innerTokens, tokens[closingIndex]);
|
|
8492
|
+
nextIndex = closingIndex + 1;
|
|
8493
|
+
closed = true;
|
|
8494
|
+
} else if (tokens[startIndex + 1]?.type === "text") {
|
|
8495
|
+
innerTokens = [tokens[startIndex + 1]];
|
|
8496
|
+
fragmentTokens.push(tokens[startIndex + 1]);
|
|
8497
|
+
nextIndex = startIndex + 2;
|
|
8498
|
+
}
|
|
8499
|
+
return {
|
|
8500
|
+
closed,
|
|
8501
|
+
html: stringifyTokens(fragmentTokens),
|
|
8502
|
+
innerTokens,
|
|
8503
|
+
nextIndex
|
|
8504
|
+
};
|
|
8505
|
+
}
|
|
8506
|
+
function parseHtmlInlineCodeToken(token, tokens, i, parseInlineTokens$1, raw, pPreToken, options) {
|
|
8507
|
+
const code$1 = String(token.content ?? "");
|
|
8508
|
+
const tag = getTagName(code$1);
|
|
8509
|
+
if (!tag) return [{
|
|
8510
|
+
type: "inline_code",
|
|
8511
|
+
code: code$1,
|
|
8512
|
+
raw: code$1
|
|
8513
|
+
}, i + 1];
|
|
8439
8514
|
if (tag === "br") return [{
|
|
8440
8515
|
type: "hardbreak",
|
|
8441
8516
|
raw: code$1
|
|
8442
8517
|
}, i + 1];
|
|
8518
|
+
const closing = isClosingTag(code$1);
|
|
8519
|
+
const selfClosing = isSelfClosing(tag, code$1);
|
|
8520
|
+
if (closing) return [{
|
|
8521
|
+
type: "html_inline",
|
|
8522
|
+
tag,
|
|
8523
|
+
content: code$1,
|
|
8524
|
+
children: [],
|
|
8525
|
+
raw: code$1,
|
|
8526
|
+
loading: false
|
|
8527
|
+
}, i + 1];
|
|
8443
8528
|
if (tag === "a") {
|
|
8444
|
-
|
|
8445
|
-
|
|
8446
|
-
|
|
8447
|
-
|
|
8448
|
-
|
|
8449
|
-
|
|
8450
|
-
|
|
8451
|
-
|
|
8452
|
-
|
|
8453
|
-
|
|
8454
|
-
|
|
8455
|
-
const inner = code$1 || href || "";
|
|
8456
|
-
return [{
|
|
8457
|
-
type: "link",
|
|
8458
|
-
href: String(href ?? ""),
|
|
8459
|
-
title: null,
|
|
8460
|
-
text: code$1,
|
|
8461
|
-
children: [{
|
|
8462
|
-
type: "text",
|
|
8463
|
-
content: inner,
|
|
8464
|
-
raw: inner
|
|
8465
|
-
}],
|
|
8466
|
-
loading,
|
|
8467
|
-
raw: code$1
|
|
8468
|
-
}, index];
|
|
8469
|
-
}
|
|
8470
|
-
}
|
|
8471
|
-
if (tag === "p" || tag === "div") {
|
|
8472
|
-
const inner = extractInner(code$1) || "";
|
|
8529
|
+
const fragment$1 = collectHtmlFragment(tokens, i, tag);
|
|
8530
|
+
const innerTokens = fragment$1.innerTokens;
|
|
8531
|
+
const hrefMatch = code$1.match(/href\s*=\s*"([^"]+)"|href\s*=\s*'([^']+)'|href\s*=\s*([^\s>]+)/i);
|
|
8532
|
+
const href = hrefMatch ? hrefMatch[1] || hrefMatch[2] || hrefMatch[3] : "";
|
|
8533
|
+
const children$1 = innerTokens.length ? parseInlineTokens$1(innerTokens, raw, pPreToken, options) : [];
|
|
8534
|
+
const textContent = innerTokens.length ? stringifyTokens(innerTokens) : href || "";
|
|
8535
|
+
if (!children$1.length && textContent) children$1.push({
|
|
8536
|
+
type: "text",
|
|
8537
|
+
content: textContent,
|
|
8538
|
+
raw: textContent
|
|
8539
|
+
});
|
|
8473
8540
|
return [{
|
|
8474
|
-
type: "
|
|
8475
|
-
|
|
8476
|
-
|
|
8477
|
-
|
|
8478
|
-
|
|
8479
|
-
|
|
8480
|
-
raw: code$1
|
|
8481
|
-
},
|
|
8482
|
-
}
|
|
8483
|
-
return [{
|
|
8484
|
-
type: "
|
|
8485
|
-
|
|
8486
|
-
|
|
8541
|
+
type: "link",
|
|
8542
|
+
href: String(href ?? ""),
|
|
8543
|
+
title: null,
|
|
8544
|
+
text: textContent,
|
|
8545
|
+
children: children$1,
|
|
8546
|
+
loading: !fragment$1.closed,
|
|
8547
|
+
raw: fragment$1.html || code$1
|
|
8548
|
+
}, fragment$1.nextIndex];
|
|
8549
|
+
}
|
|
8550
|
+
if (selfClosing) return [{
|
|
8551
|
+
type: "html_inline",
|
|
8552
|
+
tag,
|
|
8553
|
+
content: code$1,
|
|
8554
|
+
children: [],
|
|
8555
|
+
raw: code$1,
|
|
8556
|
+
loading: false
|
|
8487
8557
|
}, i + 1];
|
|
8558
|
+
const fragment = collectHtmlFragment(tokens, i, tag);
|
|
8559
|
+
if (tag === "p" || tag === "div") return [{
|
|
8560
|
+
type: "paragraph",
|
|
8561
|
+
children: fragment.innerTokens.length ? parseInlineTokens$1(fragment.innerTokens, raw, pPreToken, options) : [],
|
|
8562
|
+
raw: fragment.html
|
|
8563
|
+
}, fragment.nextIndex];
|
|
8564
|
+
const children = fragment.innerTokens.length ? parseInlineTokens$1(fragment.innerTokens, raw, pPreToken, options) : [];
|
|
8565
|
+
return [{
|
|
8566
|
+
type: "html_inline",
|
|
8567
|
+
tag,
|
|
8568
|
+
content: fragment.html || code$1,
|
|
8569
|
+
children,
|
|
8570
|
+
raw: fragment.html || code$1,
|
|
8571
|
+
loading: !fragment.closed
|
|
8572
|
+
}, fragment.nextIndex];
|
|
8488
8573
|
}
|
|
8489
8574
|
|
|
8490
8575
|
//#endregion
|
|
@@ -9022,7 +9107,7 @@ function parseInlineTokens(tokens, raw, pPreToken, options) {
|
|
|
9022
9107
|
i++;
|
|
9023
9108
|
break;
|
|
9024
9109
|
case "html_inline": {
|
|
9025
|
-
const [node, index] = parseHtmlInlineCodeToken(token, tokens, i);
|
|
9110
|
+
const [node, index] = parseHtmlInlineCodeToken(token, tokens, i, parseInlineTokens, raw, pPreToken, options);
|
|
9026
9111
|
pushNode(node);
|
|
9027
9112
|
i = index;
|
|
9028
9113
|
break;
|