mathpix-markdown-it 2.0.18 → 2.0.20

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.
@@ -3,7 +3,6 @@ export declare const attr_value: string;
3
3
  export declare const attribute: string;
4
4
  export declare const openTagMML: RegExp;
5
5
  export declare const closeTagMML: RegExp;
6
- export declare const validMathMLRegex: RegExp;
7
6
  export declare const mathMLInlineRegex: RegExp;
8
7
  export declare const open_tag_smiles: string;
9
8
  export declare const reOpenTagSmiles: RegExp;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.reFootNoteText = exports.reFootNoteMark = exports.reOpenTagFootnotetextNumbered = exports.reOpenTagFootnotetextG = exports.reOpenTagFootnotetext = exports.reOpenTagFootnoteNumbered = exports.reOpenTagFootnoteG = exports.reOpenTagFootnote = exports.reFootNote = exports.closeTagTabular = exports.openTagTabular = exports.reMultiRow = exports.reMultiRowWithVPos = exports.reAddContentsLineG = exports.reAddContentsLine = exports.reSetCounterG = exports.reSetCounter = exports.defQED = exports.reNewCommandQedSymbolG = exports.reNewCommandQedSymbol = exports.defTheoremStyle = exports.reTheoremStyleG = exports.reTheoremStyle = exports.reNewTheoremUnNumbered = exports.reNewTheoremNumbered2 = exports.reNewTheoremNumbered = exports.reNewTheorem = exports.reNewTheoremUnNumberedInit = exports.reNewTheoremInit = exports.reNewTheoremG = exports.openTagProof = exports.openTagDescription = exports.openTag = exports.labelTagG = exports.labelTag = exports.closeTagSpan = exports.reSeparatingSpanG = exports.reSeparatingSpan = exports.reSpanG = exports.reSpan = exports.markerCloseTagSpan = exports.markerBeginTagSpan = exports.reOpenTagSmiles = exports.open_tag_smiles = exports.mathMLInlineRegex = exports.validMathMLRegex = exports.closeTagMML = exports.openTagMML = exports.attribute = exports.attr_value = void 0;
4
- exports.INLINE_ELEMENT_TOKENS = exports.CLOSING_STYLE_TOKENS = exports.OPENING_STYLE_TOKENS = exports.renderOptionsDef = exports.codeHighlightDef = exports.mathTokenTypes = exports.terminatedRules = exports.mdSeparatorsDef = exports.csvSeparatorsDef = exports.tsvSeparatorsDef = exports.mathEnvironments = exports.latexEnvironments = exports.HIGHLIGHT_TEXT_COLOR = exports.HIGHLIGHT_COLOR = exports.RE_INCLUDEGRAPHICS_WITH_ALIGNMENT_GLOBAL = exports.RE_ALIGN_CENTERING_GLOBAL = exports.RE_CAPTION_TAG_BEGIN = exports.RE_CAPTION_TAG_GLOBAL = exports.RE_CAPTION_TAG = exports.RE_BEGIN_TABLE_OR_FIGURE_WITH_PLACEMENT = exports.RE_BEGIN_FIGURE_OR_TABLE_ENV = exports.RE_ALIGN_ENV_BLOCK = exports.RE_BEGIN_ALIGN_ENV = exports.RE_CAPTION_SETUP = exports.RE_CAPTION_SETUP_TAG_BEGIN = exports.lineSpaceTag = exports.RE_DIMENSIONAL_UNIT_TAG = exports.RE_CLINE = exports.RE_HDASHLINE = exports.RE_HHLINE = exports.RE_HLINE = exports.RE_TAG_WITH_CLINE = exports.RE_TAG_WITH_HDASHLINE = exports.RE_TAG_WITH_HHLINE = exports.RE_TAG_WITH_HLINE = exports.singleCurlyBracketPattern = exports.doubleCurlyBracketUuidPattern = exports.singleAngleBracketPattern = exports.doubleAngleBracketUuidPattern = exports.uuidPattern = exports.svgInlineRegex = exports.svgRegex = exports.reNumber = exports.reDiagbox = exports.reDiagboxG = void 0;
3
+ exports.reDiagboxG = exports.reFootNoteText = exports.reFootNoteMark = exports.reOpenTagFootnotetextNumbered = exports.reOpenTagFootnotetextG = exports.reOpenTagFootnotetext = exports.reOpenTagFootnoteNumbered = exports.reOpenTagFootnoteG = exports.reOpenTagFootnote = exports.reFootNote = exports.closeTagTabular = exports.openTagTabular = exports.reMultiRow = exports.reMultiRowWithVPos = exports.reAddContentsLineG = exports.reAddContentsLine = exports.reSetCounterG = exports.reSetCounter = exports.defQED = exports.reNewCommandQedSymbolG = exports.reNewCommandQedSymbol = exports.defTheoremStyle = exports.reTheoremStyleG = exports.reTheoremStyle = exports.reNewTheoremUnNumbered = exports.reNewTheoremNumbered2 = exports.reNewTheoremNumbered = exports.reNewTheorem = exports.reNewTheoremUnNumberedInit = exports.reNewTheoremInit = exports.reNewTheoremG = exports.openTagProof = exports.openTagDescription = exports.openTag = exports.labelTagG = exports.labelTag = exports.closeTagSpan = exports.reSeparatingSpanG = exports.reSeparatingSpan = exports.reSpanG = exports.reSpan = exports.markerCloseTagSpan = exports.markerBeginTagSpan = exports.reOpenTagSmiles = exports.open_tag_smiles = exports.mathMLInlineRegex = exports.closeTagMML = exports.openTagMML = exports.attribute = exports.attr_value = void 0;
4
+ exports.INLINE_ELEMENT_TOKENS = exports.CLOSING_STYLE_TOKENS = exports.OPENING_STYLE_TOKENS = exports.renderOptionsDef = exports.codeHighlightDef = exports.mathTokenTypes = exports.terminatedRules = exports.mdSeparatorsDef = exports.csvSeparatorsDef = exports.tsvSeparatorsDef = exports.mathEnvironments = exports.latexEnvironments = exports.HIGHLIGHT_TEXT_COLOR = exports.HIGHLIGHT_COLOR = exports.RE_INCLUDEGRAPHICS_WITH_ALIGNMENT_GLOBAL = exports.RE_ALIGN_CENTERING_GLOBAL = exports.RE_CAPTION_TAG_BEGIN = exports.RE_CAPTION_TAG_GLOBAL = exports.RE_CAPTION_TAG = exports.RE_BEGIN_TABLE_OR_FIGURE_WITH_PLACEMENT = exports.RE_BEGIN_FIGURE_OR_TABLE_ENV = exports.RE_ALIGN_ENV_BLOCK = exports.RE_BEGIN_ALIGN_ENV = exports.RE_CAPTION_SETUP = exports.RE_CAPTION_SETUP_TAG_BEGIN = exports.lineSpaceTag = exports.RE_DIMENSIONAL_UNIT_TAG = exports.RE_CLINE = exports.RE_HDASHLINE = exports.RE_HHLINE = exports.RE_HLINE = exports.RE_TAG_WITH_CLINE = exports.RE_TAG_WITH_HDASHLINE = exports.RE_TAG_WITH_HHLINE = exports.RE_TAG_WITH_HLINE = exports.singleCurlyBracketPattern = exports.doubleCurlyBracketUuidPattern = exports.singleAngleBracketPattern = exports.doubleAngleBracketUuidPattern = exports.uuidPattern = exports.svgInlineRegex = exports.svgRegex = exports.reNumber = exports.reDiagbox = void 0;
5
5
  var attr_name = '[a-zA-Z_:][a-zA-Z0-9:._-]*';
6
6
  var unquoted = '[^"\'=<>`\\x00-\\x20]+';
7
7
  var single_quoted = "'[^']*'";
@@ -12,7 +12,6 @@ var open_tag_mml = '^<(math)' + exports.attribute + '*\\s*\\/?>';
12
12
  var close_tag_mml = '^<\\/math*\\s*>';
13
13
  exports.openTagMML = new RegExp('(?:' + open_tag_mml + ')');
14
14
  exports.closeTagMML = new RegExp('(?:' + close_tag_mml + ')');
15
- exports.validMathMLRegex = /<math\b[^>]*>(\s*<(m.*?\b[^>]*>[\s\S]*?<\/m.*?>)\s*)+<\/math>/i;
16
15
  exports.mathMLInlineRegex = /^<(math\b[^>]*)>[\s\S]*<\/math>/;
17
16
  exports.open_tag_smiles = '^<(smiles)' + exports.attribute + '*\\s*\\/?>';
18
17
  exports.reOpenTagSmiles = new RegExp('(?:' + exports.open_tag_smiles + ')');
@@ -1 +1 @@
1
- {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../../src/markdown/common/consts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"consts.js","sourceRoot":"","sources":["../../../src/markdown/common/consts.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ export type ValidationOk = {
2
+ ok: true;
3
+ };
4
+ export type ValidationErr = {
5
+ ok: false;
6
+ reason: Reason;
7
+ extra?: string;
8
+ };
9
+ export type ValidationResult = ValidationOk | ValidationErr;
10
+ declare const VALIDATION_REASON: {
11
+ readonly EMPTY: "empty";
12
+ readonly TOO_LARGE: "too_large";
13
+ readonly DOCTYPE: "doctype";
14
+ readonly SCRIPT: "script";
15
+ readonly JS_URI: "js_uri";
16
+ readonly EVENT_ATTR: "event_attr";
17
+ readonly NO_MATH: "no_math";
18
+ readonly UNCLOSED_MATH: "unclosed_math";
19
+ readonly BAD_XMLNS: "bad_xmlns";
20
+ readonly BAD_TAG: "bad_tag";
21
+ readonly UNKNOWN_TAG: "unknown_tag";
22
+ readonly MISMATCH: "mismatch";
23
+ readonly TOO_MANY_NODES: "too_many_nodes";
24
+ readonly TOO_DEEP: "too_deep";
25
+ readonly ROOT_NOT_MATH: "root_not_math";
26
+ readonly TEXT_OUTSIDE_TEXT_CONTAINER: "text_outside_text_container";
27
+ readonly UNCLOSED_COMMENT: "unclosed_comment";
28
+ readonly UNCLOSED_CDATA: "unclosed_cdata";
29
+ readonly UNCLOSED_PI: "unclosed_pi";
30
+ readonly UNCLOSED_DECL: "unclosed_decl";
31
+ readonly UNCLOSED_QUOTE: "unclosed_quote";
32
+ readonly UNCLOSED_TAG: "unclosed_tag";
33
+ readonly UNCLOSED_TAGS: "unclosed_tags";
34
+ };
35
+ type Reason = typeof VALIDATION_REASON[keyof typeof VALIDATION_REASON];
36
+ declare const DEFAULT_VALIDATION_LIMITS: {
37
+ readonly maxBytes: 1000000;
38
+ readonly maxDepth: 80;
39
+ readonly maxNodes: 50000;
40
+ };
41
+ /**
42
+ * Shallow & fast MathML pre-validation for MathJax (SVG).
43
+ *
44
+ * - Extracts the first `<math>…</math>` fragment.
45
+ * - Blocks obvious hazards (doctype, script, javascript: URLs, event handlers).
46
+ * - Ensures balanced tags with a tiny stack (not a full XML parser).
47
+ * - Allows visible text only inside `mi/mn/mo/mtext/ms`.
48
+ * - Ignores content inside `<annotation>` / `<annotation-xml>`.
49
+ *
50
+ * Not a full XML/DTD validator. Intended to be extremely fast and safe before
51
+ * passing MathML to MathJax. O(N) over the `<math>` fragment, no allocations
52
+ * beyond a small stack.
53
+ */
54
+ export declare const validateMathMLShallow: (source: string, limits?: Partial<typeof DEFAULT_VALIDATION_LIMITS>) => ValidationResult;
55
+ export {};
@@ -0,0 +1,223 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateMathMLShallow = void 0;
4
+ var tslib_1 = require("tslib");
5
+ var VALIDATION_REASON = {
6
+ EMPTY: 'empty',
7
+ TOO_LARGE: 'too_large',
8
+ DOCTYPE: 'doctype',
9
+ SCRIPT: 'script',
10
+ JS_URI: 'js_uri',
11
+ EVENT_ATTR: 'event_attr',
12
+ NO_MATH: 'no_math',
13
+ UNCLOSED_MATH: 'unclosed_math',
14
+ BAD_XMLNS: 'bad_xmlns',
15
+ BAD_TAG: 'bad_tag',
16
+ UNKNOWN_TAG: 'unknown_tag',
17
+ MISMATCH: 'mismatch',
18
+ TOO_MANY_NODES: 'too_many_nodes',
19
+ TOO_DEEP: 'too_deep',
20
+ ROOT_NOT_MATH: 'root_not_math',
21
+ TEXT_OUTSIDE_TEXT_CONTAINER: 'text_outside_text_container',
22
+ UNCLOSED_COMMENT: 'unclosed_comment',
23
+ UNCLOSED_CDATA: 'unclosed_cdata',
24
+ UNCLOSED_PI: 'unclosed_pi',
25
+ UNCLOSED_DECL: 'unclosed_decl',
26
+ UNCLOSED_QUOTE: 'unclosed_quote',
27
+ UNCLOSED_TAG: 'unclosed_tag',
28
+ UNCLOSED_TAGS: 'unclosed_tags'
29
+ };
30
+ var DEFAULT_VALIDATION_LIMITS = {
31
+ maxBytes: 1000000,
32
+ maxDepth: 80,
33
+ maxNodes: 50000
34
+ };
35
+ var MATHML_XMLNS = 'http://www.w3.org/1998/Math/MathML';
36
+ // Allowed MathML tags that MathJax definitely understands (presentation + semantics)
37
+ var MATHML_ALLOWED_TAGS = new Set([
38
+ 'math', 'mrow', 'mi', 'mn', 'mo', 'ms', 'mtext', 'mspace', 'mfrac', 'msqrt', 'mroot',
39
+ 'msub', 'msup', 'msubsup', 'munder', 'mover', 'munderover', 'mmultiscripts',
40
+ 'mprescripts', 'none', 'mtable', 'mtr', 'mlabeledtr', 'mtd', 'mstyle', 'merror',
41
+ 'mpadded', 'mphantom', 'menclose', 'mfenced', 'semantics', 'annotation', 'annotation-xml'
42
+ ]);
43
+ // Tags that allow a visible text node inside
44
+ var MATHML_TEXT_CONTAINERS = new Set(['mi', 'mn', 'mo', 'mtext', 'ms']);
45
+ var MATHML_ANNOTATION_TAGS = new Set(['annotation', 'annotation-xml']);
46
+ var HAZARD_DOCTYPE_RE = /<\!DOCTYPE/i;
47
+ var HAZARD_SCRIPT_RE = /<script\b/i;
48
+ var HAZARD_JS_URI_RE = /javascript:/i;
49
+ var HAZARD_EVENT_ATTR_RE = /\son[a-z]+\s*=/i;
50
+ var OPEN_MATH_TAG_RE = /<math\b[^>]*>/i;
51
+ var XMLNS_ATTR_RE = /\bxmlns\s*=\s*"([^"]*)"/i;
52
+ // Single "wide" tokenizer: comments / CDATA / tags / text
53
+ var MATHML_TOKEN_RE = /<!--[\s\S]*?-->|<!\[CDATA\[[\s\S]*?\]\]>|<\/?[A-Za-z][\w:.-]*\b[^>]*>|[^<]+/g;
54
+ var MATH_OPEN = '<math';
55
+ var END_MATH = '</math>';
56
+ var hasUnclosedAll = function (hay, open, close) {
57
+ var from = 0;
58
+ for (;;) {
59
+ var i = hay.indexOf(open, from);
60
+ if (i < 0)
61
+ return false;
62
+ var j = hay.indexOf(close, i + open.length);
63
+ if (j < 0)
64
+ return true;
65
+ from = j + close.length;
66
+ }
67
+ };
68
+ /**
69
+ * Shallow & fast MathML pre-validation for MathJax (SVG).
70
+ *
71
+ * - Extracts the first `<math>…</math>` fragment.
72
+ * - Blocks obvious hazards (doctype, script, javascript: URLs, event handlers).
73
+ * - Ensures balanced tags with a tiny stack (not a full XML parser).
74
+ * - Allows visible text only inside `mi/mn/mo/mtext/ms`.
75
+ * - Ignores content inside `<annotation>` / `<annotation-xml>`.
76
+ *
77
+ * Not a full XML/DTD validator. Intended to be extremely fast and safe before
78
+ * passing MathML to MathJax. O(N) over the `<math>` fragment, no allocations
79
+ * beyond a small stack.
80
+ */
81
+ var validateMathMLShallow = function (source, limits) {
82
+ var _a, _b, _c;
83
+ if (limits === void 0) { limits = {}; }
84
+ var _d = tslib_1.__assign(tslib_1.__assign({}, DEFAULT_VALIDATION_LIMITS), limits), maxBytes = _d.maxBytes, maxDepth = _d.maxDepth, maxNodes = _d.maxNodes;
85
+ if (typeof source !== 'string' || !source) {
86
+ return { ok: false, reason: VALIDATION_REASON.EMPTY };
87
+ }
88
+ if (source.length > maxBytes) {
89
+ return { ok: false, reason: VALIDATION_REASON.TOO_LARGE };
90
+ }
91
+ // Let's take the first <math>…</math>
92
+ var startIndex = source.indexOf(MATH_OPEN);
93
+ if (startIndex < 0) {
94
+ return { ok: false, reason: VALIDATION_REASON.NO_MATH };
95
+ }
96
+ var endIndex = source.indexOf(END_MATH, startIndex);
97
+ if (endIndex < 0) {
98
+ return { ok: false, reason: VALIDATION_REASON.UNCLOSED_MATH };
99
+ }
100
+ var mathFragment = source.slice(startIndex, endIndex + END_MATH.length);
101
+ // preflight on "stuck" sections
102
+ if (mathFragment.includes('<!--') && hasUnclosedAll(mathFragment, '<!--', '-->')) {
103
+ return { ok: false, reason: VALIDATION_REASON.UNCLOSED_COMMENT };
104
+ }
105
+ if (mathFragment.includes('<![CDATA[') && hasUnclosedAll(mathFragment, '<![CDATA[', ']]>')) {
106
+ return { ok: false, reason: VALIDATION_REASON.UNCLOSED_CDATA };
107
+ }
108
+ if (mathFragment.includes('<?') && hasUnclosedAll(mathFragment, '<?', '?>')) {
109
+ return { ok: false, reason: VALIDATION_REASON.UNCLOSED_PI };
110
+ }
111
+ // simple declaration <!FOO …>
112
+ if (/\<![A-Z]/.test(mathFragment)) {
113
+ var i = mathFragment.search(/\<![A-Z]/);
114
+ if (i >= 0 && mathFragment.indexOf('>', i + 2) < 0)
115
+ return { ok: false, reason: VALIDATION_REASON.UNCLOSED_DECL };
116
+ }
117
+ if (HAZARD_DOCTYPE_RE.test(mathFragment))
118
+ return { ok: false, reason: VALIDATION_REASON.DOCTYPE };
119
+ if (HAZARD_SCRIPT_RE.test(mathFragment))
120
+ return { ok: false, reason: VALIDATION_REASON.SCRIPT };
121
+ if (HAZARD_JS_URI_RE.test(mathFragment))
122
+ return { ok: false, reason: VALIDATION_REASON.JS_URI };
123
+ if (HAZARD_EVENT_ATTR_RE.test(mathFragment))
124
+ return { ok: false, reason: VALIDATION_REASON.EVENT_ATTR };
125
+ // Check xmlns at root (optionally strict)
126
+ var rootOpenTag = ((_a = OPEN_MATH_TAG_RE.exec(mathFragment)) === null || _a === void 0 ? void 0 : _a[0]) || '';
127
+ var rootXmlns = (_b = XMLNS_ATTR_RE.exec(rootOpenTag)) === null || _b === void 0 ? void 0 : _b[1];
128
+ if (rootXmlns && rootXmlns !== MATHML_XMLNS) {
129
+ return { ok: false, reason: VALIDATION_REASON.BAD_XMLNS, extra: rootXmlns };
130
+ }
131
+ var tagStack = [];
132
+ var nodeCount = 0;
133
+ var seenMathOpen = false;
134
+ var seenMathClose = false;
135
+ var annotationDepth = 0; //inside <annotation> / <annotation-xml> skip the content
136
+ MATHML_TOKEN_RE.lastIndex = 0;
137
+ for (var m = void 0; (m = MATHML_TOKEN_RE.exec(mathFragment));) {
138
+ var token = m[0];
139
+ // Comments
140
+ if (token.startsWith('<!--'))
141
+ continue;
142
+ // CDATA as text (outside annotations - only in text containers)
143
+ if (token.startsWith('<![CDATA[')) {
144
+ if (annotationDepth > 0)
145
+ continue;
146
+ var parent_1 = tagStack[tagStack.length - 1];
147
+ if (!MATHML_TEXT_CONTAINERS.has(parent_1)) {
148
+ return { ok: false, reason: VALIDATION_REASON.TEXT_OUTSIDE_TEXT_CONTAINER };
149
+ }
150
+ continue;
151
+ }
152
+ // Tags
153
+ if (token[0] === '<') {
154
+ var isClosingTag = token[1] === '/';
155
+ var isSelfClosing = !isClosingTag && /\/>$/.test(token);
156
+ var rawName = (_c = /^<\/?\s*([A-Za-z][\w:.-]*)/.exec(token)) === null || _c === void 0 ? void 0 : _c[1];
157
+ if (!rawName)
158
+ return { ok: false, reason: VALIDATION_REASON.BAD_TAG };
159
+ // remove namespace prefix (mml:mi -> mi), convert to lower
160
+ var localName = rawName.toLowerCase().replace(/^[a-z][\w-]*:/, '');
161
+ // accounting of annotation zones
162
+ var isAnno = MATHML_ANNOTATION_TAGS.has(localName);
163
+ if (!isClosingTag && isAnno && !isSelfClosing)
164
+ annotationDepth++;
165
+ else if (isClosingTag && isAnno && annotationDepth)
166
+ annotationDepth--;
167
+ // outside annotations - only known MathML tags
168
+ if (annotationDepth === 0 && !MATHML_ALLOWED_TAGS.has(localName)) {
169
+ return { ok: false, reason: VALIDATION_REASON.UNKNOWN_TAG, extra: localName };
170
+ }
171
+ if (isClosingTag) {
172
+ var top_1 = tagStack.pop();
173
+ if (!top_1 || top_1 !== localName) {
174
+ return { ok: false, reason: VALIDATION_REASON.MISMATCH, extra: "".concat(top_1 || 'none', "!=").concat(localName) };
175
+ }
176
+ if (localName === 'math' && tagStack.length === 0)
177
+ seenMathClose = true;
178
+ }
179
+ else if (!isSelfClosing) {
180
+ tagStack.push(localName);
181
+ nodeCount++;
182
+ if (!seenMathOpen) {
183
+ if (localName !== 'math')
184
+ return { ok: false, reason: VALIDATION_REASON.ROOT_NOT_MATH };
185
+ seenMathOpen = true;
186
+ }
187
+ if (nodeCount > maxNodes)
188
+ return { ok: false, reason: VALIDATION_REASON.TOO_MANY_NODES };
189
+ if (tagStack.length > maxDepth)
190
+ return { ok: false, reason: VALIDATION_REASON.TOO_DEEP };
191
+ }
192
+ else {
193
+ // self-closing
194
+ nodeCount++;
195
+ if (nodeCount > maxNodes)
196
+ return { ok: false, reason: VALIDATION_REASON.TOO_MANY_NODES };
197
+ if (!seenMathOpen && localName !== 'math')
198
+ return { ok: false, reason: VALIDATION_REASON.ROOT_NOT_MATH };
199
+ if (!seenMathOpen && localName === 'math') {
200
+ seenMathOpen = true;
201
+ seenMathClose = true;
202
+ }
203
+ }
204
+ continue;
205
+ }
206
+ // Text between tags: only in text containers (outside annotations)
207
+ if (annotationDepth > 0)
208
+ continue;
209
+ if (!token.trim())
210
+ continue;
211
+ var parent_2 = tagStack[tagStack.length - 1];
212
+ if (!MATHML_TEXT_CONTAINERS.has(parent_2)) {
213
+ return { ok: false, reason: VALIDATION_REASON.TEXT_OUTSIDE_TEXT_CONTAINER };
214
+ }
215
+ }
216
+ if (!seenMathOpen)
217
+ return { ok: false, reason: VALIDATION_REASON.NO_MATH };
218
+ if (!seenMathClose || tagStack.length)
219
+ return { ok: false, reason: VALIDATION_REASON.UNCLOSED_TAGS };
220
+ return { ok: true };
221
+ };
222
+ exports.validateMathMLShallow = validateMathMLShallow;
223
+ //# sourceMappingURL=validate-mathML.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate-mathML.js","sourceRoot":"","sources":["../../../src/markdown/common/validate-mathML.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,7 @@
1
- import { RuleBlock } from "markdown-it";
1
+ import MarkdownIt, { RuleBlock } from "markdown-it";
2
+ /**
3
+ * Returns terminator rules for the MathML block excluding the current rule (selfRule).
4
+ * The base list is cached at the MarkdownIt instance level.
5
+ */
6
+ export declare function collectTerminatorRules(md: MarkdownIt, selfRule: RuleBlock, altGroup?: string): RuleBlock[];
2
7
  export declare const mathMLBlock: RuleBlock;
@@ -1,16 +1,64 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mathMLBlock = void 0;
3
+ exports.mathMLBlock = exports.collectTerminatorRules = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var consts_1 = require("../common/consts");
6
- var consts_2 = require("../common/consts");
6
+ var validate_mathML_1 = require("../common/validate-mathML");
7
+ var ALT_GROUP_FOR_MATHML = 'mathMLBlock';
8
+ var baseTerminatorsCache = new WeakMap();
9
+ /** Builds a basic list of terminator rules for a MathML block: paragraph + alt=ALT_GROUP_FOR_MATHML */
10
+ function collectBaseTerminators(md, altGroup) {
11
+ var e_1, _a;
12
+ var _b, _c;
13
+ if (altGroup === void 0) { altGroup = ALT_GROUP_FOR_MATHML; }
14
+ // 1) Standard "paragraph" terminators
15
+ var paragraphRules = (_b = md.block.ruler.getRules('paragraph')) !== null && _b !== void 0 ? _b : [];
16
+ // 2) Alternative rules from private __rules__ (soft checks)
17
+ var raw = (_c = md.block.ruler.__rules__) !== null && _c !== void 0 ? _c : [];
18
+ var altGroupRules = raw
19
+ .filter(function (r) { return (r === null || r === void 0 ? void 0 : r.enabled) && Array.isArray(r.alt) && r.alt.includes(altGroup); })
20
+ .map(function (r) { return r.fn; });
21
+ // 3) Glue and remove duplicates, maintaining order
22
+ var seen = new Set();
23
+ var merged = [];
24
+ try {
25
+ for (var _d = tslib_1.__values(tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(paragraphRules), false), tslib_1.__read(altGroupRules), false)), _e = _d.next(); !_e.done; _e = _d.next()) {
26
+ var fn = _e.value;
27
+ if (!seen.has(fn)) {
28
+ seen.add(fn);
29
+ merged.push(fn);
30
+ }
31
+ }
32
+ }
33
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
34
+ finally {
35
+ try {
36
+ if (_e && !_e.done && (_a = _d.return)) _a.call(_d);
37
+ }
38
+ finally { if (e_1) throw e_1.error; }
39
+ }
40
+ return merged;
41
+ }
42
+ /**
43
+ * Returns terminator rules for the MathML block excluding the current rule (selfRule).
44
+ * The base list is cached at the MarkdownIt instance level.
45
+ */
46
+ function collectTerminatorRules(md, selfRule, altGroup) {
47
+ if (altGroup === void 0) { altGroup = ALT_GROUP_FOR_MATHML; }
48
+ // Take from cache or collect the database
49
+ var base = baseTerminatorsCache.get(md);
50
+ if (!base) {
51
+ base = collectBaseTerminators(md, altGroup);
52
+ baseTerminatorsCache.set(md, base);
53
+ }
54
+ // Exclude selfRule on each call (it may differ)
55
+ return base.filter(function (fn) { return fn !== selfRule; });
56
+ }
57
+ exports.collectTerminatorRules = collectTerminatorRules;
7
58
  var mathMLBlock = function (state, startLine, endLine, silent) {
8
59
  try {
9
60
  var pos = state.bMarks[startLine] + state.tShift[startLine];
10
61
  var max = state.eMarks[startLine];
11
- var nextLine_1 = startLine + 1;
12
- var terminatorRules = tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(state.md.block.ruler.getRules('paragraph')), false), tslib_1.__read(state.md.block.ruler.getRules('mathMLBlock')), false);
13
- // state.parentType = 'paragraph';
14
62
  // Early exit if the first character is not '<'
15
63
  if (state.src.charCodeAt(pos) !== 0x3C /* < */)
16
64
  return false;
@@ -18,19 +66,22 @@ var mathMLBlock = function (state, startLine, endLine, silent) {
18
66
  var lineText = state.src.slice(pos, max);
19
67
  if (!consts_1.openTagMML.test(lineText))
20
68
  return false;
69
+ if (consts_1.mathMLInlineRegex.test(lineText))
70
+ return false;
71
+ var nextLine_1 = startLine + 1;
21
72
  var hasCloseTag = false;
73
+ var terminatorRules = collectTerminatorRules(state.md, exports.mathMLBlock);
22
74
  // Iterate through lines until the closing tag or end of file
23
75
  while (nextLine_1 < endLine) {
24
76
  pos = state.bMarks[nextLine_1] + state.tShift[nextLine_1];
25
77
  max = state.eMarks[nextLine_1];
26
- lineText = state.src.slice(pos, max);
27
78
  // Check for terminator rules
28
79
  if (terminatorRules.some(function (rule) { return rule(state, nextLine_1, endLine, true); }))
29
80
  break;
81
+ lineText = state.src.slice(pos, max);
30
82
  // Check for closing tag
31
83
  if (consts_1.closeTagMML.test(lineText)) {
32
- if (lineText.length !== 0)
33
- nextLine_1++;
84
+ nextLine_1++;
34
85
  hasCloseTag = true;
35
86
  break;
36
87
  }
@@ -41,9 +92,10 @@ var mathMLBlock = function (state, startLine, endLine, silent) {
41
92
  return false;
42
93
  // Get the content between the matched lines
43
94
  var content = state.getLines(startLine, nextLine_1, state.blkIndent, false);
44
- // Validate content with MathML regex
45
- if (!consts_2.validMathMLRegex.test(content))
95
+ var validationMathML = (0, validate_mathML_1.validateMathMLShallow)(content);
96
+ if (!validationMathML.ok) {
46
97
  return false;
98
+ }
47
99
  // If in validation mode, return true
48
100
  if (silent)
49
101
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"mathml-block.js","sourceRoot":"","sources":["../../../src/markdown/md-block-rule/mathml-block.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mathml-block.js","sourceRoot":"","sources":["../../../src/markdown/md-block-rule/mathml-block.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.inlineMathML = void 0;
4
4
  var convert_math_to_html_1 = require("../common/convert-math-to-html");
5
5
  var consts_1 = require("../common/consts");
6
+ var validate_mathML_1 = require("../common/validate-mathML");
6
7
  var inlineMathML = function (state, silent) {
7
8
  var _a;
8
9
  try {
@@ -13,7 +14,11 @@ var inlineMathML = function (state, silent) {
13
14
  }
14
15
  // Attempt to match the MathML inline pattern
15
16
  var match = src.slice(pos).match(consts_1.mathMLInlineRegex);
16
- if (!match || !consts_1.validMathMLRegex.test(match[0])) {
17
+ if (!match) {
18
+ return false;
19
+ }
20
+ var validationMathML = (0, validate_mathML_1.validateMathMLShallow)(match[0]);
21
+ if (!validationMathML.ok) {
17
22
  return false;
18
23
  }
19
24
  // Determine the type of MathML (inline or display)
@@ -1 +1 @@
1
- {"version":3,"file":"mathml-inline.js","sourceRoot":"","sources":["../../../src/markdown/md-inline-rule/mathml-inline.ts"],"names":[],"mappings":";;;AACA,uEAAmE;AACnE,2CAAuE;AAEhE,IAAM,YAAY,GAAe,UAAC,KAAK,EAAE,MAAM;;IACpD,IAAI;QACM,IAAA,GAAG,GAAkB,KAAK,IAAvB,EAAE,GAAG,GAAa,KAAK,IAAlB,EAAE,MAAM,GAAK,KAAK,OAAV,CAAW;QAEnC,8DAA8D;QAC9D,IAAI,GAAG,GAAG,CAAC,IAAI,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE;YAC7D,OAAO,KAAK,CAAC;SACd;QAED,6CAA6C;QAC7C,IAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,0BAAiB,CAAC,CAAC;QAEtD,IAAI,CAAC,KAAK,IAAI,CAAC,yBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;YAC9C,OAAO,KAAK,CAAC;SACd;QAED,mDAAmD;QACnD,IAAI,IAAI,GAAU,CAAA,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAE,OAAO,CAAC,OAAO,CAAC,MAAK,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC;QAEzF,mDAAmD;QACnD,IAAI,CAAC,MAAM,EAAE;YACX,IAAM,KAAK,GAAU,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7C,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACtD,KAAK,CAAC,SAAS,GAAG;gBAChB,KAAK,EAAE,KAAK,CAAC,GAAG;gBAChB,GAAG,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM;aAC3B,CAAC;YACF,kEAAkE;YAClE,IAAA,wCAAiB,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;SACnD;QAED,+DAA+D;QAC/D,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC7B,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;QAChD,OAAO,KAAK,CAAC;KACd;AACH,CAAC,CAAA;AAtCY,QAAA,YAAY,gBAsCxB"}
1
+ {"version":3,"file":"mathml-inline.js","sourceRoot":"","sources":["../../../src/markdown/md-inline-rule/mathml-inline.ts"],"names":[],"mappings":";;;AACA,uEAAmE;AACnE,2CAAqD;AACrD,6DAAoF;AAG7E,IAAM,YAAY,GAAe,UAAC,KAAK,EAAE,MAAM;;IACpD,IAAI;QACM,IAAA,GAAG,GAAkB,KAAK,IAAvB,EAAE,GAAG,GAAa,KAAK,IAAlB,EAAE,MAAM,GAAK,KAAK,OAAV,CAAW;QAEnC,8DAA8D;QAC9D,IAAI,GAAG,GAAG,CAAC,IAAI,MAAM,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,OAAO,EAAE;YAC7D,OAAO,KAAK,CAAC;SACd;QAED,6CAA6C;QAC7C,IAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,0BAAiB,CAAC,CAAC;QACtD,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,KAAK,CAAC;SACd;QACD,IAAI,gBAAgB,GAAqB,IAAA,uCAAqB,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACzE,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE;YACxB,OAAO,KAAK,CAAC;SACd;QACD,mDAAmD;QACnD,IAAI,IAAI,GAAU,CAAA,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAE,OAAO,CAAC,OAAO,CAAC,MAAK,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,eAAe,CAAC;QAEzF,mDAAmD;QACnD,IAAI,CAAC,MAAM,EAAE;YACX,IAAM,KAAK,GAAU,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;YAC7C,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACtD,KAAK,CAAC,SAAS,GAAG;gBAChB,KAAK,EAAE,KAAK,CAAC,GAAG;gBAChB,GAAG,EAAE,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM;aAC3B,CAAC;YACF,kEAAkE;YAClE,IAAA,wCAAiB,EAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC;SACnD;QAED,+DAA+D;QAC/D,KAAK,CAAC,GAAG,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC7B,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,GAAG,EAAE;QACZ,OAAO,CAAC,KAAK,CAAC,2BAA2B,EAAE,GAAG,CAAC,CAAC;QAChD,OAAO,KAAK,CAAC;KACd;AACH,CAAC,CAAA;AAxCY,QAAA,YAAY,gBAwCxB"}
@@ -77,7 +77,7 @@ var separatingSpan = function (state, startLine, endLine, silent) {
77
77
  if (!match || match.length < 3) {
78
78
  return false;
79
79
  }
80
- state.tShift[startLine] += content.length;
80
+ state.bMarks[startLine] += content.length;
81
81
  var token = state.push('inline', '', 0);
82
82
  token.content = content;
83
83
  token.children = [];
@@ -14,14 +14,15 @@ var SerializedAsciiVisitor = /** @class */ (function (_super) {
14
14
  /** Apply inherited attribute to all children */
15
15
  _this.setChildInheritedAttribute = function (node, attrName) {
16
16
  var e_1, _a;
17
+ var _b;
17
18
  try {
18
- var inherited = node.attributes.getAllInherited();
19
- if (!inherited.hasOwnProperty(attrName) || !node.childNodes || !node.childNodes.length) {
19
+ var inherited = (node === null || node === void 0 ? void 0 : node.attributes) ? (_b = node === null || node === void 0 ? void 0 : node.attributes) === null || _b === void 0 ? void 0 : _b.getAllInherited() : null;
20
+ if (!inherited || !inherited.hasOwnProperty(attrName) || !node.childNodes || !node.childNodes.length) {
20
21
  return;
21
22
  }
22
23
  try {
23
- for (var _b = tslib_1.__values(node.childNodes), _c = _b.next(); !_c.done; _c = _b.next()) {
24
- var child = _c.value;
24
+ for (var _c = tslib_1.__values(node.childNodes), _d = _c.next(); !_d.done; _d = _c.next()) {
25
+ var child = _d.value;
25
26
  if (child.attributes) {
26
27
  child.attributes.setInherited(attrName, inherited[attrName]);
27
28
  }
@@ -30,7 +31,7 @@ var SerializedAsciiVisitor = /** @class */ (function (_super) {
30
31
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
31
32
  finally {
32
33
  try {
33
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
34
+ if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
34
35
  }
35
36
  finally { if (e_1) throw e_1.error; }
36
37
  }