@memberjunction/markdown-core 6.2.0-edge.3 → 6.2.0-edge.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/engine/markdown-engine.d.ts +2 -2
- package/dist/engine/markdown-engine.d.ts.map +1 -1
- package/dist/engine/markdown-engine.js +8 -2
- package/dist/engine/markdown-engine.js.map +1 -1
- package/dist/extensions/math.extension.d.ts +58 -0
- package/dist/extensions/math.extension.d.ts.map +1 -0
- package/dist/extensions/math.extension.js +196 -0
- package/dist/extensions/math.extension.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/types/markdown.types.d.ts +8 -0
- package/dist/types/markdown.types.d.ts.map +1 -1
- package/dist/types/markdown.types.js +1 -0
- package/dist/types/markdown.types.js.map +1 -1
- package/package.json +1 -1
|
@@ -15,7 +15,7 @@ export interface ConfigureMarkedOptions {
|
|
|
15
15
|
* Framework-agnostic markdown engine.
|
|
16
16
|
*
|
|
17
17
|
* Owns the `marked` configuration and the MemberJunction custom extensions
|
|
18
|
-
* (SVG code blocks, collapsible headings, GitHub alerts, heading ids,
|
|
18
|
+
* (SVG code blocks, TeX math, collapsible headings, GitHub alerts, heading ids,
|
|
19
19
|
* smartypants). It produces either:
|
|
20
20
|
*
|
|
21
21
|
* - an **HTML string** via {@link parseToHtml} — consumed by the Angular
|
|
@@ -36,7 +36,7 @@ export declare class MarkdownEngine {
|
|
|
36
36
|
* (Re)build the internal marked instance from the given configuration.
|
|
37
37
|
*
|
|
38
38
|
* Each call constructs a **fresh** `Marked` instance and re-applies the full
|
|
39
|
-
* extension chain in a fixed order (html-block-repair → svg → highlight →
|
|
39
|
+
* extension chain in a fixed order (html-block-repair → math → svg → highlight →
|
|
40
40
|
* heading ids → alerts → collapsible headings → smartypants). Ordering matters:
|
|
41
41
|
* the SVG renderer must run before the highlighter so `svg` fences are not
|
|
42
42
|
* highlighted as code.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-engine.d.ts","sourceRoot":"","sources":["../../src/engine/markdown-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,UAAU,EAAE,MAAM,QAAQ,CAAC;AAK5C,OAAO,EACL,cAAc,EAEd,sBAAsB,EACtB,WAAW,EACX,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"markdown-engine.d.ts","sourceRoot":"","sources":["../../src/engine/markdown-engine.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,UAAU,EAAE,MAAM,QAAQ,CAAC;AAK5C,OAAO,EACL,cAAc,EAEd,sBAAsB,EACtB,WAAW,EACX,iBAAiB,EAClB,MAAM,4BAA4B,CAAC;AAOpC;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,WAAW,CAAC,EAAE,iBAAiB,CAAC;CACjC;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,aAAa,CAA0D;IAC/E,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,WAAW,CAAC,CAAoB;;IAOxC;;;;;;;;;;;;;;;;OAgBG;IACI,eAAe,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI;IAwFtF,+CAA+C;IACxC,eAAe,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI;IAItF;;;;;;;;;;OAUG;IACI,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,MAAM;IA6B9E,2CAA2C;IACpC,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,MAAM;IAI9E;;;;;;;;;;;OAWG;IACI,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,UAAU;IAiBpF,6CAA6C;IACtC,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,cAAc,CAAC,GAAG,UAAU;IAIpF;;;OAGG;IACI,cAAc,IAAI,WAAW,EAAE;IAItC,8CAA8C;IACvC,cAAc,IAAI,WAAW,EAAE;IAItC;;OAEG;IACI,SAAS,IAAI,sBAAsB;IAI1C,yCAAyC;IAClC,SAAS,IAAI,sBAAsB;IAI1C;;OAEG;IACI,WAAW,IAAI,IAAI;IAI1B,2CAA2C;IACpC,WAAW,IAAI,IAAI;IAI1B;;;;;;;OAOG;IACH,OAAO,CAAC,6BAA6B;IAuFrC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAWzB;;OAEG;IACH,OAAO,CAAC,cAAc;CA+BvB"}
|
|
@@ -7,12 +7,13 @@ import { DEFAULT_MARKDOWN_CONFIG } from '../types/markdown.types.js';
|
|
|
7
7
|
import { CreateCollapsibleHeadingsExtension } from '../extensions/collapsible-headings.extension.js';
|
|
8
8
|
import { CreateSvgRendererExtension } from '../extensions/svg-renderer.extension.js';
|
|
9
9
|
import { CreateHtmlBlockRepairExtension } from '../extensions/html-block-repair.extension.js';
|
|
10
|
+
import { CreateMathExtension } from '../extensions/math.extension.js';
|
|
10
11
|
import { EscapeHtml } from '../helpers/escape.js';
|
|
11
12
|
/**
|
|
12
13
|
* Framework-agnostic markdown engine.
|
|
13
14
|
*
|
|
14
15
|
* Owns the `marked` configuration and the MemberJunction custom extensions
|
|
15
|
-
* (SVG code blocks, collapsible headings, GitHub alerts, heading ids,
|
|
16
|
+
* (SVG code blocks, TeX math, collapsible headings, GitHub alerts, heading ids,
|
|
16
17
|
* smartypants). It produces either:
|
|
17
18
|
*
|
|
18
19
|
* - an **HTML string** via {@link parseToHtml} — consumed by the Angular
|
|
@@ -34,7 +35,7 @@ export class MarkdownEngine {
|
|
|
34
35
|
* (Re)build the internal marked instance from the given configuration.
|
|
35
36
|
*
|
|
36
37
|
* Each call constructs a **fresh** `Marked` instance and re-applies the full
|
|
37
|
-
* extension chain in a fixed order (html-block-repair → svg → highlight →
|
|
38
|
+
* extension chain in a fixed order (html-block-repair → math → svg → highlight →
|
|
38
39
|
* heading ids → alerts → collapsible headings → smartypants). Ordering matters:
|
|
39
40
|
* the SVG renderer must run before the highlighter so `svg` fences are not
|
|
40
41
|
* highlighted as code.
|
|
@@ -64,6 +65,11 @@ export class MarkdownEngine {
|
|
|
64
65
|
// raw HTML renders instead of showing as an escaped code block. Always on -
|
|
65
66
|
// precisely scoped to misparsed HTML, leaves prose and fenced code untouched.
|
|
66
67
|
extensions.push(CreateHtmlBlockRepairExtension());
|
|
68
|
+
// TeX math. Tokenized before everything else inline, so `_` and `*` inside a formula
|
|
69
|
+
// never become emphasis.
|
|
70
|
+
if (this.currentConfig.enableMath) {
|
|
71
|
+
extensions.push(CreateMathExtension());
|
|
72
|
+
}
|
|
67
73
|
// SVG code block renderer - MUST be before syntax highlighting
|
|
68
74
|
// so it can intercept svg blocks before the highlighter processes them.
|
|
69
75
|
if (this.currentConfig.enableSvgRenderer) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown-engine.js","sourceRoot":"","sources":["../../src/engine/markdown-engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"markdown-engine.js","sourceRoot":"","sources":["../../src/engine/markdown-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { MarkedExtension, Tokens } from 'marked';
|
|
2
|
+
/**
|
|
3
|
+
* The custom token emitted for a TeX math span or block.
|
|
4
|
+
*
|
|
5
|
+
* The framework-agnostic hand-off: the HTML path renders it as a `code.mj-math`
|
|
6
|
+
* placeholder holding the TeX source (typeset later in the browser, see
|
|
7
|
+
* `MarkdownService.RenderMath` in ng-markdown), and a native renderer can read
|
|
8
|
+
* {@link text} directly or show it as-is.
|
|
9
|
+
*/
|
|
10
|
+
export interface MathToken extends Tokens.Generic {
|
|
11
|
+
/** `mathBlock` for a block on its own lines, `math` for a span inside a paragraph. */
|
|
12
|
+
type: 'math' | 'mathBlock';
|
|
13
|
+
/** The original matched markdown source, delimiters included. */
|
|
14
|
+
raw: string;
|
|
15
|
+
/** The TeX source between the delimiters, trimmed. */
|
|
16
|
+
text: string;
|
|
17
|
+
/** Display style (`$$…$$`, `\[…\]`) rather than inline style (`$…$`, `\(…\)`). */
|
|
18
|
+
displayMode: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* The token for MathML written as markup, such as a formula carried over from a JATS article.
|
|
22
|
+
* `text` is the markup with namespace prefixes removed (`<mml:mi>` becomes `<mi>`): the HTML parser
|
|
23
|
+
* only recognizes unprefixed MathML and treats `<mml:math>` as an unknown element.
|
|
24
|
+
*/
|
|
25
|
+
export interface MathMLToken extends Tokens.Generic {
|
|
26
|
+
/** `mathmlBlock` for an element on its own lines, `mathml` for one inside a paragraph. */
|
|
27
|
+
type: 'mathml' | 'mathmlBlock';
|
|
28
|
+
/** The original matched markdown source. */
|
|
29
|
+
raw: string;
|
|
30
|
+
/** The MathML markup, prefixes removed. */
|
|
31
|
+
text: string;
|
|
32
|
+
/** `display="block"` on the `<math>` element. */
|
|
33
|
+
displayMode: boolean;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Creates a marked extension that recognizes math: TeX the way language models write it,
|
|
37
|
+
* `$…$` and `\(…\)` inline, `$$…$$` and `\[…\]` for display math (on their own lines or
|
|
38
|
+
* inside a paragraph), and MathML markup.
|
|
39
|
+
*
|
|
40
|
+
* The extension only tokenizes. Typesetting needs a math engine, which this
|
|
41
|
+
* framework-agnostic package doesn't carry, so the HTML path emits a placeholder:
|
|
42
|
+
*
|
|
43
|
+
* ```html
|
|
44
|
+
* <code class="mj-math">x^2</code> <!-- inline -->
|
|
45
|
+
* <div class="mj-math-block"><code class="mj-math mj-math-display">…</code></div> <!-- block -->
|
|
46
|
+
* ```
|
|
47
|
+
*
|
|
48
|
+
* MathML markup (`<math>…</math>`, or `<mml:math>` as JATS articles write it) is matched as one
|
|
49
|
+
* element and emitted with its namespace prefixes removed. Like any raw HTML in markdown it is passed
|
|
50
|
+
* through as markup, and the host's sanitizer decides what survives (ng-markdown's allows MathML).
|
|
51
|
+
*
|
|
52
|
+
* Recognizing the math up front also protects it from the rest of the markdown grammar:
|
|
53
|
+
* `a_i` and `b_j` in one formula no longer turn into emphasis, and `*` is no longer bold.
|
|
54
|
+
* Math inside code spans and fences is left alone, `\$` is a literal dollar sign, and an escaped
|
|
55
|
+
* bracket ("\[1\]") stays a bracket.
|
|
56
|
+
*/
|
|
57
|
+
export declare function CreateMathExtension(): MarkedExtension;
|
|
58
|
+
//# sourceMappingURL=math.extension.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"math.extension.d.ts","sourceRoot":"","sources":["../../src/extensions/math.extension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGjD;;;;;;;GAOG;AACH,MAAM,WAAW,SAAU,SAAQ,MAAM,CAAC,OAAO;IAC/C,sFAAsF;IACtF,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC;IAC3B,iEAAiE;IACjE,GAAG,EAAE,MAAM,CAAC;IACZ,sDAAsD;IACtD,IAAI,EAAE,MAAM,CAAC;IACb,kFAAkF;IAClF,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,WAAY,SAAQ,MAAM,CAAC,OAAO;IACjD,0FAA0F;IAC1F,IAAI,EAAE,QAAQ,GAAG,aAAa,CAAC;IAC/B,4CAA4C;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,WAAW,EAAE,OAAO,CAAC;CACtB;AAmGD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,mBAAmB,IAAI,eAAe,CA2FrD"}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import { EscapeHtml } from '../helpers/escape.js';
|
|
2
|
+
// A whole <math> element, optionally namespace-prefixed (JATS writes <mml:math>), matched as one
|
|
3
|
+
// piece so markdown never reaches inside it: pretty-printed MathML is indented and spans lines, which
|
|
4
|
+
// markdown would turn into code blocks, and `*` or `_` between its tags would become emphasis. Tag
|
|
5
|
+
// names are case-insensitive, as in HTML; `<math-field>` and the like are not math. Neither the open
|
|
6
|
+
// tag nor the content can run into another opener, so an unclosed one fails at the next instead of
|
|
7
|
+
// scanning on (attributes without a closing `>` made that quadratic). An inline element never contains
|
|
8
|
+
// a backtick, so an opener can't swallow a later code span.
|
|
9
|
+
const OPENER = String.raw `<(?:[A-Za-z][\w.-]*:)?math(?=[\s/>])`;
|
|
10
|
+
const OPEN_TAG = String.raw `<(?<prefix>(?:[A-Za-z][\w.-]*:)?)math(?=[\s/>])(?:[^<>"']|"[^"]*"|'[^']*')*>`;
|
|
11
|
+
const CLOSE_TAG = String.raw `<\/\k<prefix>math\s*>`;
|
|
12
|
+
const MATHML_INLINE_RULE = new RegExp('^' + OPEN_TAG + '(?:(?!' + OPENER + ')[^`])*?' + CLOSE_TAG, 'i');
|
|
13
|
+
// A block is a `display="block"` element on its own lines, or any element that is a whole paragraph
|
|
14
|
+
// (`tail` then holds a blank line). An inline element at the start of a line inside a sentence stays
|
|
15
|
+
// in the sentence.
|
|
16
|
+
const MATHML_BLOCK_RULE = new RegExp(String.raw `^ {0,3}(?<markup>` + OPEN_TAG + String.raw `(?:(?!` + OPENER + String.raw `)[\s\S])*?` + CLOSE_TAG +
|
|
17
|
+
String.raw `)(?<tail>[ \t]*(?:\n(?:[ \t]*\n)*|$))`, 'i');
|
|
18
|
+
const MATHML_OPENER = new RegExp(OPENER, 'i');
|
|
19
|
+
// How far the inline `start()` looks ahead for an opener. marked calls it at every inline step, so
|
|
20
|
+
// searching the whole rest of the message made parsing quadratic in its length. A formula further on
|
|
21
|
+
// is still found: inline text stops at `<`, and `start()` runs again from there.
|
|
22
|
+
const MATHML_INLINE_LOOKAHEAD = 2000;
|
|
23
|
+
function matchMathML(src, rule, type) {
|
|
24
|
+
const match = rule.exec(src);
|
|
25
|
+
if (!match)
|
|
26
|
+
return undefined;
|
|
27
|
+
const text = (match.groups?.markup ?? match[0]).trim().replace(/<(\/?)[A-Za-z][\w.-]*:(?=[A-Za-z])/g, '<$1');
|
|
28
|
+
const displayMode = /^<math(?=[\s/>])(?:[^<>"']|"[^"]*"|'[^']*')*?\sdisplay\s*=\s*["']?block/i.test(text);
|
|
29
|
+
if (type === 'mathmlBlock' && !displayMode) {
|
|
30
|
+
const tail = match.groups?.tail ?? '';
|
|
31
|
+
const wholeParagraph = (tail.match(/\n/g) ?? []).length >= 2 || match[0].length === src.length;
|
|
32
|
+
if (!wholeParagraph)
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
return { type, raw: match[0], text, displayMode };
|
|
36
|
+
}
|
|
37
|
+
const BLOCK_RULES = [
|
|
38
|
+
{ rule: /^ {0,3}\$\$(?!\$)((?:\\[\s\S]|(?!\$\$)[^\\])+?)\$\$[ \t]*(?:\n+|$)/, displayMode: true, backslash: false },
|
|
39
|
+
{ rule: /^ {0,3}\\\[((?:\\(?![[\]])[\s\S]|[^\\])+?)\\\][ \t]*(?:\n+|$)/, displayMode: true, backslash: true },
|
|
40
|
+
];
|
|
41
|
+
const INLINE_RULES = [
|
|
42
|
+
// `$$` next to a third `$` is a price tier ("$$, $$$"), not math.
|
|
43
|
+
{ rule: /^\$\$(?!\$)((?:\\[^`]|(?!\$\$)[^\\`])+?)\$\$(?!\$)/, displayMode: true, backslash: false },
|
|
44
|
+
{ rule: /^\\\[((?:\\(?![[\]`])[\s\S]|[^\\`])+?)\\\]/, displayMode: true, backslash: true },
|
|
45
|
+
{ rule: /^\\\(((?:\\(?![()`])[\s\S]|[^\\`])+?)\\\)/, displayMode: false, backslash: true },
|
|
46
|
+
// Single dollars follow Pandoc's rule so prices stay prices: the opening `$` is not followed by
|
|
47
|
+
// a space, the closing `$` is not preceded by one and not followed by a digit, and the span
|
|
48
|
+
// stays on one line. "$5 and $10" and "$5-$10" are not math; "$x^2$" is.
|
|
49
|
+
{ rule: /^\$(?![\s$])((?:\\[^\n`]|[^\\$\n`])+?)(?<!\s)\$(?!\d)/, displayMode: false, backslash: false },
|
|
50
|
+
];
|
|
51
|
+
/**
|
|
52
|
+
* `\[…\]` and `\(…\)` are also markdown's escaped brackets: HTML-to-markdown converters write a
|
|
53
|
+
* citation as "\[1\]" and a link-less "[Edit]" as "\[Edit\]". Those delimiters count as math only
|
|
54
|
+
* around something that reads as TeX: a command, script, brace or relation, or a single letter
|
|
55
|
+
* ("\( n \)").
|
|
56
|
+
*/
|
|
57
|
+
function looksLikeTex(text) {
|
|
58
|
+
return /[\\^_{}=+<>|]/.test(text) || /^\p{L}$/u.test(text);
|
|
59
|
+
}
|
|
60
|
+
function matchMath(src, rules, type) {
|
|
61
|
+
for (const { rule, displayMode, backslash } of rules) {
|
|
62
|
+
const match = rule.exec(src);
|
|
63
|
+
if (!match)
|
|
64
|
+
continue;
|
|
65
|
+
const text = match[1].trim();
|
|
66
|
+
if (text && (!backslash || looksLikeTex(text))) {
|
|
67
|
+
return { type, raw: match[0], text, displayMode };
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
return undefined;
|
|
71
|
+
}
|
|
72
|
+
function renderPlaceholder(token) {
|
|
73
|
+
// A <code> element on purpose: smartypants skips <code>, so quotes and dashes in the TeX
|
|
74
|
+
// (f'(x), a--b) reach the typesetter unchanged, and until it runs (or if it can't) the
|
|
75
|
+
// reader sees the source styled as code rather than as stray prose.
|
|
76
|
+
const display = token.displayMode ? ' mj-math-display' : '';
|
|
77
|
+
return `<code class="mj-math${display}">${EscapeHtml(token.text)}</code>`;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Creates a marked extension that recognizes math: TeX the way language models write it,
|
|
81
|
+
* `$…$` and `\(…\)` inline, `$$…$$` and `\[…\]` for display math (on their own lines or
|
|
82
|
+
* inside a paragraph), and MathML markup.
|
|
83
|
+
*
|
|
84
|
+
* The extension only tokenizes. Typesetting needs a math engine, which this
|
|
85
|
+
* framework-agnostic package doesn't carry, so the HTML path emits a placeholder:
|
|
86
|
+
*
|
|
87
|
+
* ```html
|
|
88
|
+
* <code class="mj-math">x^2</code> <!-- inline -->
|
|
89
|
+
* <div class="mj-math-block"><code class="mj-math mj-math-display">…</code></div> <!-- block -->
|
|
90
|
+
* ```
|
|
91
|
+
*
|
|
92
|
+
* MathML markup (`<math>…</math>`, or `<mml:math>` as JATS articles write it) is matched as one
|
|
93
|
+
* element and emitted with its namespace prefixes removed. Like any raw HTML in markdown it is passed
|
|
94
|
+
* through as markup, and the host's sanitizer decides what survives (ng-markdown's allows MathML).
|
|
95
|
+
*
|
|
96
|
+
* Recognizing the math up front also protects it from the rest of the markdown grammar:
|
|
97
|
+
* `a_i` and `b_j` in one formula no longer turn into emphasis, and `*` is no longer bold.
|
|
98
|
+
* Math inside code spans and fences is left alone, `\$` is a literal dollar sign, and an escaped
|
|
99
|
+
* bracket ("\[1\]") stays a bracket.
|
|
100
|
+
*/
|
|
101
|
+
export function CreateMathExtension() {
|
|
102
|
+
return {
|
|
103
|
+
extensions: [
|
|
104
|
+
{
|
|
105
|
+
name: 'mathBlock',
|
|
106
|
+
level: 'block',
|
|
107
|
+
start(src) {
|
|
108
|
+
// Only where a block really matches, so a line that merely starts with "$$x$$ is"
|
|
109
|
+
// doesn't cut its paragraph in two. marked asks this to cut the current paragraph,
|
|
110
|
+
// which ends at the first blank line anyway, so candidates past it are never looked at
|
|
111
|
+
// (scanning the whole rest of the document on every paragraph was quadratic).
|
|
112
|
+
const paragraphEnd = src.search(/\n[ \t]*\n/);
|
|
113
|
+
const scope = paragraphEnd === -1 ? src : src.slice(0, paragraphEnd + 1);
|
|
114
|
+
const candidates = /^ {0,3}(?:\$\$|\\\[)/gm;
|
|
115
|
+
let found;
|
|
116
|
+
while ((found = candidates.exec(scope)) !== null) {
|
|
117
|
+
if (matchMath(src.slice(found.index), BLOCK_RULES, 'mathBlock'))
|
|
118
|
+
return found.index;
|
|
119
|
+
}
|
|
120
|
+
return undefined;
|
|
121
|
+
},
|
|
122
|
+
tokenizer(src) {
|
|
123
|
+
return matchMath(src, BLOCK_RULES, 'mathBlock');
|
|
124
|
+
},
|
|
125
|
+
renderer(token) {
|
|
126
|
+
return `<div class="mj-math-block">${renderPlaceholder(token)}</div>\n`;
|
|
127
|
+
},
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
name: 'math',
|
|
131
|
+
level: 'inline',
|
|
132
|
+
start(src) {
|
|
133
|
+
// A `$` right after a letter, digit or backslash never opens math ("US$5", "\$"),
|
|
134
|
+
// so it is not offered as a starting point at all.
|
|
135
|
+
const candidates = /\$|\\[([]/g;
|
|
136
|
+
let found;
|
|
137
|
+
while ((found = candidates.exec(src)) !== null) {
|
|
138
|
+
const before = found.index > 0 ? src[found.index - 1] : '';
|
|
139
|
+
if (found[0] === '$' && /[\p{L}\p{N}\\]/u.test(before))
|
|
140
|
+
continue;
|
|
141
|
+
return found.index;
|
|
142
|
+
}
|
|
143
|
+
return undefined;
|
|
144
|
+
},
|
|
145
|
+
tokenizer(src) {
|
|
146
|
+
return matchMath(src, INLINE_RULES, 'math');
|
|
147
|
+
},
|
|
148
|
+
renderer(token) {
|
|
149
|
+
return renderPlaceholder(token);
|
|
150
|
+
},
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
name: 'mathmlBlock',
|
|
154
|
+
level: 'block',
|
|
155
|
+
start(src) {
|
|
156
|
+
// Same paragraph-bounded search as mathBlock above, and only a display element may cut
|
|
157
|
+
// the paragraph: an inline formula that starts a line belongs to its sentence.
|
|
158
|
+
const paragraphEnd = src.search(/\n[ \t]*\n/);
|
|
159
|
+
const scope = paragraphEnd === -1 ? src : src.slice(0, paragraphEnd + 1);
|
|
160
|
+
const candidates = new RegExp(`^ {0,3}${MATHML_OPENER.source}`, 'gim');
|
|
161
|
+
let found;
|
|
162
|
+
while ((found = candidates.exec(scope)) !== null) {
|
|
163
|
+
if (matchMathML(src.slice(found.index), MATHML_BLOCK_RULE, 'mathmlBlock')?.displayMode)
|
|
164
|
+
return found.index;
|
|
165
|
+
}
|
|
166
|
+
return undefined;
|
|
167
|
+
},
|
|
168
|
+
tokenizer(src) {
|
|
169
|
+
return matchMathML(src, MATHML_BLOCK_RULE, 'mathmlBlock');
|
|
170
|
+
},
|
|
171
|
+
renderer(token) {
|
|
172
|
+
const mathml = token;
|
|
173
|
+
return mathml.displayMode ? `<div class="mj-math-block">${mathml.text}</div>\n` : `<p>${mathml.text}</p>\n`;
|
|
174
|
+
},
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
name: 'mathml',
|
|
178
|
+
level: 'inline',
|
|
179
|
+
start(src) {
|
|
180
|
+
const index = src.slice(0, MATHML_INLINE_LOOKAHEAD).search(MATHML_OPENER);
|
|
181
|
+
return index === -1 ? undefined : index;
|
|
182
|
+
},
|
|
183
|
+
tokenizer(src) {
|
|
184
|
+
return matchMathML(src, MATHML_INLINE_RULE, 'mathml');
|
|
185
|
+
},
|
|
186
|
+
renderer(token) {
|
|
187
|
+
// A display formula inside a sentence (JATS puts them mid-paragraph) gets the block
|
|
188
|
+
// wrapper too, as a span, so a wide one scrolls instead of widening the message.
|
|
189
|
+
const mathml = token;
|
|
190
|
+
return mathml.displayMode ? `<span class="mj-math-block">${mathml.text}</span>` : mathml.text;
|
|
191
|
+
},
|
|
192
|
+
},
|
|
193
|
+
],
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=math.extension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"math.extension.js","sourceRoot":"","sources":["../../src/extensions/math.extension.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ export * from './engine/markdown-engine.js';
|
|
|
2
2
|
export * from './extensions/svg-renderer.extension.js';
|
|
3
3
|
export * from './extensions/collapsible-headings.extension.js';
|
|
4
4
|
export * from './extensions/html-block-repair.extension.js';
|
|
5
|
+
export * from './extensions/math.extension.js';
|
|
5
6
|
export * from './helpers/language.js';
|
|
6
7
|
export * from './helpers/escape.js';
|
|
7
8
|
export * from './types/markdown.types.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,cAAc,6BAA6B,CAAC;AAG5C,cAAc,wCAAwC,CAAC;AACvD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAOA,cAAc,6BAA6B,CAAC;AAG5C,cAAc,wCAAwC,CAAC;AACvD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,gCAAgC,CAAC;AAG/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AAGpC,cAAc,2BAA2B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -9,6 +9,7 @@ export * from './engine/markdown-engine.js';
|
|
|
9
9
|
export * from './extensions/svg-renderer.extension.js';
|
|
10
10
|
export * from './extensions/collapsible-headings.extension.js';
|
|
11
11
|
export * from './extensions/html-block-repair.extension.js';
|
|
12
|
+
export * from './extensions/math.extension.js';
|
|
12
13
|
// Helpers
|
|
13
14
|
export * from './helpers/language.js';
|
|
14
15
|
export * from './helpers/escape.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,EAAE;AACF,4EAA4E;AAC5E,uEAAuE;AACvE,+DAA+D;AAE/D,SAAS;AACT,cAAc,6BAA6B,CAAC;AAE5C,oDAAoD;AACpD,cAAc,wCAAwC,CAAC;AACvD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,6CAA6C,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,8CAA8C;AAC9C,EAAE;AACF,4EAA4E;AAC5E,uEAAuE;AACvE,+DAA+D;AAE/D,SAAS;AACT,cAAc,6BAA6B,CAAC;AAE5C,oDAAoD;AACpD,cAAc,wCAAwC,CAAC;AACvD,cAAc,gDAAgD,CAAC;AAC/D,cAAc,6CAA6C,CAAC;AAC5D,cAAc,gCAAgC,CAAC;AAE/C,UAAU;AACV,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AAEpC,QAAQ;AACR,cAAc,2BAA2B,CAAC"}
|
|
@@ -21,6 +21,14 @@ export interface MarkdownConfig {
|
|
|
21
21
|
* @default true
|
|
22
22
|
*/
|
|
23
23
|
enableMermaid?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* Enable math: TeX (`$…$` and `\(…\)` inline, `$$…$$` and `\[…\]` for display) and MathML
|
|
26
|
+
* markup (`<math>`, or `<mml:math>` as JATS writes it). The core only recognizes it (see
|
|
27
|
+
* `CreateMathExtension`); rendering is the host's job. ng-markdown typesets TeX as MathML with
|
|
28
|
+
* KaTeX, loaded on first use, and its sanitizer lets MathML through.
|
|
29
|
+
* @default true
|
|
30
|
+
*/
|
|
31
|
+
enableMath?: boolean;
|
|
24
32
|
/**
|
|
25
33
|
* Enable copy-to-clipboard button on code blocks.
|
|
26
34
|
* @default true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.types.d.ts","sourceRoot":"","sources":["../../src/types/markdown.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAEpC;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEhD;;;OAGG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;IAErC;;;;;;;;;;;;OAYG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IAE3E;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC,GAAG;IAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAE1H;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,
|
|
1
|
+
{"version":3,"file":"markdown.types.d.ts","sourceRoot":"","sources":["../../src/types/markdown.types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB;;;OAGG;IACH,yBAAyB,CAAC,EAAE,OAAO,CAAC;IAEpC;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAEhD;;;OAGG;IACH,0BAA0B,CAAC,EAAE,OAAO,CAAC;IAErC;;;;;;;;;;;;OAYG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAE5B;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB;;;;;;;;OAQG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;;;;;;;OASG;IACH,UAAU,CAAC,EAAE,OAAO,CAAC;IAErB;;;;;;;;OAQG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B;;;OAGG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;OAEG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;OAGG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;IAE3E;;;;OAIG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC,GAAG;IAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAE1H;;GAEG;AACH,eAAO,MAAM,uBAAuB,EAAE,sBAqBrC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IAEpB;;OAEG;IACH,aAAa,EAAE,OAAO,CAAC;IAEvB;;OAEG;IACH,UAAU,EAAE,WAAW,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,KAAK,GAAG,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;AAE7E;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markdown.types.js","sourceRoot":"","sources":["../../src/types/markdown.types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"markdown.types.js","sourceRoot":"","sources":["../../src/types/markdown.types.ts"],"names":[],"mappings":"AA2KA;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAA2B;IAC7D,eAAe,EAAE,IAAI;IACrB,aAAa,EAAE,IAAI;IACnB,UAAU,EAAE,IAAI;IAChB,cAAc,EAAE,IAAI;IACpB,yBAAyB,EAAE,KAAK;IAChC,uBAAuB,EAAE,CAAC;IAC1B,0BAA0B,EAAE,IAAI;IAChC,gBAAgB,EAAE,SAAS;IAC3B,YAAY,EAAE,IAAI;IAClB,iBAAiB,EAAE,IAAI;IACvB,iBAAiB,EAAE,IAAI;IACvB,UAAU,EAAE,KAAK;IACjB,gBAAgB,EAAE,KAAK;IACvB,gBAAgB,EAAE,IAAI;IACtB,eAAe,EAAE,EAAE;IACnB,iBAAiB,EAAE,KAAK;IACxB,cAAc,EAAE,EAAE;IAClB,UAAU,EAAE,eAAe;IAC3B,YAAY,EAAE,MAAM;IACpB,QAAQ,EAAE,IAAI;CACf,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/markdown-core",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "6.2.0-edge.
|
|
4
|
+
"version": "6.2.0-edge.5",
|
|
5
5
|
"description": "MemberJunction: Framework-agnostic markdown engine (marked config + custom extensions). Emits HTML or a token AST so it can be rendered by Angular (ng-markdown), React Native, or any other UI layer.",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|