marked 15.0.7 → 15.0.9
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/lib/marked.cjs +12 -5
- package/lib/marked.cjs.map +1 -1
- package/lib/marked.esm.js +12 -5
- package/lib/marked.esm.js.map +1 -1
- package/lib/marked.umd.js +12 -5
- package/lib/marked.umd.js.map +1 -1
- package/man/marked.1 +1 -1
- package/marked.min.js +2 -2
- package/package.json +8 -8
package/lib/marked.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* marked v15.0.
|
|
2
|
+
* marked v15.0.9 - a markdown parser
|
|
3
3
|
* Copyright (c) 2011-2025, Christopher Jeffrey. (MIT Licensed)
|
|
4
4
|
* https://github.com/markedjs/marked
|
|
5
5
|
*/
|
|
@@ -545,6 +545,9 @@ function findClosingBracket(str, b) {
|
|
|
545
545
|
}
|
|
546
546
|
}
|
|
547
547
|
}
|
|
548
|
+
if (level > 0) {
|
|
549
|
+
return -2;
|
|
550
|
+
}
|
|
548
551
|
return -1;
|
|
549
552
|
}
|
|
550
553
|
|
|
@@ -1111,6 +1114,10 @@ class _Tokenizer {
|
|
|
1111
1114
|
else {
|
|
1112
1115
|
// find closing parenthesis
|
|
1113
1116
|
const lastParenIndex = findClosingBracket(cap[2], '()');
|
|
1117
|
+
if (lastParenIndex === -2) {
|
|
1118
|
+
// more open parens than closed
|
|
1119
|
+
return;
|
|
1120
|
+
}
|
|
1114
1121
|
if (lastParenIndex > -1) {
|
|
1115
1122
|
const start = cap[0].indexOf('!') === 0 ? 5 : 4;
|
|
1116
1123
|
const linkLen = start + cap[1].length + lastParenIndex;
|
|
@@ -1615,14 +1622,14 @@ class _Lexer {
|
|
|
1615
1622
|
}
|
|
1616
1623
|
}
|
|
1617
1624
|
}
|
|
1618
|
-
// Mask out other blocks
|
|
1619
|
-
while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {
|
|
1620
|
-
maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);
|
|
1621
|
-
}
|
|
1622
1625
|
// Mask out escaped characters
|
|
1623
1626
|
while ((match = this.tokenizer.rules.inline.anyPunctuation.exec(maskedSrc)) != null) {
|
|
1624
1627
|
maskedSrc = maskedSrc.slice(0, match.index) + '++' + maskedSrc.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);
|
|
1625
1628
|
}
|
|
1629
|
+
// Mask out other blocks
|
|
1630
|
+
while ((match = this.tokenizer.rules.inline.blockSkip.exec(maskedSrc)) != null) {
|
|
1631
|
+
maskedSrc = maskedSrc.slice(0, match.index) + '[' + 'a'.repeat(match[0].length - 2) + ']' + maskedSrc.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);
|
|
1632
|
+
}
|
|
1626
1633
|
let keepPrevChar = false;
|
|
1627
1634
|
let prevChar = '';
|
|
1628
1635
|
while (src) {
|