mathpix-markdown-it 2.0.30 → 2.0.32
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/doc/changelog.md +22 -0
- package/es5/bundle.js +1 -1
- package/es5/context-menu.js +1 -1
- package/es5/index.js +1 -1
- package/lib/helpers/parse-mmd-element.js +28 -12
- package/lib/helpers/parse-mmd-element.js.map +1 -1
- package/lib/markdown/common/consts.d.ts +7 -2
- package/lib/markdown/common/consts.js +12 -7
- package/lib/markdown/common/consts.js.map +1 -1
- package/lib/markdown/common/list-markers.d.ts +25 -0
- package/lib/markdown/common/list-markers.js +134 -0
- package/lib/markdown/common/list-markers.js.map +1 -0
- package/lib/markdown/common/mmdRules.js +5 -0
- package/lib/markdown/common/mmdRules.js.map +1 -1
- package/lib/markdown/common/render-table-cell-content.d.ts +21 -1
- package/lib/markdown/common/render-table-cell-content.js +38 -3
- package/lib/markdown/common/render-table-cell-content.js.map +1 -1
- package/lib/markdown/md-block-rule/begin-tabular/common.d.ts +9 -0
- package/lib/markdown/md-block-rule/begin-tabular/common.js +41 -8
- package/lib/markdown/md-block-rule/begin-tabular/common.js.map +1 -1
- package/lib/markdown/md-block-rule/begin-tabular/index.d.ts +3 -0
- package/lib/markdown/md-block-rule/begin-tabular/index.js +22 -3
- package/lib/markdown/md-block-rule/begin-tabular/index.js.map +1 -1
- package/lib/markdown/md-block-rule/begin-tabular/multi-column-row.js +7 -2
- package/lib/markdown/md-block-rule/begin-tabular/multi-column-row.js.map +1 -1
- package/lib/markdown/md-block-rule/begin-tabular/parse-tabular.d.ts +6 -2
- package/lib/markdown/md-block-rule/begin-tabular/parse-tabular.js +99 -16
- package/lib/markdown/md-block-rule/begin-tabular/parse-tabular.js.map +1 -1
- package/lib/markdown/md-block-rule/begin-tabular/placeholder-utils.d.ts +22 -0
- package/lib/markdown/md-block-rule/begin-tabular/placeholder-utils.js +76 -0
- package/lib/markdown/md-block-rule/begin-tabular/placeholder-utils.js.map +1 -0
- package/lib/markdown/md-block-rule/begin-tabular/sub-code.d.ts +3 -5
- package/lib/markdown/md-block-rule/begin-tabular/sub-code.js +27 -19
- package/lib/markdown/md-block-rule/begin-tabular/sub-code.js.map +1 -1
- package/lib/markdown/md-block-rule/begin-tabular/sub-math.js +1 -1
- package/lib/markdown/md-block-rule/begin-tabular/sub-math.js.map +1 -1
- package/lib/markdown/md-block-rule/begin-tabular/sub-tabular.d.ts +5 -0
- package/lib/markdown/md-block-rule/begin-tabular/sub-tabular.js +69 -59
- package/lib/markdown/md-block-rule/begin-tabular/sub-tabular.js.map +1 -1
- package/lib/markdown/md-block-rule/begin-tabular/tabular-td.js +2 -1
- package/lib/markdown/md-block-rule/begin-tabular/tabular-td.js.map +1 -1
- package/lib/markdown/md-block-rule/helper.d.ts +15 -0
- package/lib/markdown/md-block-rule/helper.js +86 -5
- package/lib/markdown/md-block-rule/helper.js.map +1 -1
- package/lib/markdown/md-inline-rule/core-inline.js +88 -63
- package/lib/markdown/md-inline-rule/core-inline.js.map +1 -1
- package/lib/markdown/md-inline-rule/tabular.js +12 -12
- package/lib/markdown/md-inline-rule/tabular.js.map +1 -1
- package/lib/markdown/md-latex-lists-env/index.js +8 -4
- package/lib/markdown/md-latex-lists-env/index.js.map +1 -1
- package/lib/markdown/md-latex-lists-env/latex-list-common.js +6 -2
- package/lib/markdown/md-latex-lists-env/latex-list-common.js.map +1 -1
- package/lib/markdown/md-latex-lists-env/latex-list-env-block.d.ts +11 -0
- package/lib/markdown/md-latex-lists-env/latex-list-env-block.js +222 -116
- package/lib/markdown/md-latex-lists-env/latex-list-env-block.js.map +1 -1
- package/lib/markdown/md-latex-lists-env/latex-list-env-engine.d.ts +48 -0
- package/lib/markdown/md-latex-lists-env/latex-list-env-engine.js +247 -0
- package/lib/markdown/md-latex-lists-env/latex-list-env-engine.js.map +1 -0
- package/lib/markdown/md-latex-lists-env/latex-list-env-inline.d.ts +14 -0
- package/lib/markdown/md-latex-lists-env/latex-list-env-inline.js +137 -1
- package/lib/markdown/md-latex-lists-env/latex-list-env-inline.js.map +1 -1
- package/lib/markdown/md-latex-lists-env/latex-list-items.js +1 -0
- package/lib/markdown/md-latex-lists-env/latex-list-items.js.map +1 -1
- package/lib/markdown/md-latex-lists-env/latex-list-tokens.js +1 -0
- package/lib/markdown/md-latex-lists-env/latex-list-tokens.js.map +1 -1
- package/lib/markdown/md-latex-lists-env/latex-list-types.d.ts +38 -2
- package/lib/markdown/md-latex-lists-env/latex-list-types.js.map +1 -1
- package/lib/markdown/md-latex-lists-env/re-level.d.ts +0 -4
- package/lib/markdown/md-latex-lists-env/re-level.js +4 -17
- package/lib/markdown/md-latex-lists-env/re-level.js.map +1 -1
- package/lib/markdown/md-latex-lists-env/render-latex-list-env.js +60 -6
- package/lib/markdown/md-latex-lists-env/render-latex-list-env.js.map +1 -1
- package/lib/markdown/md-renderer-rules/render-tabular.d.ts +26 -12
- package/lib/markdown/md-renderer-rules/render-tabular.js +288 -18
- package/lib/markdown/md-renderer-rules/render-tabular.js.map +1 -1
- package/lib/markdown/mdPluginRaw.js +3 -3
- package/lib/markdown/mdPluginRaw.js.map +1 -1
- package/lib/markdown/utils.d.ts +30 -0
- package/lib/markdown/utils.js +122 -1
- package/lib/markdown/utils.js.map +1 -1
- package/lib/styles/styles-lists.d.ts +1 -1
- package/lib/styles/styles-lists.js +1 -1
- package/lib/styles/styles-lists.js.map +1 -1
- package/package.json +1 -1
- package/pr-specs/2026-01-itemize-support-inside-tabular.md +149 -0
|
@@ -5,6 +5,7 @@ var common_1 = require("./common");
|
|
|
5
5
|
var consts_1 = require("../../common/consts");
|
|
6
6
|
var sub_cell_1 = require("./sub-cell");
|
|
7
7
|
var sub_code_1 = require("./sub-code");
|
|
8
|
+
var placeholder_utils_1 = require("./placeholder-utils");
|
|
8
9
|
var subTabular = [];
|
|
9
10
|
var ClearSubTableLists = function () {
|
|
10
11
|
subTabular = [];
|
|
@@ -50,89 +51,98 @@ var pushSubTabular = function (str, subTabularContent, subRes, posBegin, posEnd,
|
|
|
50
51
|
}
|
|
51
52
|
};
|
|
52
53
|
exports.pushSubTabular = pushSubTabular;
|
|
54
|
+
/**
|
|
55
|
+
* Expands <...> / <<...>> placeholders inside a tabular cell by replacing them with cached
|
|
56
|
+
* sub-tabular content (or diagbox fallback). If injected content contains a list begin
|
|
57
|
+
* (or other block-ish LaTeX), it may be newline-wrapped to keep downstream block parsing stable.
|
|
58
|
+
*/
|
|
53
59
|
var getSubTabular = function (sub, i, isCell, forLatex) {
|
|
54
|
-
var _a;
|
|
60
|
+
var _a, _b, _c;
|
|
55
61
|
if (isCell === void 0) { isCell = true; }
|
|
56
62
|
if (forLatex === void 0) { forLatex = false; }
|
|
57
|
-
|
|
58
|
-
var lastIndex = 0;
|
|
63
|
+
// first expand any extracted code-block placeholders (may add newlines)
|
|
59
64
|
sub = (0, sub_code_1.getExtractedCodeBlockContent)(sub, 0);
|
|
60
65
|
sub = sub.trim();
|
|
61
66
|
if (isCell) {
|
|
62
67
|
sub = (0, common_1.getContent)(sub);
|
|
63
68
|
}
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
return
|
|
69
|
+
// fast path: exact id matches a cached parsed tabular
|
|
70
|
+
var directIndex = subTabular.findIndex(function (item) { return item.id === sub; });
|
|
71
|
+
if (directIndex >= 0 && ((_a = subTabular[directIndex].parsed) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
72
|
+
return subTabular[directIndex].parsed;
|
|
68
73
|
}
|
|
69
|
-
|
|
70
|
-
cellM =
|
|
74
|
+
// find placeholders
|
|
75
|
+
var cellM = (0, placeholder_utils_1.findPlaceholders)(sub, i);
|
|
71
76
|
if (!cellM) {
|
|
72
77
|
return null;
|
|
73
78
|
}
|
|
79
|
+
var parents = null;
|
|
80
|
+
var cursor = 0;
|
|
81
|
+
var contentFragments = [];
|
|
74
82
|
var _loop_2 = function (j) {
|
|
75
|
-
var
|
|
76
|
-
|
|
83
|
+
var placeholder = cellM[j];
|
|
84
|
+
var id = (0, placeholder_utils_1.placeholderToId)(placeholder);
|
|
85
|
+
if (!id) {
|
|
77
86
|
return "continue";
|
|
78
87
|
}
|
|
79
|
-
var
|
|
80
|
-
if (
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
n: 0,
|
|
95
|
-
content: st,
|
|
96
|
-
id: subTabular[index_1].id
|
|
97
|
-
});
|
|
98
|
-
}
|
|
99
|
-
else {
|
|
100
|
-
res.push({
|
|
101
|
-
token: 'inline',
|
|
102
|
-
tag: '',
|
|
103
|
-
n: 0,
|
|
104
|
-
content: st,
|
|
105
|
-
id: subTabular[index_1].id,
|
|
106
|
-
parents: subTabular[index_1].parents,
|
|
107
|
-
type: 'subTabular'
|
|
108
|
-
});
|
|
88
|
+
var start = sub.indexOf(placeholder, cursor);
|
|
89
|
+
if (start === -1) {
|
|
90
|
+
return "continue";
|
|
91
|
+
}
|
|
92
|
+
var end = start + placeholder.length;
|
|
93
|
+
// prefix text between placeholders
|
|
94
|
+
var prefix = sub.slice(cursor, start);
|
|
95
|
+
// Avoid trimming around list-begin tokens to keep `\begin{itemize}` detectable.
|
|
96
|
+
var idx = subTabular.findIndex(function (item) { return item.id === id; });
|
|
97
|
+
var isBlockRule = false;
|
|
98
|
+
if (idx >= 0) {
|
|
99
|
+
var content = subTabular[idx].content;
|
|
100
|
+
isBlockRule = consts_1.BEGIN_LIST_ENV_INLINE_RE.test(content) || consts_1.BEGIN_LIST_ENV_INLINE_RE.test(prefix);
|
|
101
|
+
if (!isBlockRule || prefix.trim() === "") {
|
|
102
|
+
prefix = prefix.trim();
|
|
109
103
|
}
|
|
110
104
|
}
|
|
111
105
|
else {
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
lastIndex = iB + cellM[j].length;
|
|
116
|
-
sub = sub.slice(lastIndex);
|
|
117
|
-
var strE = '';
|
|
118
|
-
if (j === cellM.length - 1) {
|
|
119
|
-
strE = sub;
|
|
120
|
-
}
|
|
121
|
-
var st = strB + subContent + strE;
|
|
122
|
-
if (subContent) {
|
|
123
|
-
res.push({
|
|
124
|
-
token: 'inline',
|
|
125
|
-
tag: '',
|
|
126
|
-
n: 0,
|
|
127
|
-
content: st
|
|
128
|
-
});
|
|
106
|
+
isBlockRule = consts_1.BEGIN_LIST_ENV_INLINE_RE.test(prefix);
|
|
107
|
+
if (!isBlockRule || prefix.trim() === "") {
|
|
108
|
+
prefix = prefix.trim();
|
|
129
109
|
}
|
|
130
110
|
}
|
|
111
|
+
var injected = "";
|
|
112
|
+
if (idx >= 0) {
|
|
113
|
+
parents = subTabular[idx].parents;
|
|
114
|
+
injected = (_b = subTabular[idx].content) !== null && _b !== void 0 ? _b : "";
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
injected = (_c = (0, sub_cell_1.findInDiagboxTable)(id)) !== null && _c !== void 0 ? _c : "";
|
|
118
|
+
}
|
|
119
|
+
// decide wrapping using non-space neighbors around placeholder
|
|
120
|
+
var _d = (0, placeholder_utils_1.getInlineContextAroundSpan)(sub, start, end), beforeNonSpace = _d.beforeNonSpace, afterNonSpace = _d.afterNonSpace;
|
|
121
|
+
// If injected content starts a list env, wrap with newlines so block parsing stays stable
|
|
122
|
+
if (isBlockRule) {
|
|
123
|
+
injected = (0, placeholder_utils_1.wrapWithNewlinesIfInline)(injected, beforeNonSpace, afterNonSpace);
|
|
124
|
+
}
|
|
125
|
+
var st = prefix + injected;
|
|
126
|
+
contentFragments.push(st);
|
|
127
|
+
cursor = end;
|
|
131
128
|
};
|
|
132
129
|
for (var j = 0; j < cellM.length; j++) {
|
|
133
130
|
_loop_2(j);
|
|
134
131
|
}
|
|
135
|
-
|
|
132
|
+
if (cursor < sub.length) {
|
|
133
|
+
contentFragments.push(sub.slice(cursor));
|
|
134
|
+
}
|
|
135
|
+
return [
|
|
136
|
+
{
|
|
137
|
+
token: 'inline',
|
|
138
|
+
tag: '',
|
|
139
|
+
n: 0,
|
|
140
|
+
content: contentFragments.join(''),
|
|
141
|
+
type: forLatex ? "inline" : "subTabular",
|
|
142
|
+
parents: parents,
|
|
143
|
+
isSubTabular: true,
|
|
144
|
+
},
|
|
145
|
+
];
|
|
136
146
|
};
|
|
137
147
|
exports.getSubTabular = getSubTabular;
|
|
138
148
|
//# sourceMappingURL=sub-tabular.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sub-tabular.js","sourceRoot":"","sources":["../../../../src/markdown/md-block-rule/begin-tabular/sub-tabular.ts"],"names":[],"mappings":";;;AACA,mCAAwD;AACxD,
|
|
1
|
+
{"version":3,"file":"sub-tabular.js","sourceRoot":"","sources":["../../../../src/markdown/md-block-rule/begin-tabular/sub-tabular.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.AddTdSubTable = exports.AddTd = exports.addHLineIntoStyle = exports.addStyle = exports.setColumnLines = void 0;
|
|
4
4
|
var utils_1 = require("../../utils");
|
|
5
5
|
var sub_code_1 = require("./sub-code");
|
|
6
|
+
var consts_1 = require("../../common/consts");
|
|
6
7
|
var verticalCellLine = function (line, pos) {
|
|
7
8
|
if (pos === void 0) { pos = 'left'; }
|
|
8
9
|
var lines = line.split(' ');
|
|
@@ -102,7 +103,7 @@ var AddTd = function (content, aligns, lines, space, decimal) {
|
|
|
102
103
|
if (!content) {
|
|
103
104
|
attrs.push(['class', '_empty']);
|
|
104
105
|
}
|
|
105
|
-
content = content.
|
|
106
|
+
content = content.replace(consts_1.preserveNewlineUnlessDoubleAngleUuidRegex, ' ');
|
|
106
107
|
content = (0, sub_code_1.getExtractedCodeBlockContent)(content, 0);
|
|
107
108
|
res.push({ token: 'td_open', type: 'td_open', tag: 'td', n: 1, attrs: attrs });
|
|
108
109
|
if (content) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabular-td.js","sourceRoot":"","sources":["../../../../src/markdown/md-block-rule/begin-tabular/tabular-td.ts"],"names":[],"mappings":";;;AAEA,qCAAgD;AAChD,uCAA0D;
|
|
1
|
+
{"version":3,"file":"tabular-td.js","sourceRoot":"","sources":["../../../../src/markdown/md-block-rule/begin-tabular/tabular-td.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,4 +13,19 @@ type SetTokensBlockParseOptions = {
|
|
|
13
13
|
* disabling of selected block rules (list/blockquote/fence/heading).
|
|
14
14
|
*/
|
|
15
15
|
export declare const SetTokensBlockParse: (state: any, content: string, options?: SetTokensBlockParseOptions) => void;
|
|
16
|
+
type ParseIntoTokenChildrenOptions = {
|
|
17
|
+
/** If true, temporarily disables selected markdown-it block rules (e.g. lists). */
|
|
18
|
+
disableBlockRules?: boolean;
|
|
19
|
+
};
|
|
20
|
+
/**
|
|
21
|
+
* Parses a markdown fragment into block tokens and appends them to `token.children`.
|
|
22
|
+
* Optionally disables a predefined set of markdown-it block rules (see `defaultRulesToDisable`)
|
|
23
|
+
* and neutralizes leading block markers on the first line to prevent accidental block parsing.
|
|
24
|
+
* @param state - markdown-it parsing state.
|
|
25
|
+
* @param content - Markdown fragment to parse.
|
|
26
|
+
* @param token - Target token that will receive parsed children.
|
|
27
|
+
* @param opts - Parsing options.
|
|
28
|
+
* @returns Parsed child tokens (also appended to `token.children`).
|
|
29
|
+
*/
|
|
30
|
+
export declare const parseBlockIntoTokenChildren: (state: any, content: string, token: Token, opts?: ParseIntoTokenChildrenOptions) => any[];
|
|
16
31
|
export {};
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SetTokensBlockParse = void 0;
|
|
3
|
+
exports.parseBlockIntoTokenChildren = exports.SetTokensBlockParse = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
|
5
5
|
// Matches leading markdown block markers on the first line:
|
|
6
6
|
// - up to 3 spaces + "#" heading
|
|
7
7
|
// - or one/many ">" blockquote markers with arbitrary spaces between
|
|
8
8
|
// - or fenced code block (```... or ~~~...)
|
|
9
9
|
var MD_BLOCK_LEADING_RE = /^(\s{0,3})(#{1,6}(?=\s|$)|>[\s>]*|(`{3,}|~{3,})[^\n]*)/;
|
|
10
|
+
var defaultRulesToDisable = ['list'];
|
|
10
11
|
/**
|
|
11
12
|
* If the first line looks like a markdown block (heading, quote, fence),
|
|
12
13
|
* escape the first block marker character (prepend "\") so markdown-it's
|
|
@@ -47,6 +48,10 @@ var SetTokensBlockParse = function (state, content, options) {
|
|
|
47
48
|
if (options === void 0) { options = {}; }
|
|
48
49
|
var startLine = options.startLine, endLine = options.endLine, _b = options.isInline, isInline = _b === void 0 ? false : _b, _c = options.contentPositions, contentPositions = _c === void 0 ? null : _c, _d = options.forPptx, forPptx = _d === void 0 ? false : _d, _e = options.disableBlockRules, disableBlockRules = _e === void 0 ? false : _e;
|
|
49
50
|
var children = [];
|
|
51
|
+
var envIsInline = !!state.env.isInline;
|
|
52
|
+
var envSubTabular = !!state.env.subTabular;
|
|
53
|
+
var envInheritedListType = state.env.inheritedListType;
|
|
54
|
+
state.env.isInline = disableBlockRules;
|
|
50
55
|
// When block rules are disabled, neutralize leading markdown block markers
|
|
51
56
|
// on the first line so markdown-it does not treat them as real block syntax.
|
|
52
57
|
var safeContent = disableBlockRules
|
|
@@ -54,7 +59,6 @@ var SetTokensBlockParse = function (state, content, options) {
|
|
|
54
59
|
: content;
|
|
55
60
|
if (disableBlockRules) {
|
|
56
61
|
var blockRuler = state.md.block.ruler;
|
|
57
|
-
var rulesToTouch = ['list'];
|
|
58
62
|
// 1. Let's remember which of these rules were included
|
|
59
63
|
var rulesToReEnable = [];
|
|
60
64
|
if (blockRuler.__rules__) {
|
|
@@ -65,15 +69,15 @@ var SetTokensBlockParse = function (state, content, options) {
|
|
|
65
69
|
}
|
|
66
70
|
};
|
|
67
71
|
try {
|
|
68
|
-
for (var
|
|
69
|
-
var name_1 =
|
|
72
|
+
for (var defaultRulesToDisable_1 = tslib_1.__values(defaultRulesToDisable), defaultRulesToDisable_1_1 = defaultRulesToDisable_1.next(); !defaultRulesToDisable_1_1.done; defaultRulesToDisable_1_1 = defaultRulesToDisable_1.next()) {
|
|
73
|
+
var name_1 = defaultRulesToDisable_1_1.value;
|
|
70
74
|
_loop_1(name_1);
|
|
71
75
|
}
|
|
72
76
|
}
|
|
73
77
|
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
74
78
|
finally {
|
|
75
79
|
try {
|
|
76
|
-
if (
|
|
80
|
+
if (defaultRulesToDisable_1_1 && !defaultRulesToDisable_1_1.done && (_a = defaultRulesToDisable_1.return)) _a.call(defaultRulesToDisable_1);
|
|
77
81
|
}
|
|
78
82
|
finally { if (e_1) throw e_1.error; }
|
|
79
83
|
}
|
|
@@ -91,6 +95,9 @@ var SetTokensBlockParse = function (state, content, options) {
|
|
|
91
95
|
else {
|
|
92
96
|
state.md.block.parse(safeContent, state.md, state.env, children);
|
|
93
97
|
}
|
|
98
|
+
state.env.isInline = envIsInline;
|
|
99
|
+
state.env.subTabular = envSubTabular;
|
|
100
|
+
state.env.inheritedListType = envInheritedListType;
|
|
94
101
|
var isFirst = true;
|
|
95
102
|
for (var j = 0; j < children.length; j++) {
|
|
96
103
|
var child = children[j];
|
|
@@ -128,4 +135,78 @@ var SetTokensBlockParse = function (state, content, options) {
|
|
|
128
135
|
}
|
|
129
136
|
};
|
|
130
137
|
exports.SetTokensBlockParse = SetTokensBlockParse;
|
|
138
|
+
/**
|
|
139
|
+
* Parses a markdown fragment into block tokens and appends them to `token.children`.
|
|
140
|
+
* Optionally disables a predefined set of markdown-it block rules (see `defaultRulesToDisable`)
|
|
141
|
+
* and neutralizes leading block markers on the first line to prevent accidental block parsing.
|
|
142
|
+
* @param state - markdown-it parsing state.
|
|
143
|
+
* @param content - Markdown fragment to parse.
|
|
144
|
+
* @param token - Target token that will receive parsed children.
|
|
145
|
+
* @param opts - Parsing options.
|
|
146
|
+
* @returns Parsed child tokens (also appended to `token.children`).
|
|
147
|
+
*/
|
|
148
|
+
var parseBlockIntoTokenChildren = function (state, content, token, opts) {
|
|
149
|
+
var e_2, _a, _b;
|
|
150
|
+
var _c, _d, _e;
|
|
151
|
+
if (opts === void 0) { opts = {}; }
|
|
152
|
+
var _f = opts.disableBlockRules, disableBlockRules = _f === void 0 ? false : _f;
|
|
153
|
+
var children = [];
|
|
154
|
+
var envInheritedListType = (_c = state.env) === null || _c === void 0 ? void 0 : _c.inheritedListType;
|
|
155
|
+
// When block rules are disabled, neutralize leading markdown block markers on first line.
|
|
156
|
+
var safeContent = disableBlockRules
|
|
157
|
+
? escapeLeadingMarkdownBlockLine(content)
|
|
158
|
+
: content;
|
|
159
|
+
if (disableBlockRules) {
|
|
160
|
+
var blockRuler = (_e = (_d = state.md) === null || _d === void 0 ? void 0 : _d.block) === null || _e === void 0 ? void 0 : _e.ruler;
|
|
161
|
+
// 1. Let's remember which of these rules were included
|
|
162
|
+
var rulesToReEnable = [];
|
|
163
|
+
try {
|
|
164
|
+
if (blockRuler === null || blockRuler === void 0 ? void 0 : blockRuler.__rules__) {
|
|
165
|
+
var _loop_2 = function (name_2) {
|
|
166
|
+
var rule = blockRuler.__rules__.find(function (r) { return r.name === name_2; });
|
|
167
|
+
if (rule === null || rule === void 0 ? void 0 : rule.enabled) {
|
|
168
|
+
rulesToReEnable.push(name_2);
|
|
169
|
+
}
|
|
170
|
+
};
|
|
171
|
+
try {
|
|
172
|
+
for (var defaultRulesToDisable_2 = tslib_1.__values(defaultRulesToDisable), defaultRulesToDisable_2_1 = defaultRulesToDisable_2.next(); !defaultRulesToDisable_2_1.done; defaultRulesToDisable_2_1 = defaultRulesToDisable_2.next()) {
|
|
173
|
+
var name_2 = defaultRulesToDisable_2_1.value;
|
|
174
|
+
_loop_2(name_2);
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
178
|
+
finally {
|
|
179
|
+
try {
|
|
180
|
+
if (defaultRulesToDisable_2_1 && !defaultRulesToDisable_2_1.done && (_a = defaultRulesToDisable_2.return)) _a.call(defaultRulesToDisable_2);
|
|
181
|
+
}
|
|
182
|
+
finally { if (e_2) throw e_2.error; }
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
// 2. Temporarily disable only those that were actually enabled.
|
|
186
|
+
if (rulesToReEnable.length) {
|
|
187
|
+
blockRuler === null || blockRuler === void 0 ? void 0 : blockRuler.disable(rulesToReEnable, true);
|
|
188
|
+
}
|
|
189
|
+
state.md.block.parse(safeContent, state.md, state.env, children);
|
|
190
|
+
}
|
|
191
|
+
finally {
|
|
192
|
+
if (rulesToReEnable.length) {
|
|
193
|
+
blockRuler === null || blockRuler === void 0 ? void 0 : blockRuler.enable(rulesToReEnable, true);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
else {
|
|
198
|
+
state.md.block.parse(safeContent, state.md, state.env, children);
|
|
199
|
+
}
|
|
200
|
+
if (!token.children) {
|
|
201
|
+
token.children = [];
|
|
202
|
+
}
|
|
203
|
+
if (children.length) {
|
|
204
|
+
(_b = token.children).push.apply(_b, tslib_1.__spreadArray([], tslib_1.__read(children), false));
|
|
205
|
+
}
|
|
206
|
+
if (state.env) {
|
|
207
|
+
state.env.inheritedListType = envInheritedListType;
|
|
208
|
+
}
|
|
209
|
+
return children;
|
|
210
|
+
};
|
|
211
|
+
exports.parseBlockIntoTokenChildren = parseBlockIntoTokenChildren;
|
|
131
212
|
//# sourceMappingURL=helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/markdown/md-block-rule/helper.ts"],"names":[],"mappings":";;;;AAWA,4DAA4D;AAC5D,mCAAmC;AACnC,uEAAuE;AACvE,8CAA8C;AAC9C,IAAM,mBAAmB,GACvB,wDAAwD,CAAC;
|
|
1
|
+
{"version":3,"file":"helper.js","sourceRoot":"","sources":["../../../src/markdown/md-block-rule/helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,79 @@ var utils_1 = require("../md-latex-footnotes/utils");
|
|
|
7
7
|
var utils_2 = require("../utils");
|
|
8
8
|
var counters_1 = require("../common/counters");
|
|
9
9
|
var textWidthByTokens_1 = require("../common/textWidthByTokens");
|
|
10
|
+
var INLINE_LIKE_TYPES = new Set([
|
|
11
|
+
'inline',
|
|
12
|
+
'title', 'section', 'subsection', 'subsubsection',
|
|
13
|
+
'addcontentsline', 'item_inline', 'caption_table'
|
|
14
|
+
]);
|
|
15
|
+
function isInlineLike(tok) {
|
|
16
|
+
var t = tok === null || tok === void 0 ? void 0 : tok.type;
|
|
17
|
+
var tk = tok === null || tok === void 0 ? void 0 : tok.token;
|
|
18
|
+
return INLINE_LIKE_TYPES.has(t) || INLINE_LIKE_TYPES.has(tk);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Recursively walk tokens and parse any inline-like tokens deeply.
|
|
22
|
+
*
|
|
23
|
+
* Important:
|
|
24
|
+
* - respects tok.envToInline stacking (deepest overrides)
|
|
25
|
+
* - supports tok.token vs tok.type (tabular children use tok.token)
|
|
26
|
+
* - preserves td_open attribute injection behavior
|
|
27
|
+
*/
|
|
28
|
+
var walkInlineInTokens = function (list, state, getCurrentTag, getRootEnvToInline, envStack, parentList) {
|
|
29
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
30
|
+
if (envStack === void 0) { envStack = []; }
|
|
31
|
+
if (!(list === null || list === void 0 ? void 0 : list.length))
|
|
32
|
+
return;
|
|
33
|
+
// base env for this level is: (root envToInline) then stack overrides
|
|
34
|
+
var baseEnv = Object.assign.apply(Object, tslib_1.__spreadArray([{}, getRootEnvToInline()], tslib_1.__read(envStack), false));
|
|
35
|
+
for (var i = 0; i < list.length; i++) {
|
|
36
|
+
var tok = list[i];
|
|
37
|
+
if ((tok === null || tok === void 0 ? void 0 : tok.token) === "inline_decimal") {
|
|
38
|
+
(0, begin_tabular_1.inlineDecimalParse)(tok);
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
var nextStack = (tok === null || tok === void 0 ? void 0 : tok.envToInline) ? tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(envStack), false), [tok.envToInline], false) : envStack;
|
|
42
|
+
var mergedEnvToInline = (tok === null || tok === void 0 ? void 0 : tok.envToInline) ? Object.assign({}, baseEnv, tok.envToInline) : baseEnv;
|
|
43
|
+
if (isInlineLike(tok)) {
|
|
44
|
+
state.env = Object.assign({}, tslib_1.__assign({}, state.env), {
|
|
45
|
+
currentTag: getCurrentTag(),
|
|
46
|
+
}, mergedEnvToInline);
|
|
47
|
+
if (!((_a = tok.children) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
48
|
+
state.md.inline.parse(tok.content, state.md, state.env, tok.children);
|
|
49
|
+
}
|
|
50
|
+
if (((_b = tok.meta) === null || _b === void 0 ? void 0 : _b.isMathInText) && ((_c = tok.children) === null || _c === void 0 ? void 0 : _c.length)) {
|
|
51
|
+
(0, utils_2.applyAttrToInlineMath)(tok, "data-math-in-text", "true");
|
|
52
|
+
}
|
|
53
|
+
if ((_d = state.md.options) === null || _d === void 0 ? void 0 : _d.enableSizeCalculation) {
|
|
54
|
+
if ((tok.type === 'inline' || tok.token === 'inline') && ((_e = tok.children) === null || _e === void 0 ? void 0 : _e.length)) {
|
|
55
|
+
var data = (0, textWidthByTokens_1.getTextWidthByTokens)(tok.children);
|
|
56
|
+
if (data) {
|
|
57
|
+
tok.widthEx = data.widthEx;
|
|
58
|
+
tok.heightEx = data.heightEx;
|
|
59
|
+
(0, counters_1.setSizeCounter)(data.widthEx, data.heightEx);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
if ((tok.type === 'inline' || tok.token === 'inline') && ((_f = tok.children) === null || _f === void 0 ? void 0 : _f.length)) {
|
|
64
|
+
if (tok.lastBreakToSpace && ((_g = tok.children[tok.children.length - 1]) === null || _g === void 0 ? void 0 : _g.type) === 'softbreak') {
|
|
65
|
+
tok.children[tok.children.length - 1].hidden = true;
|
|
66
|
+
tok.children[tok.children.length - 1].showSpace = true;
|
|
67
|
+
}
|
|
68
|
+
if (tok.firstBreakToSpace && ((_h = tok.children[0]) === null || _h === void 0 ? void 0 : _h.type) === 'softbreak') {
|
|
69
|
+
tok.children[0].hidden = true;
|
|
70
|
+
tok.children[0].showSpace = true;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
if (i > 0 && ((_j = list[i - 1]) === null || _j === void 0 ? void 0 : _j.type) === 'td_open') {
|
|
74
|
+
(0, utils_2.addAttributesToParentToken)(list[i - 1], tok);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
// recurse to children (tabular nesting can be arbitrary)
|
|
78
|
+
if ((_k = tok === null || tok === void 0 ? void 0 : tok.children) === null || _k === void 0 ? void 0 : _k.length) {
|
|
79
|
+
walkInlineInTokens(tok.children, state, getCurrentTag, getRootEnvToInline, nextStack, list);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
};
|
|
10
83
|
/** Top-level inline rule executor
|
|
11
84
|
* Replace inline core rule
|
|
12
85
|
*
|
|
@@ -15,7 +88,7 @@ var textWidthByTokens_1 = require("../common/textWidthByTokens");
|
|
|
15
88
|
* This is necessary to match labels with the current block.
|
|
16
89
|
* */
|
|
17
90
|
var coreInline = function (state) {
|
|
18
|
-
var _a, _b, _c, _d, _e, _f, _g, _h
|
|
91
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
19
92
|
var tokens = state.tokens;
|
|
20
93
|
var token;
|
|
21
94
|
var currentTag = {};
|
|
@@ -32,47 +105,14 @@ var coreInline = function (state) {
|
|
|
32
105
|
token = tokens[i];
|
|
33
106
|
if (token.type === 'footnote_latex' || token.type === 'footnotetext_latex' || token.type === 'blfootnotetext_latex') {
|
|
34
107
|
if ((_a = token.children) === null || _a === void 0 ? void 0 : _a.length) {
|
|
35
|
-
|
|
108
|
+
// preserve notInjectLineNumber behavior
|
|
109
|
+
for (var j = 0; j < token.children.length; j++) {
|
|
36
110
|
if (token.children[j].type === "paragraph_open") {
|
|
37
111
|
token.children[j].notInjectLineNumber = true;
|
|
38
112
|
}
|
|
39
|
-
if (token.children[j].type === 'inline'
|
|
40
|
-
|| ['title', 'section', 'subsection', 'subsubsection', 'addcontentsline',
|
|
41
|
-
'item_inline', 'caption_table'
|
|
42
|
-
].includes(token.children[j].type)) {
|
|
43
|
-
state.env = Object.assign({}, tslib_1.__assign({}, state.env), {
|
|
44
|
-
currentTag: currentTag,
|
|
45
|
-
}, tslib_1.__assign({}, envToInline));
|
|
46
|
-
state.md.inline.parse(token.children[j].content, state.md, state.env, token.children[j].children);
|
|
47
|
-
if (((_c = token.children[j].meta) === null || _c === void 0 ? void 0 : _c.isMathInText) && ((_d = token.children[j].children) === null || _d === void 0 ? void 0 : _d.length)) {
|
|
48
|
-
(0, utils_2.applyAttrToInlineMath)(token.children[j], "data-math-in-text", "true");
|
|
49
|
-
}
|
|
50
|
-
if (i > 0) {
|
|
51
|
-
(0, utils_2.addAttributesToParentToken)(tokens[i - 1], token);
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
if (token.children[j].type === 'tabular' && ((_e = token.children[j].children) === null || _e === void 0 ? void 0 : _e.length)) {
|
|
55
|
-
for (var k = 0; k < token.children[j].children.length; k++) {
|
|
56
|
-
var tok = token.children[j].children[k];
|
|
57
|
-
if (tok.token === "inline_decimal") {
|
|
58
|
-
tok = (0, begin_tabular_1.inlineDecimalParse)(tok);
|
|
59
|
-
continue;
|
|
60
|
-
}
|
|
61
|
-
if (tok.token === "inline") {
|
|
62
|
-
if (tok.envToInline) {
|
|
63
|
-
envToInline = tok.envToInline;
|
|
64
|
-
}
|
|
65
|
-
state.env = Object.assign({}, tslib_1.__assign({}, state.env), {
|
|
66
|
-
currentTag: currentTag,
|
|
67
|
-
}, tslib_1.__assign({}, envToInline));
|
|
68
|
-
state.md.inline.parse(tok.content, state.md, state.env, tok.children);
|
|
69
|
-
if (j > 0 && token.children[j - 1].type === 'td_open') {
|
|
70
|
-
(0, utils_2.addAttributesToParentToken)(token.children[j - 1], tok);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
113
|
}
|
|
114
|
+
// deep-walk all inlines/tabular nesting inside footnote token
|
|
115
|
+
walkInlineInTokens(token.children, state, function () { return currentTag; }, function () { return envToInline; });
|
|
76
116
|
}
|
|
77
117
|
if (!state.env.footnotes.list) {
|
|
78
118
|
state.env.footnotes.list = [];
|
|
@@ -97,26 +137,9 @@ var coreInline = function (state) {
|
|
|
97
137
|
if (token.envToInline) {
|
|
98
138
|
envToInline = token.envToInline;
|
|
99
139
|
}
|
|
100
|
-
if (token.type === 'tabular' && ((
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
if (tok.token === "inline_decimal") {
|
|
104
|
-
tok = (0, begin_tabular_1.inlineDecimalParse)(tok);
|
|
105
|
-
continue;
|
|
106
|
-
}
|
|
107
|
-
if (tok.token === "inline") {
|
|
108
|
-
if (tok.envToInline) {
|
|
109
|
-
envToInline = tok.envToInline;
|
|
110
|
-
}
|
|
111
|
-
state.env = Object.assign({}, tslib_1.__assign({}, state.env), {
|
|
112
|
-
currentTag: currentTag,
|
|
113
|
-
}, tslib_1.__assign({}, envToInline));
|
|
114
|
-
state.md.inline.parse(tok.content, state.md, state.env, tok.children);
|
|
115
|
-
if (j > 0 && token.children[j - 1].type === 'td_open') {
|
|
116
|
-
(0, utils_2.addAttributesToParentToken)(token.children[j - 1], tok);
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
140
|
+
if (token.type === 'tabular' && ((_b = token.children) === null || _b === void 0 ? void 0 : _b.length)) {
|
|
141
|
+
// deep-walk tabular of any depth
|
|
142
|
+
walkInlineInTokens(token.children, state, function () { return currentTag; }, function () { return envToInline; });
|
|
120
143
|
continue;
|
|
121
144
|
}
|
|
122
145
|
if (token.type === 'inline'
|
|
@@ -126,12 +149,14 @@ var coreInline = function (state) {
|
|
|
126
149
|
state.env = Object.assign({}, tslib_1.__assign({}, state.env), {
|
|
127
150
|
currentTag: currentTag,
|
|
128
151
|
}, tslib_1.__assign({}, envToInline));
|
|
129
|
-
|
|
130
|
-
|
|
152
|
+
if (!((_c = token.children) === null || _c === void 0 ? void 0 : _c.length)) {
|
|
153
|
+
state.md.inline.parse(token.content, state.md, state.env, token.children);
|
|
154
|
+
}
|
|
155
|
+
if (((_d = token.meta) === null || _d === void 0 ? void 0 : _d.isMathInText) && ((_e = token.children) === null || _e === void 0 ? void 0 : _e.length)) {
|
|
131
156
|
(0, utils_2.applyAttrToInlineMath)(token.children, "data-math-in-text", "true");
|
|
132
157
|
}
|
|
133
|
-
if ((
|
|
134
|
-
if (token.type === 'inline' && ((
|
|
158
|
+
if ((_f = state.md.options) === null || _f === void 0 ? void 0 : _f.enableSizeCalculation) {
|
|
159
|
+
if (token.type === 'inline' && ((_g = token.children) === null || _g === void 0 ? void 0 : _g.length)) {
|
|
135
160
|
var data = (0, textWidthByTokens_1.getTextWidthByTokens)(token.children);
|
|
136
161
|
if (data) {
|
|
137
162
|
token.widthEx = data.widthEx;
|
|
@@ -140,7 +165,7 @@ var coreInline = function (state) {
|
|
|
140
165
|
}
|
|
141
166
|
}
|
|
142
167
|
}
|
|
143
|
-
if (token.type === 'inline' && ((
|
|
168
|
+
if (token.type === 'inline' && ((_h = token.children) === null || _h === void 0 ? void 0 : _h.length)) {
|
|
144
169
|
if (token.lastBreakToSpace && token.children[token.children.length - 1].type === 'softbreak') {
|
|
145
170
|
token.children[token.children.length - 1].hidden = true;
|
|
146
171
|
token.children[token.children.length - 1].showSpace = true;
|