stream-markdown-parser 0.0.49 → 0.0.51
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.map +1 -1
- package/dist/index.js +90 -13
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
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":"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
|
|
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
|
@@ -6752,7 +6752,7 @@ function applyContainers(md) {
|
|
|
6752
6752
|
const startPos = s.bMarks[startLine] + s.tShift[startLine];
|
|
6753
6753
|
const lineMax = s.eMarks[startLine];
|
|
6754
6754
|
const line = s.src.slice(startPos, lineMax);
|
|
6755
|
-
const nameMatch = line.match(/^:::\s*(
|
|
6755
|
+
const nameMatch = line.match(/^:::\s*([^\s{]+)/);
|
|
6756
6756
|
if (!nameMatch) return false;
|
|
6757
6757
|
const name = nameMatch[1];
|
|
6758
6758
|
if (!name.trim()) return false;
|
|
@@ -8506,6 +8506,9 @@ function applyMath(md, mathOpts) {
|
|
|
8506
8506
|
for (const [open, close] of delimiters) {
|
|
8507
8507
|
const src = s.src;
|
|
8508
8508
|
let foundAny = false;
|
|
8509
|
+
let lastIndex = -1;
|
|
8510
|
+
let lastSearchPos = -1;
|
|
8511
|
+
let stallCount = 0;
|
|
8509
8512
|
const pushText = (text$1) => {
|
|
8510
8513
|
if (text$1 === "undefined" || text$1 == null) text$1 = "";
|
|
8511
8514
|
if (text$1 === "\\") {
|
|
@@ -8531,6 +8534,17 @@ function applyMath(md, mathOpts) {
|
|
|
8531
8534
|
if (searchPos >= src.length) break;
|
|
8532
8535
|
const index = src.indexOf(open, searchPos);
|
|
8533
8536
|
if (index === -1) break;
|
|
8537
|
+
if (index === lastIndex && searchPos === lastSearchPos) {
|
|
8538
|
+
stallCount++;
|
|
8539
|
+
if (stallCount > 2) {
|
|
8540
|
+
searchPos = index + Math.max(1, open.length);
|
|
8541
|
+
continue;
|
|
8542
|
+
}
|
|
8543
|
+
} else {
|
|
8544
|
+
stallCount = 0;
|
|
8545
|
+
lastIndex = index;
|
|
8546
|
+
lastSearchPos = searchPos;
|
|
8547
|
+
}
|
|
8534
8548
|
if (index > 0) {
|
|
8535
8549
|
let i = index - 1;
|
|
8536
8550
|
while (i >= 0 && src[i] === " ") i--;
|
|
@@ -8621,14 +8635,11 @@ function applyMath(md, mathOpts) {
|
|
|
8621
8635
|
token.markup = open === "$$" ? "$$" : open === "\\(" ? "\\(\\)" : open === "$" ? "$" : "()";
|
|
8622
8636
|
token.raw = `${open}${content}${close}`;
|
|
8623
8637
|
token.loading = false;
|
|
8624
|
-
const
|
|
8625
|
-
const isBeforeClose = raw.startsWith(strongMarker);
|
|
8638
|
+
const isBeforeClose = src.slice(endIdx + close.length).startsWith(strongMarker);
|
|
8626
8639
|
if (isBeforeClose) s.push("strong_close", "", 0);
|
|
8627
|
-
|
|
8628
|
-
|
|
8629
|
-
|
|
8630
|
-
preMathPos = searchPos;
|
|
8631
|
-
}
|
|
8640
|
+
s.pos = endIdx + close.length;
|
|
8641
|
+
searchPos = s.pos;
|
|
8642
|
+
preMathPos = searchPos;
|
|
8632
8643
|
if (!isBeforeClose) s.push("strong_close", "", 0);
|
|
8633
8644
|
continue;
|
|
8634
8645
|
} else {
|
|
@@ -11048,14 +11059,73 @@ function parseParagraph(tokens, index, options) {
|
|
|
11048
11059
|
//#endregion
|
|
11049
11060
|
//#region src/parser/index.ts
|
|
11050
11061
|
function stripDanglingHtmlLikeTail(markdown) {
|
|
11062
|
+
const isWs = (ch) => ch === " " || ch === " " || ch === "\n" || ch === "\r";
|
|
11063
|
+
const isLikelyHtmlTagPrefix = (tail$1) => {
|
|
11064
|
+
if (!tail$1 || tail$1[0] !== "<") return false;
|
|
11065
|
+
if (tail$1.includes(">")) return false;
|
|
11066
|
+
let i = 1;
|
|
11067
|
+
if (i < tail$1.length && isWs(tail$1[i])) return false;
|
|
11068
|
+
if (tail$1[i] === "/") {
|
|
11069
|
+
i++;
|
|
11070
|
+
if (i < tail$1.length && isWs(tail$1[i])) return false;
|
|
11071
|
+
}
|
|
11072
|
+
const isAlpha = (ch) => {
|
|
11073
|
+
const c = ch.charCodeAt(0);
|
|
11074
|
+
return c >= 65 && c <= 90 || c >= 97 && c <= 122;
|
|
11075
|
+
};
|
|
11076
|
+
const isDigit = (ch) => {
|
|
11077
|
+
const c = ch.charCodeAt(0);
|
|
11078
|
+
return c >= 48 && c <= 57;
|
|
11079
|
+
};
|
|
11080
|
+
const isNameStart = (ch) => ch === "!" || isAlpha(ch);
|
|
11081
|
+
const isNameChar = (ch) => isAlpha(ch) || isDigit(ch) || ch === ":" || ch === "-";
|
|
11082
|
+
const isAttrStart = (ch) => isAlpha(ch) || isDigit(ch) || ch === "_" || ch === "." || ch === ":" || ch === "-";
|
|
11083
|
+
const isAttrChar = isAttrStart;
|
|
11084
|
+
if (i >= tail$1.length || !isNameStart(tail$1[i])) return false;
|
|
11085
|
+
i++;
|
|
11086
|
+
while (i < tail$1.length && isNameChar(tail$1[i])) i++;
|
|
11087
|
+
while (i < tail$1.length) {
|
|
11088
|
+
while (i < tail$1.length && isWs(tail$1[i])) i++;
|
|
11089
|
+
if (i >= tail$1.length) return true;
|
|
11090
|
+
if (tail$1[i] === "/") {
|
|
11091
|
+
i++;
|
|
11092
|
+
while (i < tail$1.length && isWs(tail$1[i])) i++;
|
|
11093
|
+
return i >= tail$1.length;
|
|
11094
|
+
}
|
|
11095
|
+
if (!isAttrStart(tail$1[i])) return false;
|
|
11096
|
+
i++;
|
|
11097
|
+
while (i < tail$1.length && isAttrChar(tail$1[i])) i++;
|
|
11098
|
+
while (i < tail$1.length && isWs(tail$1[i])) i++;
|
|
11099
|
+
if (i < tail$1.length && tail$1[i] === "=") {
|
|
11100
|
+
i++;
|
|
11101
|
+
while (i < tail$1.length && isWs(tail$1[i])) i++;
|
|
11102
|
+
if (i >= tail$1.length) return true;
|
|
11103
|
+
const quote = tail$1[i];
|
|
11104
|
+
if (quote === "\"" || quote === "'") {
|
|
11105
|
+
i++;
|
|
11106
|
+
while (i < tail$1.length && tail$1[i] !== quote) i++;
|
|
11107
|
+
if (i >= tail$1.length) return true;
|
|
11108
|
+
i++;
|
|
11109
|
+
} else {
|
|
11110
|
+
while (i < tail$1.length) {
|
|
11111
|
+
const ch = tail$1[i];
|
|
11112
|
+
if (isWs(ch) || ch === "<" || ch === ">" || ch === "\"" || ch === "'" || ch === "`") break;
|
|
11113
|
+
i++;
|
|
11114
|
+
}
|
|
11115
|
+
if (i >= tail$1.length) return true;
|
|
11116
|
+
}
|
|
11117
|
+
}
|
|
11118
|
+
}
|
|
11119
|
+
return true;
|
|
11120
|
+
};
|
|
11051
11121
|
const isInsideFencedCodeBlock = (src, pos) => {
|
|
11052
11122
|
let inFence = false;
|
|
11053
11123
|
let fenceChar = "";
|
|
11054
11124
|
let fenceLen = 0;
|
|
11055
|
-
const
|
|
11125
|
+
const isIndentWs = (ch) => ch === " " || ch === " ";
|
|
11056
11126
|
const parseFenceMarker = (line) => {
|
|
11057
11127
|
let i = 0;
|
|
11058
|
-
while (i < line.length &&
|
|
11128
|
+
while (i < line.length && isIndentWs(line[i])) i++;
|
|
11059
11129
|
const ch = line[i];
|
|
11060
11130
|
if (ch !== "`" && ch !== "~") return null;
|
|
11061
11131
|
let j = i;
|
|
@@ -11070,12 +11140,12 @@ function stripDanglingHtmlLikeTail(markdown) {
|
|
|
11070
11140
|
};
|
|
11071
11141
|
const stripBlockquotePrefix = (line) => {
|
|
11072
11142
|
let i = 0;
|
|
11073
|
-
while (i < line.length &&
|
|
11143
|
+
while (i < line.length && isIndentWs(line[i])) i++;
|
|
11074
11144
|
let saw = false;
|
|
11075
11145
|
while (i < line.length && line[i] === ">") {
|
|
11076
11146
|
saw = true;
|
|
11077
11147
|
i++;
|
|
11078
|
-
while (i < line.length &&
|
|
11148
|
+
while (i < line.length && isIndentWs(line[i])) i++;
|
|
11079
11149
|
}
|
|
11080
11150
|
return saw ? line.slice(i) : null;
|
|
11081
11151
|
};
|
|
@@ -11119,9 +11189,16 @@ function stripDanglingHtmlLikeTail(markdown) {
|
|
|
11119
11189
|
const lastLt = s.lastIndexOf("<");
|
|
11120
11190
|
if (lastLt === -1) return s;
|
|
11121
11191
|
if (isInsideFencedCodeBlock(s, lastLt)) return s;
|
|
11192
|
+
if (lastLt > 0) {
|
|
11193
|
+
const prev = s[lastLt - 1];
|
|
11194
|
+
const prevIsWs = prev === " " || prev === " " || prev === "\n" || prev === "\r";
|
|
11195
|
+
const prev2 = s[lastLt - 2];
|
|
11196
|
+
if (!prevIsWs && !((prev === "n" || prev === "r") && prev2 === "\\")) return s;
|
|
11197
|
+
}
|
|
11122
11198
|
const tail = s.slice(lastLt);
|
|
11123
11199
|
if (tail.includes(">")) return s;
|
|
11124
|
-
if (
|
|
11200
|
+
if (tail.length > 1 && (tail[1] === " " || tail[1] === " " || tail[1] === "\n" || tail[1] === "\r")) return s;
|
|
11201
|
+
if (!isLikelyHtmlTagPrefix(tail)) return s;
|
|
11125
11202
|
return s.slice(0, lastLt);
|
|
11126
11203
|
}
|
|
11127
11204
|
function parseMarkdownToStructure(markdown, md, options = {}) {
|