@jupyterlab/mermaid 4.4.0-alpha.0 → 4.4.0-alpha.2
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/lib/manager.js +323 -8
- package/lib/manager.js.map +1 -1
- package/lib/tokens.d.ts +4 -2
- package/lib/tokens.js +2 -0
- package/lib/tokens.js.map +1 -1
- package/package.json +6 -5
- package/src/manager.ts +337 -7
- package/src/tokens.ts +7 -2
package/lib/manager.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
// Distributed under the terms of the Modified BSD License.
|
|
3
3
|
import { PromiseDelegate } from '@lumino/coreutils';
|
|
4
4
|
import { LruCache } from '@jupyterlab/coreutils';
|
|
5
|
-
import { DETAILS_CLASS, MERMAID_CLASS, MERMAID_CODE_CLASS, MERMAID_DARK_THEME, MERMAID_DEFAULT_THEME, SUMMARY_CLASS, WARNING_CLASS } from './tokens';
|
|
5
|
+
import { DETAILS_CLASS, MERMAID_CLASS, MERMAID_CODE_CLASS, MERMAID_DARK_THEME, MERMAID_DEFAULT_THEME, RE_DEFAULT_RENDERER, SUMMARY_CLASS, WARNING_CLASS } from './tokens';
|
|
6
6
|
/**
|
|
7
7
|
* A mermaid diagram manager with cache.
|
|
8
8
|
*/
|
|
@@ -19,7 +19,8 @@ export class MermaidManager {
|
|
|
19
19
|
* Post-process to ensure mermaid diagrams contain only valid SVG and XHTML.
|
|
20
20
|
*/
|
|
21
21
|
static cleanMermaidSvg(svg) {
|
|
22
|
-
|
|
22
|
+
svg = svg.replace(Private.RE_VOID_ELEMENT, Private.replaceVoidElement);
|
|
23
|
+
return `${Private.SVG_XML_HEADER}${svg}`;
|
|
23
24
|
}
|
|
24
25
|
/**
|
|
25
26
|
* Handle (re)-initializing mermaid based on external values.
|
|
@@ -54,6 +55,7 @@ export class MermaidManager {
|
|
|
54
55
|
*/
|
|
55
56
|
async renderSvg(text) {
|
|
56
57
|
const _mermaid = await this.getMermaid();
|
|
58
|
+
await Private.ensureRenderers(text);
|
|
57
59
|
const id = `jp-mermaid-${Private.nextMermaidId()}`;
|
|
58
60
|
// create temporary element into which to render
|
|
59
61
|
const el = document.createElement('div');
|
|
@@ -184,7 +186,9 @@ var Private;
|
|
|
184
186
|
(function (Private) {
|
|
185
187
|
let _themes = null;
|
|
186
188
|
let _mermaid = null;
|
|
189
|
+
let _mermaidElk = null;
|
|
187
190
|
let _loading = null;
|
|
191
|
+
let _loadingElk = null;
|
|
188
192
|
let _nextMermaidId = 0;
|
|
189
193
|
let _version = null;
|
|
190
194
|
/**
|
|
@@ -204,8 +208,9 @@ var Private;
|
|
|
204
208
|
/**
|
|
205
209
|
* (Re-)initialize mermaid with lab-specific theme information
|
|
206
210
|
*/
|
|
207
|
-
function initMermaid() {
|
|
208
|
-
|
|
211
|
+
function initMermaid(mermaid = null) {
|
|
212
|
+
mermaid = _mermaid;
|
|
213
|
+
if (!mermaid) {
|
|
209
214
|
return false;
|
|
210
215
|
}
|
|
211
216
|
let theme = MERMAID_DEFAULT_THEME;
|
|
@@ -219,8 +224,7 @@ var Private;
|
|
|
219
224
|
const fontFamily = window
|
|
220
225
|
.getComputedStyle(document.body)
|
|
221
226
|
.getPropertyValue('--jp-ui-font-family');
|
|
222
|
-
|
|
223
|
-
_mermaid.mermaidAPI.initialize({
|
|
227
|
+
mermaid.initialize({
|
|
224
228
|
theme,
|
|
225
229
|
fontFamily,
|
|
226
230
|
securityLevel: 'strict',
|
|
@@ -257,12 +261,50 @@ var Private;
|
|
|
257
261
|
}
|
|
258
262
|
_loading = new PromiseDelegate();
|
|
259
263
|
_version = (await import('mermaid/package.json')).version;
|
|
260
|
-
_mermaid = (await import('mermaid')).default;
|
|
261
|
-
initMermaid();
|
|
264
|
+
const tmpMermaid = (_mermaid = (await import('mermaid')).default);
|
|
265
|
+
initMermaid(tmpMermaid);
|
|
266
|
+
_mermaid = tmpMermaid;
|
|
262
267
|
_loading.resolve(_mermaid);
|
|
263
268
|
return _mermaid;
|
|
264
269
|
}
|
|
265
270
|
Private.ensureMermaid = ensureMermaid;
|
|
271
|
+
/** Detect and load any renderers configured via `%init` or YAML front matter.
|
|
272
|
+
*
|
|
273
|
+
* The current upstream behavior appears to be last-in wins, but check all.
|
|
274
|
+
*/
|
|
275
|
+
async function ensureRenderers(text) {
|
|
276
|
+
let promises = [];
|
|
277
|
+
for (const match of [...text.matchAll(RE_DEFAULT_RENDERER)]) {
|
|
278
|
+
switch ((match && match[2]) || null) {
|
|
279
|
+
case 'elk':
|
|
280
|
+
promises.push(Private.ensureMermaidElk());
|
|
281
|
+
break;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
if (promises.length) {
|
|
285
|
+
await Promise.all(promises);
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
Private.ensureRenderers = ensureRenderers;
|
|
289
|
+
/**
|
|
290
|
+
* Ensure mermaid-elk has been lazily loaded once, initialized, and cached.
|
|
291
|
+
*/
|
|
292
|
+
async function ensureMermaidElk() {
|
|
293
|
+
if (_mermaidElk != null) {
|
|
294
|
+
return _mermaidElk;
|
|
295
|
+
}
|
|
296
|
+
if (_loadingElk) {
|
|
297
|
+
return _loadingElk.promise;
|
|
298
|
+
}
|
|
299
|
+
_loadingElk = new PromiseDelegate();
|
|
300
|
+
const _mermaid = await ensureMermaid();
|
|
301
|
+
const tmpElk = (await import('@mermaid-js/layout-elk')).default;
|
|
302
|
+
_mermaid.registerLayoutLoaders(tmpElk);
|
|
303
|
+
_mermaidElk = tmpElk;
|
|
304
|
+
_loadingElk.resolve(_mermaidElk);
|
|
305
|
+
return _mermaidElk;
|
|
306
|
+
}
|
|
307
|
+
Private.ensureMermaidElk = ensureMermaidElk;
|
|
266
308
|
/**
|
|
267
309
|
* A regular expression for all void elements, which may include attributes and
|
|
268
310
|
* a slash.
|
|
@@ -284,5 +326,278 @@ var Private;
|
|
|
284
326
|
return `<${tag} ${rest}>`;
|
|
285
327
|
}
|
|
286
328
|
Private.replaceVoidElement = replaceVoidElement;
|
|
329
|
+
/**
|
|
330
|
+
* Named HTML entities with their decimal equivalent codes.
|
|
331
|
+
*
|
|
332
|
+
* @see https://www.w3.org/TR/WD-html40-970708/sgml/entities.html
|
|
333
|
+
* */
|
|
334
|
+
Private.HTML_ENTITIES = `<!ENTITY Aacute "Á">
|
|
335
|
+
<!ENTITY aacute "á">
|
|
336
|
+
<!ENTITY Acirc "Â">
|
|
337
|
+
<!ENTITY acirc "â">
|
|
338
|
+
<!ENTITY acute "´">
|
|
339
|
+
<!ENTITY AElig "Æ">
|
|
340
|
+
<!ENTITY aelig "æ">
|
|
341
|
+
<!ENTITY Agrave "À">
|
|
342
|
+
<!ENTITY agrave "à">
|
|
343
|
+
<!ENTITY alefsym "ℵ">
|
|
344
|
+
<!ENTITY Alpha "Α">
|
|
345
|
+
<!ENTITY alpha "α">
|
|
346
|
+
<!ENTITY amp "&">
|
|
347
|
+
<!ENTITY and "⊥">
|
|
348
|
+
<!ENTITY ang "∠">
|
|
349
|
+
<!ENTITY Aring "Å">
|
|
350
|
+
<!ENTITY aring "å">
|
|
351
|
+
<!ENTITY asymp "≈">
|
|
352
|
+
<!ENTITY Atilde "Ã">
|
|
353
|
+
<!ENTITY atilde "ã">
|
|
354
|
+
<!ENTITY Auml "Ä">
|
|
355
|
+
<!ENTITY auml "ä">
|
|
356
|
+
<!ENTITY bdquo "„">
|
|
357
|
+
<!ENTITY Beta "Β">
|
|
358
|
+
<!ENTITY beta "β">
|
|
359
|
+
<!ENTITY brvbar "¦">
|
|
360
|
+
<!ENTITY bull "•">
|
|
361
|
+
<!ENTITY cap "∩">
|
|
362
|
+
<!ENTITY Ccedil "Ç">
|
|
363
|
+
<!ENTITY ccedil "ç">
|
|
364
|
+
<!ENTITY cedil "¸">
|
|
365
|
+
<!ENTITY cent "¢">
|
|
366
|
+
<!ENTITY Chi "Χ">
|
|
367
|
+
<!ENTITY chi "χ">
|
|
368
|
+
<!ENTITY circ "ˆ">
|
|
369
|
+
<!ENTITY clubs "♣">
|
|
370
|
+
<!ENTITY cong "≅">
|
|
371
|
+
<!ENTITY copy "©">
|
|
372
|
+
<!ENTITY crarr "↵">
|
|
373
|
+
<!ENTITY cup "∪">
|
|
374
|
+
<!ENTITY curren "¤">
|
|
375
|
+
<!ENTITY dagger "†">
|
|
376
|
+
<!ENTITY Dagger "‡">
|
|
377
|
+
<!ENTITY darr "↓">
|
|
378
|
+
<!ENTITY dArr "⇓">
|
|
379
|
+
<!ENTITY deg "°">
|
|
380
|
+
<!ENTITY Delta "Δ">
|
|
381
|
+
<!ENTITY delta "δ">
|
|
382
|
+
<!ENTITY diams "♦">
|
|
383
|
+
<!ENTITY divide "÷">
|
|
384
|
+
<!ENTITY Eacute "É">
|
|
385
|
+
<!ENTITY eacute "é">
|
|
386
|
+
<!ENTITY Ecirc "Ê">
|
|
387
|
+
<!ENTITY ecirc "ê">
|
|
388
|
+
<!ENTITY Egrave "È">
|
|
389
|
+
<!ENTITY egrave "è">
|
|
390
|
+
<!ENTITY empty "∅">
|
|
391
|
+
<!ENTITY emsp " ">
|
|
392
|
+
<!ENTITY ensp " ">
|
|
393
|
+
<!ENTITY epsilon "ε">
|
|
394
|
+
<!ENTITY Epsilon "Ε">
|
|
395
|
+
<!ENTITY equiv "≡">
|
|
396
|
+
<!ENTITY Eta "Η">
|
|
397
|
+
<!ENTITY eta "η">
|
|
398
|
+
<!ENTITY ETH "Ð">
|
|
399
|
+
<!ENTITY eth "ð">
|
|
400
|
+
<!ENTITY Euml "Ë">
|
|
401
|
+
<!ENTITY euml "ë">
|
|
402
|
+
<!ENTITY exist "∃">
|
|
403
|
+
<!ENTITY fnof "ƒ">
|
|
404
|
+
<!ENTITY forall "∀">
|
|
405
|
+
<!ENTITY frac12 "½">
|
|
406
|
+
<!ENTITY frac14 "¼">
|
|
407
|
+
<!ENTITY frac34 "¾">
|
|
408
|
+
<!ENTITY frasl "⁄">
|
|
409
|
+
<!ENTITY Gamma "Γ">
|
|
410
|
+
<!ENTITY gamma "γ">
|
|
411
|
+
<!ENTITY ge "≥">
|
|
412
|
+
<!ENTITY gt ">">
|
|
413
|
+
<!ENTITY harr "↔">
|
|
414
|
+
<!ENTITY hArr "⇔">
|
|
415
|
+
<!ENTITY hearts "♥">
|
|
416
|
+
<!ENTITY hellip "…">
|
|
417
|
+
<!ENTITY Iacute "Í">
|
|
418
|
+
<!ENTITY iacute "í">
|
|
419
|
+
<!ENTITY Icirc "Î">
|
|
420
|
+
<!ENTITY icirc "î">
|
|
421
|
+
<!ENTITY iexcl "¡">
|
|
422
|
+
<!ENTITY Igrave "Ì">
|
|
423
|
+
<!ENTITY igrave "ì">
|
|
424
|
+
<!ENTITY image "ℑ">
|
|
425
|
+
<!ENTITY infin "∞">
|
|
426
|
+
<!ENTITY int "∫">
|
|
427
|
+
<!ENTITY Iota "Ι">
|
|
428
|
+
<!ENTITY iota "ι">
|
|
429
|
+
<!ENTITY iquest "¿">
|
|
430
|
+
<!ENTITY isin "∈">
|
|
431
|
+
<!ENTITY Iuml "Ï">
|
|
432
|
+
<!ENTITY iuml "ï">
|
|
433
|
+
<!ENTITY Kappa "Κ">
|
|
434
|
+
<!ENTITY kappa "κ">
|
|
435
|
+
<!ENTITY Lambda "Λ">
|
|
436
|
+
<!ENTITY lambda "λ">
|
|
437
|
+
<!ENTITY lang "〈">
|
|
438
|
+
<!ENTITY laquo "«">
|
|
439
|
+
<!ENTITY larr "←">
|
|
440
|
+
<!ENTITY lArr "⇐">
|
|
441
|
+
<!ENTITY lceil "⌈">
|
|
442
|
+
<!ENTITY ldquo "“">
|
|
443
|
+
<!ENTITY le "≤">
|
|
444
|
+
<!ENTITY lfloor "⌊">
|
|
445
|
+
<!ENTITY lowast "∗">
|
|
446
|
+
<!ENTITY loz "◊">
|
|
447
|
+
<!ENTITY lrm "‎">
|
|
448
|
+
<!ENTITY lsaquo "‹">
|
|
449
|
+
<!ENTITY lsquo "‘">
|
|
450
|
+
<!ENTITY lt "<">
|
|
451
|
+
<!ENTITY macr "¯">
|
|
452
|
+
<!ENTITY mdash "—">
|
|
453
|
+
<!ENTITY micro "µ">
|
|
454
|
+
<!ENTITY middot "·">
|
|
455
|
+
<!ENTITY minus "−">
|
|
456
|
+
<!ENTITY Mu "Μ">
|
|
457
|
+
<!ENTITY mu "μ">
|
|
458
|
+
<!ENTITY nabla "∇">
|
|
459
|
+
<!ENTITY nbsp " ">
|
|
460
|
+
<!ENTITY ndash "–">
|
|
461
|
+
<!ENTITY ne "≠">
|
|
462
|
+
<!ENTITY ni "∋">
|
|
463
|
+
<!ENTITY not "¬">
|
|
464
|
+
<!ENTITY notin "∉">
|
|
465
|
+
<!ENTITY nsub "⊄">
|
|
466
|
+
<!ENTITY Ntilde "Ñ">
|
|
467
|
+
<!ENTITY ntilde "ñ">
|
|
468
|
+
<!ENTITY Nu "Ν">
|
|
469
|
+
<!ENTITY nu "ν">
|
|
470
|
+
<!ENTITY Oacute "Ó">
|
|
471
|
+
<!ENTITY oacute "ó">
|
|
472
|
+
<!ENTITY Ocirc "Ô">
|
|
473
|
+
<!ENTITY ocirc "ô">
|
|
474
|
+
<!ENTITY OElig "Œ">
|
|
475
|
+
<!ENTITY oelig "œ">
|
|
476
|
+
<!ENTITY Ograve "Ò">
|
|
477
|
+
<!ENTITY ograve "ò">
|
|
478
|
+
<!ENTITY oline "‾">
|
|
479
|
+
<!ENTITY Omega "Ω">
|
|
480
|
+
<!ENTITY omega "ω">
|
|
481
|
+
<!ENTITY Omicron "Ο">
|
|
482
|
+
<!ENTITY omicron "ο">
|
|
483
|
+
<!ENTITY oplus "⊕">
|
|
484
|
+
<!ENTITY or "⊦">
|
|
485
|
+
<!ENTITY ordf "ª">
|
|
486
|
+
<!ENTITY ordm "º">
|
|
487
|
+
<!ENTITY Oslash "Ø">
|
|
488
|
+
<!ENTITY oslash "ø">
|
|
489
|
+
<!ENTITY Otilde "Õ">
|
|
490
|
+
<!ENTITY otilde "õ">
|
|
491
|
+
<!ENTITY otimes "⊗">
|
|
492
|
+
<!ENTITY Ouml "Ö">
|
|
493
|
+
<!ENTITY ouml "ö">
|
|
494
|
+
<!ENTITY para "¶">
|
|
495
|
+
<!ENTITY part "∂">
|
|
496
|
+
<!ENTITY permil "‰">
|
|
497
|
+
<!ENTITY perp "⊥">
|
|
498
|
+
<!ENTITY Phi "Φ">
|
|
499
|
+
<!ENTITY phi "φ">
|
|
500
|
+
<!ENTITY Pi "Π">
|
|
501
|
+
<!ENTITY pi "π">
|
|
502
|
+
<!ENTITY piv "ϖ">
|
|
503
|
+
<!ENTITY plusmn "±">
|
|
504
|
+
<!ENTITY pound "£">
|
|
505
|
+
<!ENTITY prime "′">
|
|
506
|
+
<!ENTITY Prime "″">
|
|
507
|
+
<!ENTITY prod "∏">
|
|
508
|
+
<!ENTITY prop "∝">
|
|
509
|
+
<!ENTITY Psi "Ψ">
|
|
510
|
+
<!ENTITY psi "ψ">
|
|
511
|
+
<!ENTITY quot """>
|
|
512
|
+
<!ENTITY radic "√">
|
|
513
|
+
<!ENTITY rang "〉">
|
|
514
|
+
<!ENTITY raquo "»">
|
|
515
|
+
<!ENTITY rarr "→">
|
|
516
|
+
<!ENTITY rArr "⇒">
|
|
517
|
+
<!ENTITY rceil "⌉">
|
|
518
|
+
<!ENTITY rdquo "”">
|
|
519
|
+
<!ENTITY real "ℜ">
|
|
520
|
+
<!ENTITY reg "®">
|
|
521
|
+
<!ENTITY rfloor "⌋">
|
|
522
|
+
<!ENTITY Rho "Ρ">
|
|
523
|
+
<!ENTITY rho "ρ">
|
|
524
|
+
<!ENTITY rlm "‏">
|
|
525
|
+
<!ENTITY rsaquo "›">
|
|
526
|
+
<!ENTITY rsquo "’">
|
|
527
|
+
<!ENTITY sbquo "‚">
|
|
528
|
+
<!ENTITY Scaron "Š">
|
|
529
|
+
<!ENTITY scaron "š">
|
|
530
|
+
<!ENTITY sdot "⋅">
|
|
531
|
+
<!ENTITY sect "§">
|
|
532
|
+
<!ENTITY shy "­">
|
|
533
|
+
<!ENTITY Sigma "Σ">
|
|
534
|
+
<!ENTITY sigma "σ">
|
|
535
|
+
<!ENTITY sigmaf "ς">
|
|
536
|
+
<!ENTITY sim "∼">
|
|
537
|
+
<!ENTITY spades "♠">
|
|
538
|
+
<!ENTITY sub "⊂">
|
|
539
|
+
<!ENTITY sube "⊆">
|
|
540
|
+
<!ENTITY sum "∑">
|
|
541
|
+
<!ENTITY sup "⊃">
|
|
542
|
+
<!ENTITY sup1 "¹">
|
|
543
|
+
<!ENTITY sup2 "²">
|
|
544
|
+
<!ENTITY sup3 "³">
|
|
545
|
+
<!ENTITY supe "⊇">
|
|
546
|
+
<!ENTITY szlig "ß">
|
|
547
|
+
<!ENTITY Tau "Τ">
|
|
548
|
+
<!ENTITY tau "τ">
|
|
549
|
+
<!ENTITY there4 "∴">
|
|
550
|
+
<!ENTITY Theta "Θ">
|
|
551
|
+
<!ENTITY theta "θ">
|
|
552
|
+
<!ENTITY thetasym "ϑ">
|
|
553
|
+
<!ENTITY thinsp " ">
|
|
554
|
+
<!ENTITY THORN "Þ">
|
|
555
|
+
<!ENTITY thorn "þ">
|
|
556
|
+
<!ENTITY tilde "˜">
|
|
557
|
+
<!ENTITY times "×">
|
|
558
|
+
<!ENTITY trade "™">
|
|
559
|
+
<!ENTITY Uacute "Ú">
|
|
560
|
+
<!ENTITY uacute "ú">
|
|
561
|
+
<!ENTITY uarr "↑">
|
|
562
|
+
<!ENTITY uArr "⇑">
|
|
563
|
+
<!ENTITY Ucirc "Û">
|
|
564
|
+
<!ENTITY ucirc "û">
|
|
565
|
+
<!ENTITY Ugrave "Ù">
|
|
566
|
+
<!ENTITY ugrave "ù">
|
|
567
|
+
<!ENTITY uml "¨">
|
|
568
|
+
<!ENTITY upsih "ϒ">
|
|
569
|
+
<!ENTITY Upsilon "Υ">
|
|
570
|
+
<!ENTITY upsilon "υ">
|
|
571
|
+
<!ENTITY Uuml "Ü">
|
|
572
|
+
<!ENTITY uuml "ü">
|
|
573
|
+
<!ENTITY weierp "℘">
|
|
574
|
+
<!ENTITY Xi "Ξ">
|
|
575
|
+
<!ENTITY xi "ξ">
|
|
576
|
+
<!ENTITY Yacute "Ý">
|
|
577
|
+
<!ENTITY yacute "ý">
|
|
578
|
+
<!ENTITY yen "¥">
|
|
579
|
+
<!ENTITY Yuml "Ÿ">
|
|
580
|
+
<!ENTITY yuml "ÿ">
|
|
581
|
+
<!ENTITY Zeta "Ζ">
|
|
582
|
+
<!ENTITY zeta "ζ">
|
|
583
|
+
<!ENTITY zwj "‍">
|
|
584
|
+
<!ENTITY zwnj "‌">`.replace(/\n/g, ' ');
|
|
585
|
+
/**
|
|
586
|
+
* A reasonably strict xml declaration.
|
|
587
|
+
*/
|
|
588
|
+
const XML_DECL = '<?xml version="1.0" standalone="no"?>';
|
|
589
|
+
/**
|
|
590
|
+
* The beginning of the XML doctype declaration.
|
|
591
|
+
*/
|
|
592
|
+
const DOCTYPE_START = `<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [`;
|
|
593
|
+
/**
|
|
594
|
+
* The end of the XML docype declaration.
|
|
595
|
+
*/
|
|
596
|
+
const DOCTYPE_END = ']>';
|
|
597
|
+
/**
|
|
598
|
+
* A full header for an SVG XML document.
|
|
599
|
+
*/
|
|
600
|
+
Private.SVG_XML_HEADER = `${XML_DECL}
|
|
601
|
+
${DOCTYPE_START}${Private.HTML_ENTITIES}${DOCTYPE_END}`;
|
|
287
602
|
})(Private || (Private = {}));
|
|
288
603
|
//# sourceMappingURL=manager.js.map
|
package/lib/manager.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;
|
|
1
|
+
{"version":3,"file":"manager.js","sourceRoot":"","sources":["../src/manager.ts"],"names":[],"mappings":"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"}
|
package/lib/tokens.d.ts
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { Token } from '@lumino/coreutils';
|
|
2
2
|
import type MermaidType from 'mermaid';
|
|
3
|
+
import type { MermaidConfig } from 'mermaid/dist/config.type';
|
|
3
4
|
export declare const MERMAID_MIME_TYPE = "text/vnd.mermaid";
|
|
4
5
|
export declare const MERMAID_FILE_EXTENSIONS: string[];
|
|
5
|
-
export declare const
|
|
6
|
-
export declare const
|
|
6
|
+
export declare const RE_DEFAULT_RENDERER: RegExp;
|
|
7
|
+
export declare const MERMAID_DEFAULT_THEME: MermaidConfig['theme'];
|
|
8
|
+
export declare const MERMAID_DARK_THEME: MermaidConfig['theme'];
|
|
7
9
|
export declare const MERMAID_CLASS = "jp-RenderedMermaid";
|
|
8
10
|
export declare const MERMAID_CODE_CLASS = "mermaid";
|
|
9
11
|
export declare const WARNING_CLASS = "jp-mod-warning";
|
package/lib/tokens.js
CHANGED
|
@@ -4,6 +4,8 @@ import { Token } from '@lumino/coreutils';
|
|
|
4
4
|
// documented upstream constants
|
|
5
5
|
export const MERMAID_MIME_TYPE = 'text/vnd.mermaid';
|
|
6
6
|
export const MERMAID_FILE_EXTENSIONS = ['.mmd', '.mermaid'];
|
|
7
|
+
// layout sniffing
|
|
8
|
+
export const RE_DEFAULT_RENDERER = /\bdefaultRenderer["']?\s*:\s*(["']?)(\b[^"'\s]+\b)(\1)/gm;
|
|
7
9
|
// mermaid themes
|
|
8
10
|
export const MERMAID_DEFAULT_THEME = 'default';
|
|
9
11
|
export const MERMAID_DARK_THEME = 'dark';
|
package/lib/tokens.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"tokens.js","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,2DAA2D;AAE3D,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAI1C,gCAAgC;AAChC,MAAM,CAAC,MAAM,iBAAiB,GAAG,kBAAkB,CAAC;AACpD,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AAE5D,kBAAkB;AAClB,MAAM,CAAC,MAAM,mBAAmB,GAC9B,0DAA0D,CAAC;AAE7D,iBAAiB;AACjB,MAAM,CAAC,MAAM,qBAAqB,GAA2B,SAAS,CAAC;AACvE,MAAM,CAAC,MAAM,kBAAkB,GAA2B,MAAM,CAAC;AAEjE,MAAM;AACN,MAAM,CAAC,MAAM,aAAa,GAAG,oBAAoB,CAAC;AAClD,MAAM,CAAC,MAAM,kBAAkB,GAAG,SAAS,CAAC;AAC5C,MAAM,CAAC,MAAM,aAAa,GAAG,gBAAgB,CAAC;AAC9C,MAAM,CAAC,MAAM,aAAa,GAAG,4BAA4B,CAAC;AAC1D,MAAM,CAAC,MAAM,aAAa,GAAG,4BAA4B,CAAC;AAE1D;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,KAAK,CACtC,qCAAqC,EACrC,qDAAqD,CACtD,CAAC;AAqDF;;GAEG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,IAAI,KAAK,CACvC,sCAAsC,EACtC,oFAAoF,CACrF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jupyterlab/mermaid",
|
|
3
|
-
"version": "4.4.0-alpha.
|
|
3
|
+
"version": "4.4.0-alpha.2",
|
|
4
4
|
"description": "JupyterLab - Mermaid Renderer",
|
|
5
5
|
"homepage": "https://github.com/jupyterlab/jupyterlab",
|
|
6
6
|
"bugs": {
|
|
@@ -41,12 +41,13 @@
|
|
|
41
41
|
"watch": "tsc -b --watch"
|
|
42
42
|
},
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@jupyterlab/apputils": "^4.5.0-alpha.
|
|
45
|
-
"@jupyterlab/coreutils": "^6.4.0-alpha.
|
|
46
|
-
"@jupyterlab/rendermime-interfaces": "^3.12.0-alpha.
|
|
44
|
+
"@jupyterlab/apputils": "^4.5.0-alpha.2",
|
|
45
|
+
"@jupyterlab/coreutils": "^6.4.0-alpha.2",
|
|
46
|
+
"@jupyterlab/rendermime-interfaces": "^3.12.0-alpha.2",
|
|
47
47
|
"@lumino/coreutils": "^2.2.0",
|
|
48
48
|
"@lumino/widgets": "^2.5.0",
|
|
49
|
-
"mermaid": "^
|
|
49
|
+
"@mermaid-js/layout-elk": "^0.1.7",
|
|
50
|
+
"mermaid": "^11.4.1"
|
|
50
51
|
},
|
|
51
52
|
"devDependencies": {
|
|
52
53
|
"@types/jest": "^29.2.0",
|
package/src/manager.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
// Distributed under the terms of the Modified BSD License.
|
|
3
3
|
|
|
4
4
|
import type MermaidType from 'mermaid';
|
|
5
|
+
import type MermaidElkType from '@mermaid-js/layout-elk';
|
|
5
6
|
|
|
6
7
|
import { PromiseDelegate } from '@lumino/coreutils';
|
|
7
8
|
|
|
@@ -16,6 +17,7 @@ import {
|
|
|
16
17
|
MERMAID_CODE_CLASS,
|
|
17
18
|
MERMAID_DARK_THEME,
|
|
18
19
|
MERMAID_DEFAULT_THEME,
|
|
20
|
+
RE_DEFAULT_RENDERER,
|
|
19
21
|
SUMMARY_CLASS,
|
|
20
22
|
WARNING_CLASS
|
|
21
23
|
} from './tokens';
|
|
@@ -41,7 +43,8 @@ export class MermaidManager implements IMermaidManager {
|
|
|
41
43
|
* Post-process to ensure mermaid diagrams contain only valid SVG and XHTML.
|
|
42
44
|
*/
|
|
43
45
|
static cleanMermaidSvg(svg: string): string {
|
|
44
|
-
|
|
46
|
+
svg = svg.replace(Private.RE_VOID_ELEMENT, Private.replaceVoidElement);
|
|
47
|
+
return `${Private.SVG_XML_HEADER}${svg}`;
|
|
45
48
|
}
|
|
46
49
|
|
|
47
50
|
/**
|
|
@@ -81,6 +84,7 @@ export class MermaidManager implements IMermaidManager {
|
|
|
81
84
|
*/
|
|
82
85
|
async renderSvg(text: string): Promise<IMermaidManager.IRenderInfo> {
|
|
83
86
|
const _mermaid = await this.getMermaid();
|
|
87
|
+
await Private.ensureRenderers(text);
|
|
84
88
|
|
|
85
89
|
const id = `jp-mermaid-${Private.nextMermaidId()}`;
|
|
86
90
|
|
|
@@ -250,7 +254,9 @@ export namespace MermaidManager {
|
|
|
250
254
|
namespace Private {
|
|
251
255
|
let _themes: IThemeManager | null = null;
|
|
252
256
|
let _mermaid: typeof MermaidType | null = null;
|
|
257
|
+
let _mermaidElk: typeof MermaidElkType | null = null;
|
|
253
258
|
let _loading: PromiseDelegate<typeof MermaidType> | null = null;
|
|
259
|
+
let _loadingElk: PromiseDelegate<typeof MermaidElkType> | null = null;
|
|
254
260
|
let _nextMermaidId = 0;
|
|
255
261
|
let _version: string | null = null;
|
|
256
262
|
|
|
@@ -271,8 +277,12 @@ namespace Private {
|
|
|
271
277
|
/**
|
|
272
278
|
* (Re-)initialize mermaid with lab-specific theme information
|
|
273
279
|
*/
|
|
274
|
-
export function initMermaid(
|
|
275
|
-
|
|
280
|
+
export function initMermaid(
|
|
281
|
+
mermaid: typeof MermaidType | null = null
|
|
282
|
+
): boolean {
|
|
283
|
+
mermaid = _mermaid;
|
|
284
|
+
|
|
285
|
+
if (!mermaid) {
|
|
276
286
|
return false;
|
|
277
287
|
}
|
|
278
288
|
|
|
@@ -290,8 +300,7 @@ namespace Private {
|
|
|
290
300
|
.getComputedStyle(document.body)
|
|
291
301
|
.getPropertyValue('--jp-ui-font-family');
|
|
292
302
|
|
|
293
|
-
|
|
294
|
-
_mermaid.mermaidAPI.initialize({
|
|
303
|
+
mermaid.initialize({
|
|
295
304
|
theme,
|
|
296
305
|
fontFamily,
|
|
297
306
|
securityLevel: 'strict',
|
|
@@ -328,12 +337,55 @@ namespace Private {
|
|
|
328
337
|
}
|
|
329
338
|
_loading = new PromiseDelegate();
|
|
330
339
|
_version = (await import('mermaid/package.json')).version;
|
|
331
|
-
_mermaid = (await import('mermaid')).default;
|
|
332
|
-
initMermaid();
|
|
340
|
+
const tmpMermaid = (_mermaid = (await import('mermaid')).default);
|
|
341
|
+
initMermaid(tmpMermaid);
|
|
342
|
+
_mermaid = tmpMermaid;
|
|
333
343
|
_loading.resolve(_mermaid);
|
|
334
344
|
return _mermaid;
|
|
335
345
|
}
|
|
336
346
|
|
|
347
|
+
/** Detect and load any renderers configured via `%init` or YAML front matter.
|
|
348
|
+
*
|
|
349
|
+
* The current upstream behavior appears to be last-in wins, but check all.
|
|
350
|
+
*/
|
|
351
|
+
export async function ensureRenderers(text: string): Promise<void> {
|
|
352
|
+
let promises: Promise<any>[] = [];
|
|
353
|
+
|
|
354
|
+
for (const match of [...text.matchAll(RE_DEFAULT_RENDERER)]) {
|
|
355
|
+
switch ((match && match[2]) || null) {
|
|
356
|
+
case 'elk':
|
|
357
|
+
promises.push(Private.ensureMermaidElk());
|
|
358
|
+
break;
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
|
|
362
|
+
if (promises.length) {
|
|
363
|
+
await Promise.all(promises);
|
|
364
|
+
}
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
/**
|
|
368
|
+
* Ensure mermaid-elk has been lazily loaded once, initialized, and cached.
|
|
369
|
+
*/
|
|
370
|
+
export async function ensureMermaidElk(): Promise<typeof MermaidElkType> {
|
|
371
|
+
if (_mermaidElk != null) {
|
|
372
|
+
return _mermaidElk;
|
|
373
|
+
}
|
|
374
|
+
if (_loadingElk) {
|
|
375
|
+
return _loadingElk.promise;
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
_loadingElk = new PromiseDelegate();
|
|
379
|
+
|
|
380
|
+
const _mermaid = await ensureMermaid();
|
|
381
|
+
|
|
382
|
+
const tmpElk = (await import('@mermaid-js/layout-elk')).default;
|
|
383
|
+
_mermaid.registerLayoutLoaders(tmpElk);
|
|
384
|
+
_mermaidElk = tmpElk;
|
|
385
|
+
_loadingElk.resolve(_mermaidElk);
|
|
386
|
+
return _mermaidElk;
|
|
387
|
+
}
|
|
388
|
+
|
|
337
389
|
/**
|
|
338
390
|
* A regular expression for all void elements, which may include attributes and
|
|
339
391
|
* a slash.
|
|
@@ -356,4 +408,282 @@ namespace Private {
|
|
|
356
408
|
}
|
|
357
409
|
return `<${tag} ${rest}>`;
|
|
358
410
|
}
|
|
411
|
+
|
|
412
|
+
/**
|
|
413
|
+
* Named HTML entities with their decimal equivalent codes.
|
|
414
|
+
*
|
|
415
|
+
* @see https://www.w3.org/TR/WD-html40-970708/sgml/entities.html
|
|
416
|
+
* */
|
|
417
|
+
export const HTML_ENTITIES = `<!ENTITY Aacute "Á">
|
|
418
|
+
<!ENTITY aacute "á">
|
|
419
|
+
<!ENTITY Acirc "Â">
|
|
420
|
+
<!ENTITY acirc "â">
|
|
421
|
+
<!ENTITY acute "´">
|
|
422
|
+
<!ENTITY AElig "Æ">
|
|
423
|
+
<!ENTITY aelig "æ">
|
|
424
|
+
<!ENTITY Agrave "À">
|
|
425
|
+
<!ENTITY agrave "à">
|
|
426
|
+
<!ENTITY alefsym "ℵ">
|
|
427
|
+
<!ENTITY Alpha "Α">
|
|
428
|
+
<!ENTITY alpha "α">
|
|
429
|
+
<!ENTITY amp "&">
|
|
430
|
+
<!ENTITY and "⊥">
|
|
431
|
+
<!ENTITY ang "∠">
|
|
432
|
+
<!ENTITY Aring "Å">
|
|
433
|
+
<!ENTITY aring "å">
|
|
434
|
+
<!ENTITY asymp "≈">
|
|
435
|
+
<!ENTITY Atilde "Ã">
|
|
436
|
+
<!ENTITY atilde "ã">
|
|
437
|
+
<!ENTITY Auml "Ä">
|
|
438
|
+
<!ENTITY auml "ä">
|
|
439
|
+
<!ENTITY bdquo "„">
|
|
440
|
+
<!ENTITY Beta "Β">
|
|
441
|
+
<!ENTITY beta "β">
|
|
442
|
+
<!ENTITY brvbar "¦">
|
|
443
|
+
<!ENTITY bull "•">
|
|
444
|
+
<!ENTITY cap "∩">
|
|
445
|
+
<!ENTITY Ccedil "Ç">
|
|
446
|
+
<!ENTITY ccedil "ç">
|
|
447
|
+
<!ENTITY cedil "¸">
|
|
448
|
+
<!ENTITY cent "¢">
|
|
449
|
+
<!ENTITY Chi "Χ">
|
|
450
|
+
<!ENTITY chi "χ">
|
|
451
|
+
<!ENTITY circ "ˆ">
|
|
452
|
+
<!ENTITY clubs "♣">
|
|
453
|
+
<!ENTITY cong "≅">
|
|
454
|
+
<!ENTITY copy "©">
|
|
455
|
+
<!ENTITY crarr "↵">
|
|
456
|
+
<!ENTITY cup "∪">
|
|
457
|
+
<!ENTITY curren "¤">
|
|
458
|
+
<!ENTITY dagger "†">
|
|
459
|
+
<!ENTITY Dagger "‡">
|
|
460
|
+
<!ENTITY darr "↓">
|
|
461
|
+
<!ENTITY dArr "⇓">
|
|
462
|
+
<!ENTITY deg "°">
|
|
463
|
+
<!ENTITY Delta "Δ">
|
|
464
|
+
<!ENTITY delta "δ">
|
|
465
|
+
<!ENTITY diams "♦">
|
|
466
|
+
<!ENTITY divide "÷">
|
|
467
|
+
<!ENTITY Eacute "É">
|
|
468
|
+
<!ENTITY eacute "é">
|
|
469
|
+
<!ENTITY Ecirc "Ê">
|
|
470
|
+
<!ENTITY ecirc "ê">
|
|
471
|
+
<!ENTITY Egrave "È">
|
|
472
|
+
<!ENTITY egrave "è">
|
|
473
|
+
<!ENTITY empty "∅">
|
|
474
|
+
<!ENTITY emsp " ">
|
|
475
|
+
<!ENTITY ensp " ">
|
|
476
|
+
<!ENTITY epsilon "ε">
|
|
477
|
+
<!ENTITY Epsilon "Ε">
|
|
478
|
+
<!ENTITY equiv "≡">
|
|
479
|
+
<!ENTITY Eta "Η">
|
|
480
|
+
<!ENTITY eta "η">
|
|
481
|
+
<!ENTITY ETH "Ð">
|
|
482
|
+
<!ENTITY eth "ð">
|
|
483
|
+
<!ENTITY Euml "Ë">
|
|
484
|
+
<!ENTITY euml "ë">
|
|
485
|
+
<!ENTITY exist "∃">
|
|
486
|
+
<!ENTITY fnof "ƒ">
|
|
487
|
+
<!ENTITY forall "∀">
|
|
488
|
+
<!ENTITY frac12 "½">
|
|
489
|
+
<!ENTITY frac14 "¼">
|
|
490
|
+
<!ENTITY frac34 "¾">
|
|
491
|
+
<!ENTITY frasl "⁄">
|
|
492
|
+
<!ENTITY Gamma "Γ">
|
|
493
|
+
<!ENTITY gamma "γ">
|
|
494
|
+
<!ENTITY ge "≥">
|
|
495
|
+
<!ENTITY gt ">">
|
|
496
|
+
<!ENTITY harr "↔">
|
|
497
|
+
<!ENTITY hArr "⇔">
|
|
498
|
+
<!ENTITY hearts "♥">
|
|
499
|
+
<!ENTITY hellip "…">
|
|
500
|
+
<!ENTITY Iacute "Í">
|
|
501
|
+
<!ENTITY iacute "í">
|
|
502
|
+
<!ENTITY Icirc "Î">
|
|
503
|
+
<!ENTITY icirc "î">
|
|
504
|
+
<!ENTITY iexcl "¡">
|
|
505
|
+
<!ENTITY Igrave "Ì">
|
|
506
|
+
<!ENTITY igrave "ì">
|
|
507
|
+
<!ENTITY image "ℑ">
|
|
508
|
+
<!ENTITY infin "∞">
|
|
509
|
+
<!ENTITY int "∫">
|
|
510
|
+
<!ENTITY Iota "Ι">
|
|
511
|
+
<!ENTITY iota "ι">
|
|
512
|
+
<!ENTITY iquest "¿">
|
|
513
|
+
<!ENTITY isin "∈">
|
|
514
|
+
<!ENTITY Iuml "Ï">
|
|
515
|
+
<!ENTITY iuml "ï">
|
|
516
|
+
<!ENTITY Kappa "Κ">
|
|
517
|
+
<!ENTITY kappa "κ">
|
|
518
|
+
<!ENTITY Lambda "Λ">
|
|
519
|
+
<!ENTITY lambda "λ">
|
|
520
|
+
<!ENTITY lang "〈">
|
|
521
|
+
<!ENTITY laquo "«">
|
|
522
|
+
<!ENTITY larr "←">
|
|
523
|
+
<!ENTITY lArr "⇐">
|
|
524
|
+
<!ENTITY lceil "⌈">
|
|
525
|
+
<!ENTITY ldquo "“">
|
|
526
|
+
<!ENTITY le "≤">
|
|
527
|
+
<!ENTITY lfloor "⌊">
|
|
528
|
+
<!ENTITY lowast "∗">
|
|
529
|
+
<!ENTITY loz "◊">
|
|
530
|
+
<!ENTITY lrm "‎">
|
|
531
|
+
<!ENTITY lsaquo "‹">
|
|
532
|
+
<!ENTITY lsquo "‘">
|
|
533
|
+
<!ENTITY lt "<">
|
|
534
|
+
<!ENTITY macr "¯">
|
|
535
|
+
<!ENTITY mdash "—">
|
|
536
|
+
<!ENTITY micro "µ">
|
|
537
|
+
<!ENTITY middot "·">
|
|
538
|
+
<!ENTITY minus "−">
|
|
539
|
+
<!ENTITY Mu "Μ">
|
|
540
|
+
<!ENTITY mu "μ">
|
|
541
|
+
<!ENTITY nabla "∇">
|
|
542
|
+
<!ENTITY nbsp " ">
|
|
543
|
+
<!ENTITY ndash "–">
|
|
544
|
+
<!ENTITY ne "≠">
|
|
545
|
+
<!ENTITY ni "∋">
|
|
546
|
+
<!ENTITY not "¬">
|
|
547
|
+
<!ENTITY notin "∉">
|
|
548
|
+
<!ENTITY nsub "⊄">
|
|
549
|
+
<!ENTITY Ntilde "Ñ">
|
|
550
|
+
<!ENTITY ntilde "ñ">
|
|
551
|
+
<!ENTITY Nu "Ν">
|
|
552
|
+
<!ENTITY nu "ν">
|
|
553
|
+
<!ENTITY Oacute "Ó">
|
|
554
|
+
<!ENTITY oacute "ó">
|
|
555
|
+
<!ENTITY Ocirc "Ô">
|
|
556
|
+
<!ENTITY ocirc "ô">
|
|
557
|
+
<!ENTITY OElig "Œ">
|
|
558
|
+
<!ENTITY oelig "œ">
|
|
559
|
+
<!ENTITY Ograve "Ò">
|
|
560
|
+
<!ENTITY ograve "ò">
|
|
561
|
+
<!ENTITY oline "‾">
|
|
562
|
+
<!ENTITY Omega "Ω">
|
|
563
|
+
<!ENTITY omega "ω">
|
|
564
|
+
<!ENTITY Omicron "Ο">
|
|
565
|
+
<!ENTITY omicron "ο">
|
|
566
|
+
<!ENTITY oplus "⊕">
|
|
567
|
+
<!ENTITY or "⊦">
|
|
568
|
+
<!ENTITY ordf "ª">
|
|
569
|
+
<!ENTITY ordm "º">
|
|
570
|
+
<!ENTITY Oslash "Ø">
|
|
571
|
+
<!ENTITY oslash "ø">
|
|
572
|
+
<!ENTITY Otilde "Õ">
|
|
573
|
+
<!ENTITY otilde "õ">
|
|
574
|
+
<!ENTITY otimes "⊗">
|
|
575
|
+
<!ENTITY Ouml "Ö">
|
|
576
|
+
<!ENTITY ouml "ö">
|
|
577
|
+
<!ENTITY para "¶">
|
|
578
|
+
<!ENTITY part "∂">
|
|
579
|
+
<!ENTITY permil "‰">
|
|
580
|
+
<!ENTITY perp "⊥">
|
|
581
|
+
<!ENTITY Phi "Φ">
|
|
582
|
+
<!ENTITY phi "φ">
|
|
583
|
+
<!ENTITY Pi "Π">
|
|
584
|
+
<!ENTITY pi "π">
|
|
585
|
+
<!ENTITY piv "ϖ">
|
|
586
|
+
<!ENTITY plusmn "±">
|
|
587
|
+
<!ENTITY pound "£">
|
|
588
|
+
<!ENTITY prime "′">
|
|
589
|
+
<!ENTITY Prime "″">
|
|
590
|
+
<!ENTITY prod "∏">
|
|
591
|
+
<!ENTITY prop "∝">
|
|
592
|
+
<!ENTITY Psi "Ψ">
|
|
593
|
+
<!ENTITY psi "ψ">
|
|
594
|
+
<!ENTITY quot """>
|
|
595
|
+
<!ENTITY radic "√">
|
|
596
|
+
<!ENTITY rang "〉">
|
|
597
|
+
<!ENTITY raquo "»">
|
|
598
|
+
<!ENTITY rarr "→">
|
|
599
|
+
<!ENTITY rArr "⇒">
|
|
600
|
+
<!ENTITY rceil "⌉">
|
|
601
|
+
<!ENTITY rdquo "”">
|
|
602
|
+
<!ENTITY real "ℜ">
|
|
603
|
+
<!ENTITY reg "®">
|
|
604
|
+
<!ENTITY rfloor "⌋">
|
|
605
|
+
<!ENTITY Rho "Ρ">
|
|
606
|
+
<!ENTITY rho "ρ">
|
|
607
|
+
<!ENTITY rlm "‏">
|
|
608
|
+
<!ENTITY rsaquo "›">
|
|
609
|
+
<!ENTITY rsquo "’">
|
|
610
|
+
<!ENTITY sbquo "‚">
|
|
611
|
+
<!ENTITY Scaron "Š">
|
|
612
|
+
<!ENTITY scaron "š">
|
|
613
|
+
<!ENTITY sdot "⋅">
|
|
614
|
+
<!ENTITY sect "§">
|
|
615
|
+
<!ENTITY shy "­">
|
|
616
|
+
<!ENTITY Sigma "Σ">
|
|
617
|
+
<!ENTITY sigma "σ">
|
|
618
|
+
<!ENTITY sigmaf "ς">
|
|
619
|
+
<!ENTITY sim "∼">
|
|
620
|
+
<!ENTITY spades "♠">
|
|
621
|
+
<!ENTITY sub "⊂">
|
|
622
|
+
<!ENTITY sube "⊆">
|
|
623
|
+
<!ENTITY sum "∑">
|
|
624
|
+
<!ENTITY sup "⊃">
|
|
625
|
+
<!ENTITY sup1 "¹">
|
|
626
|
+
<!ENTITY sup2 "²">
|
|
627
|
+
<!ENTITY sup3 "³">
|
|
628
|
+
<!ENTITY supe "⊇">
|
|
629
|
+
<!ENTITY szlig "ß">
|
|
630
|
+
<!ENTITY Tau "Τ">
|
|
631
|
+
<!ENTITY tau "τ">
|
|
632
|
+
<!ENTITY there4 "∴">
|
|
633
|
+
<!ENTITY Theta "Θ">
|
|
634
|
+
<!ENTITY theta "θ">
|
|
635
|
+
<!ENTITY thetasym "ϑ">
|
|
636
|
+
<!ENTITY thinsp " ">
|
|
637
|
+
<!ENTITY THORN "Þ">
|
|
638
|
+
<!ENTITY thorn "þ">
|
|
639
|
+
<!ENTITY tilde "˜">
|
|
640
|
+
<!ENTITY times "×">
|
|
641
|
+
<!ENTITY trade "™">
|
|
642
|
+
<!ENTITY Uacute "Ú">
|
|
643
|
+
<!ENTITY uacute "ú">
|
|
644
|
+
<!ENTITY uarr "↑">
|
|
645
|
+
<!ENTITY uArr "⇑">
|
|
646
|
+
<!ENTITY Ucirc "Û">
|
|
647
|
+
<!ENTITY ucirc "û">
|
|
648
|
+
<!ENTITY Ugrave "Ù">
|
|
649
|
+
<!ENTITY ugrave "ù">
|
|
650
|
+
<!ENTITY uml "¨">
|
|
651
|
+
<!ENTITY upsih "ϒ">
|
|
652
|
+
<!ENTITY Upsilon "Υ">
|
|
653
|
+
<!ENTITY upsilon "υ">
|
|
654
|
+
<!ENTITY Uuml "Ü">
|
|
655
|
+
<!ENTITY uuml "ü">
|
|
656
|
+
<!ENTITY weierp "℘">
|
|
657
|
+
<!ENTITY Xi "Ξ">
|
|
658
|
+
<!ENTITY xi "ξ">
|
|
659
|
+
<!ENTITY Yacute "Ý">
|
|
660
|
+
<!ENTITY yacute "ý">
|
|
661
|
+
<!ENTITY yen "¥">
|
|
662
|
+
<!ENTITY Yuml "Ÿ">
|
|
663
|
+
<!ENTITY yuml "ÿ">
|
|
664
|
+
<!ENTITY Zeta "Ζ">
|
|
665
|
+
<!ENTITY zeta "ζ">
|
|
666
|
+
<!ENTITY zwj "‍">
|
|
667
|
+
<!ENTITY zwnj "‌">`.replace(/\n/g, ' ');
|
|
668
|
+
|
|
669
|
+
/**
|
|
670
|
+
* A reasonably strict xml declaration.
|
|
671
|
+
*/
|
|
672
|
+
const XML_DECL = '<?xml version="1.0" standalone="no"?>';
|
|
673
|
+
|
|
674
|
+
/**
|
|
675
|
+
* The beginning of the XML doctype declaration.
|
|
676
|
+
*/
|
|
677
|
+
const DOCTYPE_START = `<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" [`;
|
|
678
|
+
|
|
679
|
+
/**
|
|
680
|
+
* The end of the XML docype declaration.
|
|
681
|
+
*/
|
|
682
|
+
const DOCTYPE_END = ']>';
|
|
683
|
+
|
|
684
|
+
/**
|
|
685
|
+
* A full header for an SVG XML document.
|
|
686
|
+
*/
|
|
687
|
+
export const SVG_XML_HEADER = `${XML_DECL}
|
|
688
|
+
${DOCTYPE_START}${HTML_ENTITIES}${DOCTYPE_END}`;
|
|
359
689
|
}
|
package/src/tokens.ts
CHANGED
|
@@ -3,14 +3,19 @@
|
|
|
3
3
|
|
|
4
4
|
import { Token } from '@lumino/coreutils';
|
|
5
5
|
import type MermaidType from 'mermaid';
|
|
6
|
+
import type { MermaidConfig } from 'mermaid/dist/config.type';
|
|
6
7
|
|
|
7
8
|
// documented upstream constants
|
|
8
9
|
export const MERMAID_MIME_TYPE = 'text/vnd.mermaid';
|
|
9
10
|
export const MERMAID_FILE_EXTENSIONS = ['.mmd', '.mermaid'];
|
|
10
11
|
|
|
12
|
+
// layout sniffing
|
|
13
|
+
export const RE_DEFAULT_RENDERER =
|
|
14
|
+
/\bdefaultRenderer["']?\s*:\s*(["']?)(\b[^"'\s]+\b)(\1)/gm;
|
|
15
|
+
|
|
11
16
|
// mermaid themes
|
|
12
|
-
export const MERMAID_DEFAULT_THEME = 'default';
|
|
13
|
-
export const MERMAID_DARK_THEME = 'dark';
|
|
17
|
+
export const MERMAID_DEFAULT_THEME: MermaidConfig['theme'] = 'default';
|
|
18
|
+
export const MERMAID_DARK_THEME: MermaidConfig['theme'] = 'dark';
|
|
14
19
|
|
|
15
20
|
// DOM
|
|
16
21
|
export const MERMAID_CLASS = 'jp-RenderedMermaid';
|