mathpix-markdown-it 2.0.31 → 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 +1 -1
- package/lib/markdown/md-block-rule/begin-tabular/parse-tabular.js +84 -11
- 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 +23 -0
- package/lib/markdown/utils.js +108 -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
|
@@ -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":";;;;AAWA,4DAA4D;AAC5D,mCAAmC;AACnC,uEAAuE;AACvE,8CAA8C;AAC9C,IAAM,mBAAmB,GACvB,wDAAwD,CAAC;AAC3D,IAAM,qBAAqB,GAAa,CAAC,MAAM,CAAC,CAAC;AAEjD;;;;GAIG;AACH,IAAM,8BAA8B,GAAG,UAAC,OAAe;;IACrD,IAAM,KAAK,GAAa,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5C,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,OAAO,CAAC;IACvC,IAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IACvB,IAAM,CAAC,GAAqB,KAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC7D,IAAI,CAAC,CAAC,EAAE;QACN,OAAO,OAAO,CAAC;KAChB;IACD,IAAM,MAAM,GAAW,MAAA,CAAC,CAAC,CAAC,CAAC,mCAAI,EAAE,CAAC,CAAe,uBAAuB;IACxE,IAAM,IAAI,GAAW,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,mCAAmC;IACpF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;QAChB,OAAO,OAAO,CAAC;KAChB;IACD,0CAA0C;IAC1C,8BAA8B;IAC9B,kCAAkC;IAClC,gCAAgC;IAChC,gCAAgC;IAChC,IAAM,WAAW,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnD,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,WAAW,CAAC;IAChC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC,CAAA;AAED;;;;;GAKG;AACI,IAAM,mBAAmB,GAAG,UAAC,KAAK,EAAE,OAAe,EAAE,OAAwC;;IAAxC,wBAAA,EAAA,YAAwC;IAEhG,IAAA,SAAS,GAMP,OAAO,UANA,EACT,OAAO,GAKL,OAAO,QALF,EACP,KAIE,OAAO,SAJO,EAAhB,QAAQ,mBAAG,KAAK,KAAA,EAChB,KAGE,OAAO,iBAHc,EAAvB,gBAAgB,mBAAG,IAAI,KAAA,EACvB,KAEE,OAAO,QAFM,EAAf,OAAO,mBAAG,KAAK,KAAA,EACf,KACE,OAAO,kBADgB,EAAzB,iBAAiB,mBAAG,KAAK,KAAA,CACf;IACZ,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAM,WAAW,GAAY,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC;IAClD,IAAM,aAAa,GAAY,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC;IACtD,IAAM,oBAAoB,GAAuB,KAAK,CAAC,GAAG,CAAC,iBAAiB,CAAC;IAC7E,KAAK,CAAC,GAAG,CAAC,QAAQ,GAAG,iBAAiB,CAAC;IACvC,2EAA2E;IAC3E,6EAA6E;IAC7E,IAAM,WAAW,GAAW,iBAAiB;QACzC,CAAC,CAAC,8BAA8B,CAAC,OAAO,CAAC;QACzC,CAAC,CAAC,OAAO,CAAC;IACd,IAAI,iBAAiB,EAAE;QACrB,IAAM,UAAU,GAAQ,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;QAC7C,uDAAuD;QACvD,IAAM,eAAe,GAAa,EAAE,CAAC;QACrC,IAAI,UAAU,CAAC,SAAS,EAAE;oCACb,MAAI;gBACb,IAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,MAAI,EAAf,CAAe,CAAC,CAAC;gBAC/D,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;oBACxB,eAAe,CAAC,IAAI,CAAC,MAAI,CAAC,CAAC;iBAC5B;;;gBAJH,KAAmB,IAAA,0BAAA,iBAAA,qBAAqB,CAAA,4DAAA;oBAAnC,IAAM,MAAI,kCAAA;4BAAJ,MAAI;iBAKd;;;;;;;;;SACF;QACD,gEAAgE;QAChE,UAAU,CAAC,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;QAC1C,IAAI;YACF,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;SAClE;gBAAS;YACR,gDAAgD;YAChD,UAAU,CAAC,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;SAC1C;KACF;SAAM;QACL,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;KAClE;IACD,KAAK,CAAC,GAAG,CAAC,QAAQ,GAAG,WAAW,CAAC;IACjC,KAAK,CAAC,GAAG,CAAC,UAAU,GAAG,aAAa,CAAC;IACrC,KAAK,CAAC,GAAG,CAAC,iBAAiB,GAAG,oBAAoB,CAAC;IACnD,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACxC,IAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC1B,sBAAsB;QACtB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAM,KAAK,GAAU,KAAK,CAAC;QAC3B,IAAI,QAAQ,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,EAAE;YAC1D,IAAI,KAAK,CAAC,KAAK,EAAE;gBACf,IAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACrC,IAAI,KAAK,EAAE;oBACT,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,mBAAmB,GAAG,KAAK,CAAC,CAAC;iBACrD;qBAAM;oBACL,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC;iBACjD;aACF;iBAAM;gBACL,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;aAC5C;YACD,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;SACzC;QACD,IAAI,SAAS,IAAI,OAAO,EAAE;YACxB,KAAK,CAAC,GAAG,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;SAClC;QACD,IAAI,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,cAAc,CAAC,WAAW,CAAC,KAAI,KAAK,CAAC,GAAG,EAAE;YAC9D,KAAK,CAAC,GAAG,GAAG,CAAC,gBAAgB,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,gBAAgB,CAAC,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACnG,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE;gBACtC,KAAK,CAAC,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAA;aACvC;SACF;QAED,IAAI,OAAO,IAAI,QAAQ,IAAI,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,EAAE;YACtE,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;YACzC,OAAO,GAAG,KAAK,CAAC;SACjB;KACF;AACH,CAAC,CAAC;AA/EW,QAAA,mBAAmB,uBA+E9B;AAOF;;;;;;;;;GASG;AACI,IAAM,2BAA2B,GAAG,UACzC,KAAU,EACV,OAAe,EACf,KAAY,EACZ,IAAwC;;;IAAxC,qBAAA,EAAA,SAAwC;IAEhC,IAAA,KAA8B,IAAI,kBAAT,EAAzB,iBAAiB,mBAAG,KAAK,KAAA,CAAU;IAC3C,IAAM,QAAQ,GAAU,EAAE,CAAC;IAC3B,IAAM,oBAAoB,GAAuB,MAAA,KAAK,CAAC,GAAG,0CAAE,iBAAiB,CAAC;IAC9E,0FAA0F;IAC1F,IAAM,WAAW,GAAW,iBAAiB;QAC3C,CAAC,CAAC,8BAA8B,CAAC,OAAO,CAAC;QACzC,CAAC,CAAC,OAAO,CAAC;IACZ,IAAI,iBAAiB,EAAE;QACrB,IAAM,UAAU,GAAQ,MAAA,MAAA,KAAK,CAAC,EAAE,0CAAE,KAAK,0CAAE,KAAK,CAAC;QAC/C,uDAAuD;QACvD,IAAM,eAAe,GAAa,EAAE,CAAC;QACrC,IAAI;YACF,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,SAAS,EAAE;wCACd,MAAI;oBACb,IAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,MAAI,EAAf,CAAe,CAAC,CAAC;oBAC/D,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,EAAE;wBACjB,eAAe,CAAC,IAAI,CAAC,MAAI,CAAC,CAAC;qBAC5B;;;oBAJH,KAAmB,IAAA,0BAAA,iBAAA,qBAAqB,CAAA,4DAAA;wBAAnC,IAAM,MAAI,kCAAA;gCAAJ,MAAI;qBAKd;;;;;;;;;aACF;YACD,gEAAgE;YAChE,IAAI,eAAe,CAAC,MAAM,EAAE;gBAC1B,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;aAC5C;YACD,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;SAClE;gBAAS;YACR,IAAI,eAAe,CAAC,MAAM,EAAE;gBAC1B,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;aAC3C;SACF;KACF;SAAM;QACL,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;KAClE;IACD,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE;QACnB,KAAK,CAAC,QAAQ,GAAG,EAAE,CAAC;KACrB;IACD,IAAI,QAAQ,CAAC,MAAM,EAAE;QACnB,CAAA,KAAA,KAAK,CAAC,QAAQ,CAAA,CAAC,IAAI,oDAAI,QAAQ,WAAE;KAClC;IACD,IAAI,KAAK,CAAC,GAAG,EAAE;QACb,KAAK,CAAC,GAAG,CAAC,iBAAiB,GAAG,oBAAoB,CAAC;KACpD;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAjDW,QAAA,2BAA2B,+BAiDtC"}
|
|
@@ -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;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core-inline.js","sourceRoot":"","sources":["../../../src/markdown/md-inline-rule/core-inline.ts"],"names":[],"mappings":";;;;AACA,gEAAoE;AACpE,qDAIqC;AACrC,kCAA6E;AAC7E,+CAAoD;AACpD,iEAA4E;AAE5E
|
|
1
|
+
{"version":3,"file":"core-inline.js","sourceRoot":"","sources":["../../../src/markdown/md-inline-rule/core-inline.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,30 +3,30 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.inlineTabular = void 0;
|
|
4
4
|
var begin_tabular_1 = require("../md-block-rule/begin-tabular");
|
|
5
5
|
var parse_tabular_1 = require("../md-block-rule/begin-tabular/parse-tabular");
|
|
6
|
+
var utils_1 = require("../utils");
|
|
7
|
+
var consts_1 = require("../common/consts");
|
|
6
8
|
var inlineTabular = function (state, silent) {
|
|
7
9
|
var _a;
|
|
8
10
|
var startMathPos = state.pos;
|
|
9
11
|
if (state.src.charCodeAt(startMathPos) !== 0x5c /* \ */) {
|
|
10
12
|
return false;
|
|
11
13
|
}
|
|
12
|
-
var
|
|
13
|
-
|
|
14
|
-
.match(
|
|
14
|
+
var src = state.src.slice(startMathPos);
|
|
15
|
+
var match = src
|
|
16
|
+
.match(consts_1.openTagTabular);
|
|
15
17
|
if (!match) {
|
|
16
18
|
return false;
|
|
17
19
|
}
|
|
18
|
-
var
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
.lastIndexOf(endMarker);
|
|
22
|
-
if (endMarkerPos === -1) {
|
|
20
|
+
var block = (0, utils_1.findFirstTagContentWithNesting)(src, consts_1.BEGIN_TABULAR_INLINE_RE, consts_1.END_TABULAR_INLINE_RE).block;
|
|
21
|
+
if (!block) {
|
|
22
|
+
// there is no complete block
|
|
23
23
|
return false;
|
|
24
24
|
}
|
|
25
|
-
|
|
26
|
-
var nextPos =
|
|
25
|
+
var fullBlock = src.slice(block.open.posStart, block.close.posEnd);
|
|
26
|
+
var nextPos = startMathPos + block.close.posEnd;
|
|
27
27
|
if (!silent) {
|
|
28
28
|
var token = state.push("tabular_inline", "", 0);
|
|
29
|
-
token.content =
|
|
29
|
+
token.content = fullBlock;
|
|
30
30
|
token.children = [];
|
|
31
31
|
var cTabular = (0, begin_tabular_1.parseInlineTabular)(token.content);
|
|
32
32
|
if (!cTabular) {
|
|
@@ -36,7 +36,7 @@ var inlineTabular = function (state, silent) {
|
|
|
36
36
|
if (cTabular[i].type === 'inline') {
|
|
37
37
|
continue;
|
|
38
38
|
}
|
|
39
|
-
var res = (0, parse_tabular_1.ParseTabular)(cTabular[i].content, 0, cTabular[i].align, state.md.options);
|
|
39
|
+
var res = (0, parse_tabular_1.ParseTabular)(cTabular[i].content, 0, cTabular[i].align, state.md.options, state.env.subTabular);
|
|
40
40
|
for (var j = 0; j < res.length; j++) {
|
|
41
41
|
var tok = res[j];
|
|
42
42
|
if (tok.token === 'table_open' && ((_a = state.md.options) === null || _a === void 0 ? void 0 : _a.forDocx)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tabular.js","sourceRoot":"","sources":["../../../src/markdown/md-inline-rule/tabular.ts"],"names":[],"mappings":";;;AACA,gEAAqG;AACrG,8EAA4E;
|
|
1
|
+
{"version":3,"file":"tabular.js","sourceRoot":"","sources":["../../../src/markdown/md-inline-rule/tabular.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,7 @@ var latex_list_env_inline_1 = require("./latex-list-env-inline");
|
|
|
8
8
|
var renewcommand_2 = require("../md-inline-rule/renewcommand");
|
|
9
9
|
var render_latex_list_env_1 = require("./render-latex-list-env");
|
|
10
10
|
var list_state_1 = require("./list-state");
|
|
11
|
+
var common_1 = require("../common");
|
|
11
12
|
/**
|
|
12
13
|
* Markdown-it plugin that adds full LaTeX-style list environment support:
|
|
13
14
|
* \begin{itemize} ... \end{itemize}
|
|
@@ -30,11 +31,14 @@ function pluginLatexListsEnv(md, options) {
|
|
|
30
31
|
(0, re_level_1.clearItemizeLevelTokens)();
|
|
31
32
|
var blockRuler = md.block.ruler;
|
|
32
33
|
var inlineRuler = md.inline.ruler;
|
|
33
|
-
blockRuler.after("list", "Lists", latex_list_env_block_1.Lists,
|
|
34
|
+
blockRuler.after("list", "Lists", latex_list_env_block_1.Lists, { alt: (0, common_1.getTerminatedRules)("Lists") });
|
|
34
35
|
blockRuler.before("Lists", "ReNewCommand", renewcommand_1.ReNewCommand);
|
|
35
|
-
|
|
36
|
-
inlineRuler.before('
|
|
37
|
-
|
|
36
|
+
// 1) Aggregator: full list env (nested) — highest priority
|
|
37
|
+
inlineRuler.before('escape', 'latex_list_env_inline', latex_list_env_inline_1.latexListEnvInline);
|
|
38
|
+
// 2) Legacy rules (optional fallback for partial parsing)
|
|
39
|
+
inlineRuler.after('latex_list_env_inline', 'list_begin_inline', latex_list_env_inline_1.listBeginInline);
|
|
40
|
+
inlineRuler.before('latex_list_env_inline', 'renewcommand_inline', renewcommand_2.reNewCommandInLine);
|
|
41
|
+
inlineRuler.after('latex_list_env_inline', 'list_setcounter_inline', latex_list_env_inline_1.listSetCounterInline);
|
|
38
42
|
inlineRuler.after('list_begin_inline', 'list_item_inline', latex_list_env_inline_1.listItemInline);
|
|
39
43
|
inlineRuler.after('list_item_inline', 'list_close_inline', latex_list_env_inline_1.listCloseInline);
|
|
40
44
|
var listRenderers = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/markdown/md-latex-lists-env/index.ts"],"names":[],"mappings":";;;AAGA,+DAA+C;AAC/C,uCAIoB;AACpB,8DAA6D;AAC7D,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/markdown/md-latex-lists-env/index.ts"],"names":[],"mappings":";;;AAGA,+DAA+C;AAC/C,uCAIoB;AACpB,8DAA6D;AAC7D,iEAMgC;AAChC,+DAAoE;AACpE,iEAQiC;AACjC,2CAA8C;AAC9C,oCAA+C;AAE/C;;;;;;;;;;;;;GAaG;AACH,SAAwB,mBAAmB,CAAE,EAAc,EAAE,OAAO;IAClE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACnC,IAAA,2BAAc,GAAE,CAAC;IACjB,IAAA,iCAAsB,GAAE,CAAC;IACzB,IAAA,mCAAwB,GAAE,CAAC;IAC3B,IAAA,kCAAuB,GAAE,CAAC;IAC1B,IAAM,UAAU,GAAU,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;IACzC,IAAM,WAAW,GAAU,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC;IAC3C,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,4BAAK,EAAE,EAAC,GAAG,EAAE,IAAA,2BAAkB,EAAC,OAAO,CAAC,EAAC,CAAC,CAAC;IAC7E,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,cAAc,EAAE,2BAAY,CAAC,CAAC;IACzD,2DAA2D;IAC3D,WAAW,CAAC,MAAM,CAAC,QAAQ,EAAE,uBAAuB,EAAE,0CAAkB,CAAC,CAAC;IAC1E,0DAA0D;IAC1D,WAAW,CAAC,KAAK,CAAC,uBAAuB,EAAE,mBAAmB,EAAE,uCAAe,CAAC,CAAC;IACjF,WAAW,CAAC,MAAM,CAAC,uBAAuB,EAAE,qBAAqB,EAAE,iCAAkB,CAAC,CAAC;IACvF,WAAW,CAAC,KAAK,CAAC,uBAAuB,EAAE,wBAAwB,EAAE,4CAAoB,CAAC,CAAC;IAC3F,WAAW,CAAC,KAAK,CAAC,mBAAmB,EAAE,kBAAkB,EAAE,sCAAc,CAAC,CAAC;IAC3E,WAAW,CAAC,KAAK,CAAC,kBAAkB,EAAE,mBAAmB,EAAE,uCAAe,CAAC,CAAC;IAC5E,IAAM,aAAa,GAAwC;QACzD,iBAAiB,EAAE,gDAAwB;QAC3C,mBAAmB,EAAE,kDAA0B;QAC/C,WAAW,EAAE,0CAAkB;QAC/B,kBAAkB,EAAE,iDAAyB;QAC7C,oBAAoB,EAAE,mDAA2B;QACjD,oBAAoB,EAAE,mDAA2B;QACjD,qBAAqB,EAAE,oDAA4B;KACpD,CAAC;IACF,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,OAAO,CAAC,UAAC,EAAY;YAAZ,KAAA,qBAAY,EAAX,IAAI,QAAA,EAAE,IAAI,QAAA;QAChD,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC;AA9BD,sCA8BC"}
|
|
@@ -22,13 +22,17 @@ exports.getListTokenTypes = getListTokenTypes;
|
|
|
22
22
|
* Apply state changes when opening a list environment.
|
|
23
23
|
*/
|
|
24
24
|
var applyListOpenState = function (state, listType, token) {
|
|
25
|
-
var _a;
|
|
25
|
+
var _a, _b;
|
|
26
26
|
var isTopLevel = state.parentType !== "itemize" && state.parentType !== "enumerate";
|
|
27
|
+
var inheritedListType = (_a = state.env) === null || _a === void 0 ? void 0 : _a.inheritedListType;
|
|
28
|
+
var isInheritedListContext = inheritedListType === "itemize" || inheritedListType === "enumerate";
|
|
29
|
+
var isTopLevelList = isTopLevel && !isInheritedListContext;
|
|
27
30
|
state.prentLevel = isTopLevel ? 0 : state.prentLevel + 1;
|
|
28
31
|
state.parentType = listType;
|
|
29
|
-
state.types = ((
|
|
32
|
+
state.types = ((_b = state.types) === null || _b === void 0 ? void 0 : _b.length)
|
|
30
33
|
? tslib_1.__spreadArray(tslib_1.__spreadArray([], tslib_1.__read(state.types), false), [listType], false) : [listType];
|
|
31
34
|
token.prentLevel = state.prentLevel;
|
|
35
|
+
token.isTopLevelList = isTopLevelList;
|
|
32
36
|
// Register new list depth in internal list-level tracker
|
|
33
37
|
(0, list_state_1.enterListLevel)();
|
|
34
38
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"latex-list-common.js","sourceRoot":"","sources":["../../../src/markdown/md-latex-lists-env/latex-list-common.ts"],"names":[],"mappings":";;;;AAGA,uDAA8C;AAC9C,2CAKsB;AACtB,2CAA4C;AAE5C;;GAEG;AACI,IAAM,iBAAiB,GAAG,UAAC,QAAkB;IAClD,IAAM,SAAS,GAAG,QAAQ,KAAK,2BAAQ,CAAC,OAAO,CAAC;IAChD,OAAO;QACL,SAAS,WAAA;QACT,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,qBAAqB;QACjE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,sBAAsB;QACpE,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;KACjC,CAAC;AACJ,CAAC,CAAC;AARW,QAAA,iBAAiB,qBAQ5B;AAEF;;GAEG;AACI,IAAM,kBAAkB,GAAG,UAChC,KAA+B,EAC/B,QAAkB,EAClB,KAAY;;IAEZ,IAAM,UAAU,GAAY,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,KAAK,WAAW,CAAC;IAC/F,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC;IACzD,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;IAC5B,KAAK,CAAC,KAAK,GAAG,CAAA,MAAA,KAAK,CAAC,KAAK,0CAAE,MAAM;QAC/B,CAAC,gEAAK,KAAK,CAAC,KAAK,YAAE,QAAQ,UAC3B,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IACf,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"latex-list-common.js","sourceRoot":"","sources":["../../../src/markdown/md-latex-lists-env/latex-list-common.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,15 @@
|
|
|
1
1
|
import type { RuleBlock } from 'markdown-it/lib/parser_block';
|
|
2
|
+
import { StateBlockLike } from "./latex-list-types";
|
|
3
|
+
/**
|
|
4
|
+
* Parse a LaTeX list environment starting at `startLine` and emit tokens into `state`.
|
|
5
|
+
*
|
|
6
|
+
* Notes:
|
|
7
|
+
* - The function is "strict": it returns false if the matching \end{...} is not found.
|
|
8
|
+
* - Works with any StateBlock-like object (real block state or synthetic state for inline reuse).
|
|
9
|
+
*
|
|
10
|
+
* @returns true if the environment was successfully parsed and closed, otherwise false.
|
|
11
|
+
*/
|
|
12
|
+
export declare const ListsInternal: (state: StateBlockLike, startLine: number, endLine: number) => boolean;
|
|
2
13
|
/**
|
|
3
14
|
* Block rule that parses LaTeX list environments:
|
|
4
15
|
* \begin{itemize} ... \end{itemize}
|