mathpix-markdown-it 2.0.35 → 2.0.37
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/README.md +146 -4
- package/doc/changelog.md +64 -0
- package/es5/browser/add-speech.js +1 -0
- package/es5/browser/auto-render.js +33 -0
- package/es5/bundle.js +5 -5
- package/es5/index.js +5 -5
- package/lib/browser/add-speech.d.ts +17 -0
- package/lib/browser/add-speech.js +97 -0
- package/lib/browser/add-speech.js.map +1 -0
- package/lib/browser/auto-render.d.ts +20 -0
- package/lib/browser/auto-render.js +319 -0
- package/lib/browser/auto-render.js.map +1 -0
- package/lib/browser/utils.d.ts +4 -0
- package/lib/browser/utils.js +11 -0
- package/lib/browser/utils.js.map +1 -0
- package/lib/contex-menu/styles.js +2 -1
- package/lib/contex-menu/styles.js.map +1 -1
- package/lib/copy-to-clipboard/clipboard-copy-styles.js +2 -1
- package/lib/copy-to-clipboard/clipboard-copy-styles.js.map +1 -1
- package/lib/markdown/common/convert-math-to-html.d.ts +4 -1
- package/lib/markdown/common/convert-math-to-html.js +174 -93
- package/lib/markdown/common/convert-math-to-html.js.map +1 -1
- package/lib/markdown/highlight/highlight-math-token.js +5 -3
- package/lib/markdown/highlight/highlight-math-token.js.map +1 -1
- package/lib/mathjax/index.d.ts +6 -0
- package/lib/mathjax/index.js +103 -33
- package/lib/mathjax/index.js.map +1 -1
- package/lib/mathpix-markdown-model/index.d.ts +35 -5
- package/lib/mathpix-markdown-model/index.js +106 -50
- package/lib/mathpix-markdown-model/index.js.map +1 -1
- package/lib/sre/index.d.ts +8 -0
- package/lib/sre/index.js +38 -20
- package/lib/sre/index.js.map +1 -1
- package/lib/sre/sre-browser.d.ts +16 -0
- package/lib/sre/sre-browser.js +26 -1
- package/lib/sre/sre-browser.js.map +1 -1
- package/lib/styles/colors.d.ts +63 -0
- package/lib/styles/colors.js +68 -0
- package/lib/styles/colors.js.map +1 -0
- package/lib/styles/helpers.js +22 -0
- package/lib/styles/helpers.js.map +1 -0
- package/lib/styles/index.d.ts +4 -3
- package/lib/styles/index.js +45 -7
- package/lib/styles/index.js.map +1 -1
- package/lib/styles/styles-code.d.ts +1 -1
- package/lib/styles/styles-code.js +6 -1
- package/lib/styles/styles-code.js.map +1 -1
- package/lib/styles/styles-container.js +2 -1
- package/lib/styles/styles-container.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/lib/styles/styles-tabular.d.ts +1 -1
- package/lib/styles/styles-tabular.js +5 -2
- package/lib/styles/styles-tabular.js.map +1 -1
- package/package.json +2 -2
- package/pr-specs/2026-01-html-math-output-options.md +529 -0
- package/pr-specs/2026-03-mmd-css-scoping.md +267 -0
- package/lib/styles/halpers.js +0 -13
- package/lib/styles/halpers.js.map +0 -1
- /package/lib/styles/{halpers.d.ts → helpers.d.ts} +0 -0
|
@@ -8,100 +8,183 @@ var labels_1 = require("./labels");
|
|
|
8
8
|
var consts_1 = require("../../helpers/consts");
|
|
9
9
|
var utils_2 = require("../../helpers/utils");
|
|
10
10
|
var consts_2 = require("./consts");
|
|
11
|
-
|
|
11
|
+
var parse_mmd_element_1 = require("../../helpers/parse-mmd-element");
|
|
12
|
+
/**
|
|
13
|
+
* Returns true when token already contains MathML input (display or inline).
|
|
14
|
+
* These tokens use a separate MathJax path: TypesetMathML().
|
|
15
|
+
*/
|
|
16
|
+
var isMathMLToken = function (token) {
|
|
17
|
+
return token.type === 'display_mathML' || token.type === 'inline_mathML';
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Applies the typesetting output to the markdown-it token.
|
|
21
|
+
* Mutates the token in-place.
|
|
22
|
+
*/
|
|
23
|
+
var applyTypesetResultToToken = function (token, res) {
|
|
24
|
+
if (res.html != null)
|
|
25
|
+
token.mathEquation = res.html;
|
|
26
|
+
if (res.data != null) {
|
|
27
|
+
token.mathData = res.data;
|
|
28
|
+
token.widthEx = res.data.widthEx;
|
|
29
|
+
token.heightEx = res.data.heightEx;
|
|
30
|
+
}
|
|
31
|
+
// Optional fields (present only when requested via outMath options)
|
|
32
|
+
if (res.ascii != null)
|
|
33
|
+
token.ascii = res.ascii;
|
|
34
|
+
if (res.linear != null)
|
|
35
|
+
token.linear = res.linear;
|
|
36
|
+
if (res.ascii_tsv != null)
|
|
37
|
+
token.ascii_tsv = res.ascii_tsv;
|
|
38
|
+
if (res.ascii_csv != null)
|
|
39
|
+
token.ascii_csv = res.ascii_csv;
|
|
40
|
+
if (res.ascii_md != null)
|
|
41
|
+
token.ascii_md = res.ascii_md;
|
|
42
|
+
if (res.labels != null)
|
|
43
|
+
token.labels = res.labels;
|
|
44
|
+
};
|
|
45
|
+
/**
|
|
46
|
+
* Builds outMath options for AsciiMath/TSV/CSV/Markdown extraction.
|
|
47
|
+
* Note: "tableTo*" options are enabled only for specific environments.
|
|
48
|
+
*/
|
|
49
|
+
var buildAsciiOutMath = function (outMath, token) {
|
|
50
|
+
var shouldFlatten = consts_1.envArraysShouldBeFlattenInTSV.includes(token.math_env);
|
|
51
|
+
return Object.assign({}, outMath, {
|
|
52
|
+
optionAscii: {
|
|
53
|
+
showStyle: false,
|
|
54
|
+
extraBrackets: true,
|
|
55
|
+
// We flatten arrays only for specific environments; otherwise output is noisy/unusable.
|
|
56
|
+
tableToTsv: (outMath === null || outMath === void 0 ? void 0 : outMath.include_tsv) && shouldFlatten,
|
|
57
|
+
tableToCsv: (outMath === null || outMath === void 0 ? void 0 : outMath.include_csv) && shouldFlatten,
|
|
58
|
+
tableToMd: (outMath === null || outMath === void 0 ? void 0 : outMath.include_table_markdown) && shouldFlatten,
|
|
59
|
+
isSubTable: token.isSubTable,
|
|
60
|
+
// keep these defaults centralized in ./consts
|
|
61
|
+
tsv_separators: tslib_1.__assign({}, consts_2.tsvSeparatorsDef),
|
|
62
|
+
csv_separators: tslib_1.__assign({}, consts_2.csvSeparatorsDef),
|
|
63
|
+
md_separators: tslib_1.__assign({}, consts_2.mdSeparatorsDef),
|
|
64
|
+
},
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* Returns { html, data } for the requested output_format.
|
|
69
|
+
* - output_format === 'latex': return original latex string (not MathJax HTML)
|
|
70
|
+
* - output_format === 'mathml': we typically don't need extra SVG metrics
|
|
71
|
+
* - default: return MathJax HTML + data (metrics)
|
|
72
|
+
*/
|
|
73
|
+
var buildFormatOutputs = function (params) {
|
|
74
|
+
var outputFormat = params.outputFormat, inputLatex = params.inputLatex, renderedHtml = params.renderedHtml, renderedData = params.renderedData;
|
|
75
|
+
var html = outputFormat === 'latex'
|
|
76
|
+
? (0, parse_mmd_element_1.formatSource)(inputLatex !== null && inputLatex !== void 0 ? inputLatex : '')
|
|
77
|
+
: renderedHtml;
|
|
78
|
+
var data = (outputFormat === 'latex' || outputFormat === 'mathml')
|
|
79
|
+
? null
|
|
80
|
+
: renderedData;
|
|
81
|
+
return { html: html, data: data };
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Typesets a single token according to its type and options:
|
|
85
|
+
* - MathML tokens -> TypesetMathML()
|
|
86
|
+
* - tokens requesting Ascii extraction -> TypesetSvgAndAscii()
|
|
87
|
+
* - default -> Typeset()
|
|
88
|
+
*
|
|
89
|
+
* Performance note: for 'mathml' and 'latex' output formats, MathJax still runs
|
|
90
|
+
* the full SVG rendering pipeline internally (the SVG is discarded by renderByFormat).
|
|
91
|
+
* A future optimization could add a fast path that skips SVG generation for these formats.
|
|
92
|
+
*/
|
|
93
|
+
var typesetMathForToken = function (params) {
|
|
94
|
+
var _a;
|
|
95
|
+
var token = params.token, math = params.math, isBlock = params.isBlock, beginNumber = params.beginNumber, containerWidth = params.containerWidth, options = params.options;
|
|
96
|
+
var outputFormat = (_a = options.outMath) === null || _a === void 0 ? void 0 : _a.output_format;
|
|
97
|
+
// 1) MathML tokens: MathJax input is MathML (not TeX).
|
|
98
|
+
// Format routing is handled inside TypesetMathML:
|
|
99
|
+
// - 'mathml': returns formatSourceMML(mathml) directly.
|
|
100
|
+
// - 'latex': no MathML→LaTeX converter; falls back to SVG.
|
|
101
|
+
// - 'svg' (default): standard SVG rendering.
|
|
102
|
+
if (isMathMLToken(token)) {
|
|
103
|
+
var typeset_1 = mathjax_1.MathJax.TypesetMathML(math, {
|
|
104
|
+
display: true,
|
|
105
|
+
metric: { cwidth: containerWidth },
|
|
106
|
+
outMath: options.outMath,
|
|
107
|
+
accessibility: options.accessibility,
|
|
108
|
+
renderingErrors: options.renderingErrors,
|
|
109
|
+
});
|
|
110
|
+
return {
|
|
111
|
+
html: typeset_1.html,
|
|
112
|
+
// For mathml output, SVG metrics are irrelevant — null out data.
|
|
113
|
+
data: outputFormat === 'mathml' ? null : typeset_1.data,
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
mathjax_1.MathJax.Reset(beginNumber); // Reset is important for equation numbering stability across tokens.
|
|
117
|
+
// 2) AsciiMath extraction requested
|
|
118
|
+
if (token.return_asciimath) {
|
|
119
|
+
var typeset_2 = mathjax_1.MathJax.TypesetSvgAndAscii(math, {
|
|
120
|
+
display: isBlock,
|
|
121
|
+
metric: { cwidth: containerWidth },
|
|
122
|
+
outMath: buildAsciiOutMath(options.outMath, token),
|
|
123
|
+
mathJax: options.mathJax,
|
|
124
|
+
accessibility: options.accessibility,
|
|
125
|
+
renderingErrors: options.renderingErrors,
|
|
126
|
+
});
|
|
127
|
+
var fmt_1 = buildFormatOutputs({
|
|
128
|
+
outputFormat: outputFormat,
|
|
129
|
+
inputLatex: token.inputLatex,
|
|
130
|
+
renderedHtml: typeset_2.html,
|
|
131
|
+
renderedData: typeset_2.data,
|
|
132
|
+
});
|
|
133
|
+
return tslib_1.__assign(tslib_1.__assign({}, fmt_1), { ascii: typeset_2.ascii, linear: typeset_2.linear, ascii_tsv: typeset_2.ascii_tsv, ascii_csv: typeset_2.ascii_csv, ascii_md: typeset_2.ascii_md, labels: typeset_2.labels });
|
|
134
|
+
}
|
|
135
|
+
// 3) Default TeX typesetting
|
|
136
|
+
var typeset = mathjax_1.MathJax.Typeset(math, {
|
|
137
|
+
display: isBlock,
|
|
138
|
+
metric: { cwidth: containerWidth },
|
|
139
|
+
outMath: options.outMath,
|
|
140
|
+
mathJax: options.mathJax,
|
|
141
|
+
forDocx: options.forDocx,
|
|
142
|
+
forPptx: options.forPptx,
|
|
143
|
+
accessibility: options.accessibility,
|
|
144
|
+
nonumbers: options.nonumbers,
|
|
145
|
+
renderingErrors: options.renderingErrors,
|
|
146
|
+
});
|
|
147
|
+
var fmt = buildFormatOutputs({
|
|
148
|
+
outputFormat: outputFormat,
|
|
149
|
+
inputLatex: token.inputLatex,
|
|
150
|
+
renderedHtml: typeset.html,
|
|
151
|
+
renderedData: typeset.data,
|
|
152
|
+
});
|
|
153
|
+
return tslib_1.__assign(tslib_1.__assign({}, fmt), { ascii: typeset.ascii, linear: typeset.linear, ascii_tsv: typeset.ascii_tsv, ascii_csv: typeset.ascii_csv, ascii_md: typeset.ascii_md, labels: typeset.labels });
|
|
154
|
+
};
|
|
155
|
+
/**
|
|
156
|
+
* Converts a math token into HTML and attaches MathJax metadata to the token.
|
|
157
|
+
* Also extracts equation labels and stores them in the shared labels list.
|
|
158
|
+
*/
|
|
12
159
|
var convertMathToHtml = function (state, token, options) {
|
|
13
|
-
var _a, _b, _c;
|
|
14
160
|
var math = token.content;
|
|
15
|
-
var
|
|
16
|
-
var begin_number = mathjax_1.MathJax.GetLastEquationNumber() + 1;
|
|
161
|
+
var beginNumber = mathjax_1.MathJax.GetLastEquationNumber() + 1;
|
|
17
162
|
try {
|
|
18
|
-
var
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
renderingErrors: options.renderingErrors
|
|
32
|
-
});
|
|
33
|
-
token.mathEquation = data.html;
|
|
34
|
-
token.mathData = data.data;
|
|
35
|
-
token.widthEx = token.mathData.widthEx;
|
|
36
|
-
token.heightEx = token.mathData.heightEx;
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
if (token.return_asciimath) {
|
|
40
|
-
mathjax_1.MathJax.Reset(begin_number);
|
|
41
|
-
var data = mathjax_1.MathJax.TypesetSvgAndAscii(math, {
|
|
42
|
-
display: isBlock,
|
|
43
|
-
metric: { cwidth: cwidth },
|
|
44
|
-
outMath: Object.assign({}, options.outMath, {
|
|
45
|
-
optionAscii: {
|
|
46
|
-
showStyle: false,
|
|
47
|
-
extraBrackets: true,
|
|
48
|
-
tableToTsv: ((_a = options.outMath) === null || _a === void 0 ? void 0 : _a.include_tsv)
|
|
49
|
-
&& consts_1.envArraysShouldBeFlattenInTSV.includes(token.math_env),
|
|
50
|
-
tableToCsv: ((_b = options.outMath) === null || _b === void 0 ? void 0 : _b.include_csv)
|
|
51
|
-
&& consts_1.envArraysShouldBeFlattenInTSV.includes(token.math_env),
|
|
52
|
-
tableToMd: ((_c = options.outMath) === null || _c === void 0 ? void 0 : _c.include_table_markdown)
|
|
53
|
-
&& consts_1.envArraysShouldBeFlattenInTSV.includes(token.math_env),
|
|
54
|
-
isSubTable: token.isSubTable,
|
|
55
|
-
tsv_separators: tslib_1.__assign({}, consts_2.tsvSeparatorsDef),
|
|
56
|
-
csv_separators: tslib_1.__assign({}, consts_2.csvSeparatorsDef),
|
|
57
|
-
md_separators: tslib_1.__assign({}, consts_2.mdSeparatorsDef),
|
|
58
|
-
},
|
|
59
|
-
}),
|
|
60
|
-
mathJax: options.mathJax,
|
|
61
|
-
accessibility: options.accessibility,
|
|
62
|
-
renderingErrors: options.renderingErrors
|
|
63
|
-
});
|
|
64
|
-
token.mathEquation = data.html;
|
|
65
|
-
token.mathData = data.data;
|
|
66
|
-
token.ascii = data.ascii;
|
|
67
|
-
token.linear = data.linear;
|
|
68
|
-
token.ascii_tsv = data.ascii_tsv;
|
|
69
|
-
token.ascii_csv = data.ascii_csv;
|
|
70
|
-
token.ascii_md = data.ascii_md;
|
|
71
|
-
token.labels = data.labels;
|
|
72
|
-
token.widthEx = token.mathData.widthEx;
|
|
73
|
-
token.heightEx = token.mathData.heightEx;
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
mathjax_1.MathJax.Reset(begin_number);
|
|
77
|
-
var data = mathjax_1.MathJax.Typeset(math, { display: isBlock, metric: { cwidth: cwidth },
|
|
78
|
-
outMath: options.outMath, mathJax: options.mathJax,
|
|
79
|
-
forDocx: options.forDocx,
|
|
80
|
-
forPptx: options.forPptx,
|
|
81
|
-
accessibility: options.accessibility,
|
|
82
|
-
nonumbers: options.nonumbers,
|
|
83
|
-
renderingErrors: options.renderingErrors
|
|
84
|
-
});
|
|
85
|
-
token.mathEquation = data.html;
|
|
86
|
-
token.mathData = data.data;
|
|
87
|
-
token.ascii = data.ascii;
|
|
88
|
-
token.linear = data.linear;
|
|
89
|
-
token.ascii_tsv = data.ascii_tsv;
|
|
90
|
-
token.ascii_csv = data.ascii_csv;
|
|
91
|
-
token.ascii_md = data.ascii_md;
|
|
92
|
-
token.labels = data.labels;
|
|
93
|
-
token.widthEx = token.mathData.widthEx;
|
|
94
|
-
token.heightEx = token.mathData.heightEx;
|
|
95
|
-
}
|
|
96
|
-
}
|
|
163
|
+
var containerWidth = (options === null || options === void 0 ? void 0 : options.width) && options.width > 0
|
|
164
|
+
? options.width
|
|
165
|
+
: (0, utils_1.getWidthFromDocument)(1200);
|
|
166
|
+
var res = typesetMathForToken({
|
|
167
|
+
token: token,
|
|
168
|
+
math: math,
|
|
169
|
+
isBlock: token.type !== 'inline_math',
|
|
170
|
+
beginNumber: beginNumber,
|
|
171
|
+
containerWidth: containerWidth,
|
|
172
|
+
options: options,
|
|
173
|
+
});
|
|
174
|
+
applyTypesetResultToToken(token, res);
|
|
175
|
+
// After typesetting, equation counter may have advanced.
|
|
97
176
|
var number = mathjax_1.MathJax.GetLastEquationNumber();
|
|
177
|
+
// Collect labels (e.g. \label{...}) so we can resolve refs later.
|
|
98
178
|
var idLabels = '';
|
|
99
179
|
if (token.labels) {
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
180
|
+
var labelKeys = Object.keys(token.labels);
|
|
181
|
+
idLabels = labelKeys.length
|
|
182
|
+
? encodeURIComponent(labelKeys.join('_'))
|
|
183
|
+
: '';
|
|
103
184
|
for (var key in token.labels) {
|
|
104
185
|
var tagContent = token.labels[key].tag;
|
|
186
|
+
// Parse label content as inline markdown-it tokens
|
|
187
|
+
// so we can render it consistently in UI.
|
|
105
188
|
var tagChildrenTokens = [];
|
|
106
189
|
state.md.inline.parse(tagContent, state.md, state.env, tagChildrenTokens);
|
|
107
190
|
(0, labels_1.addIntoLabelsList)({
|
|
@@ -116,19 +199,17 @@ var convertMathToHtml = function (state, token, options) {
|
|
|
116
199
|
}
|
|
117
200
|
token.idLabels = idLabels;
|
|
118
201
|
token.number = number;
|
|
119
|
-
token.begin_number =
|
|
120
|
-
|
|
202
|
+
token.begin_number = beginNumber;
|
|
203
|
+
// attrNumber is "current equation number range" used by render rules
|
|
204
|
+
token.attrNumber = beginNumber >= number
|
|
121
205
|
? number.toString()
|
|
122
|
-
:
|
|
206
|
+
: "".concat(beginNumber, ",").concat(number);
|
|
123
207
|
return token;
|
|
124
208
|
}
|
|
125
209
|
catch (e) {
|
|
126
210
|
console.error('ERROR [convertMathToHtml] MathJax =>', e.message, e);
|
|
127
211
|
(0, utils_2.formatMathJaxError)(e, math, 'convertMathToHtml');
|
|
128
|
-
token.error = {
|
|
129
|
-
message: e.message,
|
|
130
|
-
error: e
|
|
131
|
-
};
|
|
212
|
+
token.error = { message: e.message, error: e };
|
|
132
213
|
return token;
|
|
133
214
|
}
|
|
134
215
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convert-math-to-html.js","sourceRoot":"","sources":["../../../src/markdown/common/convert-math-to-html.ts"],"names":[],"mappings":";;;;AAAA,
|
|
1
|
+
{"version":3,"file":"convert-math-to-html.js","sourceRoot":"","sources":["../../../src/markdown/common/convert-math-to-html.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,9 +25,11 @@ var convertMathToHtmlWithHighlight = function (state, token, options) {
|
|
|
25
25
|
outMath: {}, mathJax: options.mathJax, accessibility: options.accessibility,
|
|
26
26
|
nonumbers: options.nonumbers
|
|
27
27
|
}, true);
|
|
28
|
-
token.mathData
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
if (token.mathData) {
|
|
29
|
+
token.mathData.svg = data.data.svg;
|
|
30
|
+
token.mathData.height = data.data.height;
|
|
31
|
+
token.mathData.heightAndDepth = data.data.heightAndDepth;
|
|
32
|
+
}
|
|
31
33
|
return token;
|
|
32
34
|
}
|
|
33
35
|
catch (e) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"highlight-math-token.js","sourceRoot":"","sources":["../../../src/markdown/highlight/highlight-math-token.ts"],"names":[],"mappings":";;;AAAA,mCAAuE;AACvE,kCAAgD;AAChD,0CAAyC;AACzC,2CAI0B;AAE1B,yGAAyG;AAClG,IAAM,8BAA8B,GAAG,UAAC,KAAK,EAAE,KAAK,EAAE,OAAO;IAClE,IAAM,cAAc,GAAG,KAAK,CAAC,iBAAiB,CAAC;IAC/C,IAAI,OAAO,GAAG,KAAK,CAAC,IAAI,KAAK,aAAa,CAAC;IAC3C,IAAI;QACF,IAAI,MAAM,GAAG,IAAI,CAAC;QAClB,IAAI,OAAO,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,EAAE;YACjD,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;SACxB;aAAM;YACL,MAAM,GAAG,IAAA,4BAAoB,EAAC,MAAM,CAAC,CAAC;SACvC;QACD,IAAM,YAAY,GAAG,cAAc,IAAI,KAAK,CAAC,MAAM;YACjD,CAAC,CAAC,KAAK,CAAC,MAAM;YACd,CAAC,CAAC,iBAAO,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAC;QACxC,iBAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QAC5B,IAAM,IAAI,GAAG,iBAAO,CAAC,OAAO,CAAC,cAAc,EAAE,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;YACxF,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE,OAAO,CAAC,aAAa;YAC3E,SAAS,EAAE,OAAO,CAAC,SAAS;SAC7B,EAAE,IAAI,CAAC,CAAC;QACT,KAAK,CAAC,QAAQ,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"highlight-math-token.js","sourceRoot":"","sources":["../../../src/markdown/highlight/highlight-math-token.ts"],"names":[],"mappings":"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"}
|
package/lib/mathjax/index.d.ts
CHANGED
|
@@ -24,6 +24,12 @@ export declare const OuterHTML: (data: any, outMath: any, forPptx?: boolean) =>
|
|
|
24
24
|
export declare const MathJax: {
|
|
25
25
|
assistiveMml: boolean;
|
|
26
26
|
nonumbers: boolean;
|
|
27
|
+
_a11y: {
|
|
28
|
+
renderKey: string;
|
|
29
|
+
counter: number;
|
|
30
|
+
};
|
|
31
|
+
beginRender(renderKey?: string): void;
|
|
32
|
+
nextAssistiveId(prefix?: string): string;
|
|
27
33
|
checkAccessibility: (accessibility?: TAccessibility, nonumbers?: boolean) => void;
|
|
28
34
|
Stylesheet: () => unknown;
|
|
29
35
|
TexConvert: (string: any, options?: any, throwError?: boolean) => IOuterData;
|
package/lib/mathjax/index.js
CHANGED
|
@@ -11,6 +11,7 @@ var sre_1 = require("../sre");
|
|
|
11
11
|
var parse_mmd_element_1 = require("../helpers/parse-mmd-element");
|
|
12
12
|
var utils_1 = require("../helpers/utils");
|
|
13
13
|
var utils_2 = require("./utils");
|
|
14
|
+
var utils_3 = require("../markdown/utils");
|
|
14
15
|
var MJ = new mathjax_1.MathJaxConfigure();
|
|
15
16
|
var toMathML = (function (node) {
|
|
16
17
|
var visitor = new SerializedMmlVisitor_js_1.SerializedMmlVisitor();
|
|
@@ -33,31 +34,68 @@ var toAsciiML = (function (node, optionAscii) {
|
|
|
33
34
|
ascii_md: (data === null || data === void 0 ? void 0 : data.ascii_md) ? data.ascii_md.trim() : data.ascii_md
|
|
34
35
|
};
|
|
35
36
|
});
|
|
36
|
-
var
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
var
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
37
|
+
var normalizeMathJaxA11y = function (adaptor, mjxContainer) {
|
|
38
|
+
adaptor.setAttribute(mjxContainer, 'role', 'math');
|
|
39
|
+
adaptor.setAttribute(mjxContainer, 'tabindex', '0');
|
|
40
|
+
var svg = adaptor.firstChild(mjxContainer);
|
|
41
|
+
if (svg) {
|
|
42
|
+
adaptor.setAttribute(svg, 'aria-hidden', 'true');
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
var makeAssistiveMmlAccessible = function (adaptor, mjxContainer) {
|
|
46
|
+
var assistive = adaptor.lastChild(mjxContainer);
|
|
47
|
+
var id = adaptor.getAttribute(assistive, 'id');
|
|
48
|
+
if (!id) {
|
|
49
|
+
id = exports.MathJax.nextAssistiveId();
|
|
50
|
+
adaptor.setAttribute(assistive, 'id', id);
|
|
51
|
+
}
|
|
52
|
+
adaptor.setAttribute(mjxContainer, 'aria-labelledby', id);
|
|
53
|
+
adaptor.removeAttribute(assistive, 'aria-hidden');
|
|
54
|
+
};
|
|
55
|
+
var applySpeechToNode = function (adaptor, mjxContainer, sre) {
|
|
56
|
+
var assistive = adaptor.lastChild(mjxContainer); // mjx-assistive-mml
|
|
57
|
+
var assistiveMml = adaptor.innerHTML(assistive);
|
|
58
|
+
var speech = (0, sre_1.getSpeech)(sre, assistiveMml);
|
|
59
|
+
adaptor.setAttribute(mjxContainer, 'aria-label', speech);
|
|
60
|
+
adaptor.removeAttribute(assistive, 'aria-hidden');
|
|
44
61
|
return speech;
|
|
45
62
|
};
|
|
63
|
+
/**
|
|
64
|
+
* Applies MathJax accessibility attributes to an mjx-container:
|
|
65
|
+
* - role="math", tabindex="0"
|
|
66
|
+
* - hides SVG from AT
|
|
67
|
+
* - either sets aria-label via SRE speech, or exposes assistive MathML via aria-labelledby
|
|
68
|
+
*/
|
|
69
|
+
var applyMathJaxA11y = function (adaptor, mjxContainer, accessibility, includeSpeechOutput) {
|
|
70
|
+
if (includeSpeechOutput === void 0) { includeSpeechOutput = false; }
|
|
71
|
+
if (!(accessibility === null || accessibility === void 0 ? void 0 : accessibility.sre) && !(accessibility === null || accessibility === void 0 ? void 0 : accessibility.assistiveMml)) {
|
|
72
|
+
return {};
|
|
73
|
+
}
|
|
74
|
+
normalizeMathJaxA11y(adaptor, mjxContainer);
|
|
75
|
+
// Prefer SRE if provided
|
|
76
|
+
if (accessibility.sre) {
|
|
77
|
+
var speech = applySpeechToNode(adaptor, mjxContainer, accessibility.sre);
|
|
78
|
+
return includeSpeechOutput && speech ? { speech: speech } : {};
|
|
79
|
+
}
|
|
80
|
+
// Otherwise fallback to assistive MathML exposure
|
|
81
|
+
if (accessibility.assistiveMml) {
|
|
82
|
+
makeAssistiveMmlAccessible(adaptor, mjxContainer);
|
|
83
|
+
}
|
|
84
|
+
return {};
|
|
85
|
+
};
|
|
46
86
|
var OuterData = function (adaptor, node, math, outMath, forDocx, accessibility) {
|
|
47
87
|
var _a, _b;
|
|
48
88
|
if (forDocx === void 0) { forDocx = false; }
|
|
49
89
|
var _c = outMath.include_mathml, include_mathml = _c === void 0 ? false : _c, _d = outMath.include_mathml_word, include_mathml_word = _d === void 0 ? false : _d, _e = outMath.include_asciimath, include_asciimath = _e === void 0 ? false : _e, _f = outMath.include_latex, include_latex = _f === void 0 ? false : _f, _g = outMath.include_linearmath, include_linearmath = _g === void 0 ? false : _g, _h = outMath.include_svg, include_svg = _h === void 0 ? true : _h, _j = outMath.include_speech, include_speech = _j === void 0 ? false : _j, _k = outMath.optionAscii, optionAscii = _k === void 0 ? {
|
|
50
90
|
showStyle: false,
|
|
51
91
|
extraBrackets: true,
|
|
52
|
-
} : _k;
|
|
92
|
+
} : _k, _l = outMath.output_format, output_format = _l === void 0 ? 'svg' : _l;
|
|
53
93
|
var res = {};
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
res.speech = speech;
|
|
58
|
-
}
|
|
94
|
+
var a11y = applyMathJaxA11y(adaptor, node, accessibility, include_speech);
|
|
95
|
+
if (a11y.speech) {
|
|
96
|
+
res.speech = a11y.speech;
|
|
59
97
|
}
|
|
60
|
-
if (include_mathml) {
|
|
98
|
+
if (include_mathml || output_format === 'mathml') {
|
|
61
99
|
res.mathml = toMathML(math.root);
|
|
62
100
|
}
|
|
63
101
|
if (include_mathml_word) {
|
|
@@ -118,15 +156,13 @@ var OuterDataError = function (adaptor, node, latex, error, outMath) {
|
|
|
118
156
|
};
|
|
119
157
|
var OuterDataAscii = function (adaptor, node, math, outMath, forDocx, accessibility) {
|
|
120
158
|
if (forDocx === void 0) { forDocx = false; }
|
|
121
|
-
var _a = outMath.include_mathml, include_mathml = _a === void 0 ? false : _a, _b = outMath.include_mathml_word, include_mathml_word = _b === void 0 ? false : _b, _c = outMath.include_asciimath, include_asciimath = _c === void 0 ? false : _c, _d = outMath.include_svg, include_svg = _d === void 0 ? true : _d, _e = outMath.include_speech, include_speech = _e === void 0 ? false : _e;
|
|
159
|
+
var _a = outMath.include_mathml, include_mathml = _a === void 0 ? false : _a, _b = outMath.include_mathml_word, include_mathml_word = _b === void 0 ? false : _b, _c = outMath.include_asciimath, include_asciimath = _c === void 0 ? false : _c, _d = outMath.include_svg, include_svg = _d === void 0 ? true : _d, _e = outMath.include_speech, include_speech = _e === void 0 ? false : _e, _f = outMath.output_format, output_format = _f === void 0 ? 'svg' : _f;
|
|
122
160
|
var res = {};
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
res.speech = speech;
|
|
127
|
-
}
|
|
161
|
+
var a11y = applyMathJaxA11y(adaptor, node, accessibility, include_speech);
|
|
162
|
+
if (a11y.speech) {
|
|
163
|
+
res.speech = a11y.speech;
|
|
128
164
|
}
|
|
129
|
-
if (include_mathml) {
|
|
165
|
+
if (include_mathml || output_format === 'mathml') {
|
|
130
166
|
res.mathml = toMathML(math.root);
|
|
131
167
|
}
|
|
132
168
|
if (include_mathml_word) {
|
|
@@ -147,15 +183,13 @@ var OuterDataMathMl = function (adaptor, node, math, outMath, forDocx, accessibi
|
|
|
147
183
|
var _a = outMath.include_mathml, include_mathml = _a === void 0 ? false : _a, _b = outMath.include_mathml_word, include_mathml_word = _b === void 0 ? false : _b, _c = outMath.include_asciimath, include_asciimath = _c === void 0 ? false : _c, _d = outMath.include_svg, include_svg = _d === void 0 ? true : _d, _e = outMath.include_speech, include_speech = _e === void 0 ? false : _e, _f = outMath.include_linearmath, include_linearmath = _f === void 0 ? false : _f, _g = outMath.optionAscii, optionAscii = _g === void 0 ? {
|
|
148
184
|
showStyle: false,
|
|
149
185
|
extraBrackets: true
|
|
150
|
-
} : _g;
|
|
186
|
+
} : _g, _h = outMath.output_format, output_format = _h === void 0 ? 'svg' : _h;
|
|
151
187
|
var res = {};
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
res.speech = speech;
|
|
156
|
-
}
|
|
188
|
+
var a11y = applyMathJaxA11y(adaptor, node, accessibility, include_speech);
|
|
189
|
+
if (a11y.speech) {
|
|
190
|
+
res.speech = a11y.speech;
|
|
157
191
|
}
|
|
158
|
-
if (include_mathml) {
|
|
192
|
+
if (include_mathml || output_format === 'mathml') {
|
|
159
193
|
res.mathml = toMathML(math.root);
|
|
160
194
|
}
|
|
161
195
|
if (include_mathml_word) {
|
|
@@ -243,9 +277,41 @@ var OuterHTML = function (data, outMath, forPptx) {
|
|
|
243
277
|
return outHTML;
|
|
244
278
|
};
|
|
245
279
|
exports.OuterHTML = OuterHTML;
|
|
280
|
+
/**
|
|
281
|
+
* Produces the rendered HTML string for a given output_format.
|
|
282
|
+
*
|
|
283
|
+
* Note: for "latex", this returns "" because the original LaTeX source is not
|
|
284
|
+
* available at this level (IOuterData doesn't carry it). The caller
|
|
285
|
+
* (buildFormatOutputs in convert-math-to-html.ts) replaces this empty string
|
|
286
|
+
* with the formatted LaTeX source via formatSource(inputLatex).
|
|
287
|
+
*/
|
|
288
|
+
var renderByFormat = function (data, outMath, forPptx) {
|
|
289
|
+
if (forPptx === void 0) { forPptx = false; }
|
|
290
|
+
switch (outMath === null || outMath === void 0 ? void 0 : outMath.output_format) {
|
|
291
|
+
case "latex":
|
|
292
|
+
return "";
|
|
293
|
+
case "mathml":
|
|
294
|
+
return data.mathml ? (0, parse_mmd_element_1.formatSourceMML)(data.mathml) : "";
|
|
295
|
+
default:
|
|
296
|
+
return (0, exports.OuterHTML)(data, outMath, forPptx);
|
|
297
|
+
}
|
|
298
|
+
};
|
|
246
299
|
exports.MathJax = {
|
|
247
300
|
assistiveMml: true,
|
|
248
301
|
nonumbers: false,
|
|
302
|
+
_a11y: {
|
|
303
|
+
renderKey: (0, utils_3.uid)(),
|
|
304
|
+
counter: 0,
|
|
305
|
+
},
|
|
306
|
+
beginRender: function (renderKey) {
|
|
307
|
+
this._a11y.renderKey = renderKey || (0, utils_3.uid)();
|
|
308
|
+
this._a11y.counter = 0;
|
|
309
|
+
},
|
|
310
|
+
nextAssistiveId: function (prefix) {
|
|
311
|
+
if (prefix === void 0) { prefix = 'mjx-mml-'; }
|
|
312
|
+
this._a11y.counter += 1;
|
|
313
|
+
return "".concat(prefix).concat(this._a11y.renderKey, "-").concat(this._a11y.counter);
|
|
314
|
+
},
|
|
249
315
|
checkAccessibility: function (accessibility, nonumbers) {
|
|
250
316
|
if (accessibility === void 0) { accessibility = null; }
|
|
251
317
|
if (nonumbers === void 0) { nonumbers = false; }
|
|
@@ -350,7 +416,7 @@ exports.MathJax = {
|
|
|
350
416
|
if (throwError === void 0) { throwError = false; }
|
|
351
417
|
var data = this.TexConvert(string, options, throwError);
|
|
352
418
|
return {
|
|
353
|
-
html: (
|
|
419
|
+
html: renderByFormat(data, options.outMath, options.forPptx),
|
|
354
420
|
labels: data.labels,
|
|
355
421
|
ascii: data.asciimath,
|
|
356
422
|
linear: data.linearmath,
|
|
@@ -368,7 +434,7 @@ exports.MathJax = {
|
|
|
368
434
|
var data = this.TexConvert(string, options);
|
|
369
435
|
options.outMath.include_asciimath = include_asciimath;
|
|
370
436
|
return {
|
|
371
|
-
html: (
|
|
437
|
+
html: renderByFormat(data, outMath),
|
|
372
438
|
ascii: data.asciimath,
|
|
373
439
|
linear: data.linearmath,
|
|
374
440
|
labels: data.labels,
|
|
@@ -393,7 +459,9 @@ exports.MathJax = {
|
|
|
393
459
|
var outputJax = MJ.docMathML.outputJax;
|
|
394
460
|
var outerDataMathMl = OuterDataMathMl(MJ.adaptor, node, outputJax.math, outMath, forDocx, accessibility);
|
|
395
461
|
return {
|
|
396
|
-
html: (0
|
|
462
|
+
html: (outMath === null || outMath === void 0 ? void 0 : outMath.output_format) === 'mathml'
|
|
463
|
+
? (0, parse_mmd_element_1.formatSourceMML)(outerDataMathMl.mathml)
|
|
464
|
+
: (0, exports.OuterHTML)(outerDataMathMl, options.outMath),
|
|
397
465
|
data: tslib_1.__assign({}, outerDataMathMl)
|
|
398
466
|
};
|
|
399
467
|
},
|
|
@@ -411,7 +479,9 @@ exports.MathJax = {
|
|
|
411
479
|
});
|
|
412
480
|
var outputJax = MJ.docAsciiMath.outputJax;
|
|
413
481
|
var outerDataAscii = OuterDataAscii(MJ.adaptor, node, outputJax.math, outMath, forDocx, accessibility);
|
|
414
|
-
return (0
|
|
482
|
+
return (outMath === null || outMath === void 0 ? void 0 : outMath.output_format) === 'mathml'
|
|
483
|
+
? (0, parse_mmd_element_1.formatSourceMML)(outerDataAscii.mathml)
|
|
484
|
+
: (0, exports.OuterHTML)(outerDataAscii, options.outMath);
|
|
415
485
|
},
|
|
416
486
|
//
|
|
417
487
|
// Reset tags and labels
|