stream-markdown-parser 0.0.67 → 0.0.68
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 +52 -1
- 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
|
@@ -13046,6 +13046,18 @@ function ensureBlankLineBeforeCustomHtmlBlocks(markdown, tags) {
|
|
|
13046
13046
|
complete: false
|
|
13047
13047
|
};
|
|
13048
13048
|
};
|
|
13049
|
+
const parseStandaloneCompleteHtmlTagLine = (line) => {
|
|
13050
|
+
if (isIndentedCodeLine(line)) return null;
|
|
13051
|
+
const trimmed = trimStartIndentWs(line).replace(/[ \t]+$/, "");
|
|
13052
|
+
if (!trimmed.startsWith("<")) return null;
|
|
13053
|
+
if (/^<\s*(?:!--|!doctype\b|\?)/i.test(trimmed)) return null;
|
|
13054
|
+
const selfClosingMatch = trimmed.match(/^<\s*([A-Z][\w:-]*)\b[^>]*\/\s*>\s*$/i);
|
|
13055
|
+
if (selfClosingMatch?.[1]) return selfClosingMatch[1].toLowerCase();
|
|
13056
|
+
const fullMatch = trimmed.match(/^<\s*([A-Z][\w:-]*)\b[^>]*>[\s\S]*<\s*\/\s*([A-Z][\w:-]*)\s*>\s*$/i);
|
|
13057
|
+
if (!fullMatch?.[1] || !fullMatch[2]) return null;
|
|
13058
|
+
const openTag = fullMatch[1].toLowerCase();
|
|
13059
|
+
return openTag === fullMatch[2].toLowerCase() ? openTag : null;
|
|
13060
|
+
};
|
|
13049
13061
|
let inFence = false;
|
|
13050
13062
|
let fenceChar = "";
|
|
13051
13063
|
let fenceLen = 0;
|
|
@@ -13065,10 +13077,46 @@ function ensureBlankLineBeforeCustomHtmlBlocks(markdown, tags) {
|
|
|
13065
13077
|
};
|
|
13066
13078
|
};
|
|
13067
13079
|
const fenceMatchLine = (rawLine) => parseFenceMarker(rawLine);
|
|
13080
|
+
const lineStartsWithBlockMarker = (line) => {
|
|
13081
|
+
const trimmed = trimStartIndentWs(line);
|
|
13082
|
+
if (!trimmed) return false;
|
|
13083
|
+
if (isIndentedCodeLine(line)) return true;
|
|
13084
|
+
return /^(?:#{1,6}[ \t]+|>|[*+-][ \t]+|\d+[.)][ \t]+|`{3,}|~{3,}|\||\$\$|:{3,}|\[\^[^\]]+\]:|-{3,}|\*{3,}|_{3,})/.test(trimmed);
|
|
13085
|
+
};
|
|
13086
|
+
const currentCustomBlockNeedsBoundary = (lineStart, currentQuoteKey, tagName) => {
|
|
13087
|
+
let scanIdx = lineStart;
|
|
13088
|
+
let depth = 0;
|
|
13089
|
+
while (scanIdx < markdown.length) {
|
|
13090
|
+
const nl = markdown.indexOf("\n", scanIdx);
|
|
13091
|
+
const hasNl = nl !== -1;
|
|
13092
|
+
const isCrlf = hasNl && nl > scanIdx && markdown[nl - 1] === "\r";
|
|
13093
|
+
const lineEnd = hasNl ? isCrlf ? nl - 1 : nl : markdown.length;
|
|
13094
|
+
const rawLine = markdown.slice(scanIdx, lineEnd);
|
|
13095
|
+
const blockquote$1 = parseBlockquotePrefix(rawLine);
|
|
13096
|
+
const quoteKey = blockquote$1?.key ?? "";
|
|
13097
|
+
if (depth > 0 && currentQuoteKey && quoteKey !== currentQuoteKey) break;
|
|
13098
|
+
const contentLine = blockquote$1?.content ?? rawLine;
|
|
13099
|
+
const lineTag = parseLineStartCustomTag(contentLine);
|
|
13100
|
+
if (lineTag?.name === tagName) {
|
|
13101
|
+
if (lineTag.type === "open") {
|
|
13102
|
+
if (!lineTag.complete) depth++;
|
|
13103
|
+
} else if (depth > 0) {
|
|
13104
|
+
depth--;
|
|
13105
|
+
if (depth === 0) return false;
|
|
13106
|
+
}
|
|
13107
|
+
} else if (depth > 0) {
|
|
13108
|
+
if (lineIsBlank(contentLine) || lineStartsWithBlockMarker(contentLine)) return true;
|
|
13109
|
+
}
|
|
13110
|
+
if (hasNl) scanIdx = nl + 1;
|
|
13111
|
+
else break;
|
|
13112
|
+
}
|
|
13113
|
+
return false;
|
|
13114
|
+
};
|
|
13068
13115
|
let out = "";
|
|
13069
13116
|
let idx = 0;
|
|
13070
13117
|
let prevLineBlank = true;
|
|
13071
13118
|
let prevLineHtmlish = false;
|
|
13119
|
+
let prevLineStandaloneCompleteHtmlTag = false;
|
|
13072
13120
|
let lastNewline = "\n";
|
|
13073
13121
|
const customBlockStack = [];
|
|
13074
13122
|
let prevQuoteKey = "";
|
|
@@ -13098,7 +13146,9 @@ function ensureBlankLineBeforeCustomHtmlBlocks(markdown, tags) {
|
|
|
13098
13146
|
}
|
|
13099
13147
|
const insideCustomBlock = customBlockStack.length > 0;
|
|
13100
13148
|
if (!inFence && !insideCustomBlock) {
|
|
13101
|
-
|
|
13149
|
+
const opening = parseOpeningCustomTagName(contentLine);
|
|
13150
|
+
const needsBoundaryAfterStandaloneHtml = !!opening && !prevLineBlank && prevLineHtmlish && prevLineStandaloneCompleteHtmlTag && currentCustomBlockNeedsBoundary(idx, quoteKey, opening);
|
|
13151
|
+
if (opening && !prevLineBlank && (!prevLineHtmlish || needsBoundaryAfterStandaloneHtml)) {
|
|
13102
13152
|
if (quoteKey && prevQuoteKey && quoteKey === prevQuoteKey) out += `${quoteKey}${lastNewline}`;
|
|
13103
13153
|
else if (!quoteKey) out += lastNewline;
|
|
13104
13154
|
}
|
|
@@ -13120,6 +13170,7 @@ function ensureBlankLineBeforeCustomHtmlBlocks(markdown, tags) {
|
|
|
13120
13170
|
const blank = lineIsBlank(contentLine);
|
|
13121
13171
|
prevLineBlank = blank;
|
|
13122
13172
|
prevLineHtmlish = !blank && previousLineLooksHtmlish(contentLine);
|
|
13173
|
+
prevLineStandaloneCompleteHtmlTag = !blank && !!parseStandaloneCompleteHtmlTagLine(contentLine);
|
|
13123
13174
|
prevQuoteKey = quoteKey;
|
|
13124
13175
|
idx = hasNl ? nl + 1 : markdown.length;
|
|
13125
13176
|
}
|