@jhuix/showdowns 0.6.15 → 0.6.17

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 CHANGED
@@ -236,6 +236,8 @@ Table header can be eliminated.
236
236
 
237
237
  [LaTeX math and AsciiMath](https://github.com/jhuix/showdowns/blob/master/docs/showdowns-features.md#latex-math-and-asciimath)
238
238
 
239
+ [Code Block Theme](https://github.com/jhuix/showdowns/blob/master/docs/showdowns-features.md#code-block-theme)
240
+
239
241
  [Mermaid](https://github.com/jhuix/showdowns/blob/master/docs/showdowns-features.md#mermaid)
240
242
 
241
243
  [Plantuml](https://github.com/jhuix/showdowns/blob/master/docs/showdowns-features.md#plantuml)
@@ -256,6 +258,10 @@ Table header can be eliminated.
256
258
 
257
259
  [ABCJS](https://github.com/jhuix/showdowns/blob/master/docs/showdowns-features.md#abc)
258
260
 
261
+ [Kroki](https://github.com/jhuix/showdowns/blob/master/docs/showdowns-features.md#kroki)
262
+
263
+ [Tex](https://github.com/jhuix/showdowns/blob/master/docs/showdowns-features.md#tex)
264
+
259
265
  See more information, refer to the following document:
260
266
 
261
267
  [Extensions Examples](https://github.com/jhuix/showdowns/blob/master/docs/showdowns-features.md)
@@ -377,14 +383,16 @@ Put the following line into your HTML page \<header> or \<body>:
377
383
 
378
384
  #### defaultOptions
379
385
 
380
- Type: {showdown: object, plantuml: object, mermaid: object, vega: object }
386
+ Type: {showdown: object, plantuml: object, mermaid: object, katex: object, kroki: object, vega: object, toc: object, shiki: object }
381
387
 
382
388
  Default options is described below:
383
389
 
384
390
  defaultOptions = {
385
391
  showdown: {
386
392
  flavor: 'github',
393
+ mathEngine: 'mathjax',
387
394
  },
395
+ toc: { chapterNumber: true, title: '', toc: '[\\[【]Table[ -]Of[ -]Contents[\\]】]|[\\[【]目录[\\]】]|[\\[【]TOC[\\]】]|\\{\\{TOC\\}\\}' },
388
396
  plantuml: { imageFormat: 'svg' },
389
397
  mermaid: { theme: 'default' },
390
398
  katex: { mathDelimiters: [
@@ -399,15 +407,35 @@ Default options is described below:
399
407
  { left: '@@', right: '@@', display: true, asciimath: true },
400
408
  { left: "\\$", right: "\\$", display: false, asciimath: true }
401
409
  ]},
410
+ kroki: { serverUrl: 'kroki.io' },
402
411
  vega: { theme: 'vox' }
403
412
  };
404
413
 
405
414
  - showdown: showdown options object
406
415
 
416
+ `flavor` - [Flavor of showdown](https://github.com/showdownjs/showdown/blob/master/README.md#flavors), default is 'github'.
417
+
418
+ `mathEngine` - Math render engine for 'mathjax' or 'katex', default is 'mathjax'.
419
+
407
420
  For more showdown options, refer to the following document:
408
421
 
409
422
  [Showdown Options](https://github.com/showdownjs/showdown/blob/master/README.md#options)
410
423
 
424
+ - toc: table of content options object
425
+
426
+ For more toc options:
427
+
428
+ {
429
+ chapterNumber: true,
430
+ title: '',
431
+ toc: '[\\[【]Table[ -]Of[ -]Contents[\\]】]|[\\[【]目录[\\]】]|[\\[【]TOC[\\]】]|\\{\\{TOC\\}\\}'
432
+ }
433
+
434
+ `chapterNumber` - Whether show chapter number such as '1.1.', default is true.
435
+ `title` - Custom defined text content of title, default is empty string indicates auto recognition based on the language(such as '目录' on chinese, 'Table Of Contents' on other language).
436
+ `toc` - Custom defined regex string of test for table of contents.
437
+
438
+
411
439
  - plantuml: plantuml options object
412
440
 
413
441
  For more plantuml options:
@@ -430,7 +458,7 @@ Default options is described below:
430
458
  [Katex AutoRender Options](https://katex.org/docs/autorender.html#api)
431
459
  [Katex Render Options](https://katex.org/docs/options.html)
432
460
 
433
- In addition, mathDelimiters is another format::
461
+ In addition, mathDelimiters is another format:
434
462
 
435
463
  {
436
464
  mathDelimiters: {
@@ -450,12 +478,32 @@ Default options is described below:
450
478
  }
451
479
  }
452
480
 
481
+ - kroki: kroki options object
482
+
483
+ For more kroki options:
484
+
485
+ {
486
+ serverUrl: "kroki.io",
487
+ imageFormat: "svg"
488
+ }
489
+
453
490
  - vega: vega-embed options object
454
491
 
455
492
  For more vega-embed options, refer to the following document:
456
493
 
457
494
  [Vega-embed Options](https://github.com/vega/vega-embed#options)
458
495
 
496
+ - shiki: shiki options object
497
+
498
+ For more shiki options:
499
+
500
+ {
501
+ theme: "ayu-dark"
502
+ }
503
+
504
+ The theme of shiki see [ShiKi Style](https://shiki.style/themes).
505
+
506
+
459
507
  #### defaultExtensions
460
508
 
461
509
  Type: Array of showdown extensions
@@ -463,11 +511,11 @@ Type: Array of showdown extensions
463
511
  Default extensions is described below:
464
512
 
465
513
  defaultExtensions = {
466
- 'showdown-toc': showdownToc,
467
- 'showdown-align': showdownAlign,
468
- 'showdown-footnotes': showdownFootnotes,
469
- 'showdown-container': showdownContainer,
470
- 'showdown-sequence': showdownSequence
514
+ 'showdown-toc': showdownToc(),
515
+ 'showdown-align': showdownAlign(),
516
+ 'showdown-footnotes': showdownFootnotes(),
517
+ 'showdown-container': showdownContainer(),
518
+ 'showdown-sequence': showdownSequence()
471
519
  }
472
520
 
473
521
  For more showdown extensions, refer to the following document:
@@ -481,16 +529,20 @@ Type: Array of showdown async extensions
481
529
  Default async extensions is described below:
482
530
 
483
531
  defaultAsyncExtensions = {
484
- 'showdown-plantuml': showdownPlantuml(plantumlOptions),
485
- 'showdown-mermaid': showdownMermaid(mermaidOptions),
486
- 'showdown-katex': showdownKatex(katexOptions),
487
- 'showdown-flowchart': showdownFlowchart,
488
- 'showdown-viz': showdownViz,
532
+ 'showdown-toc': getExtension('showdown-toc', showdownToc),
533
+ 'showdown-plantuml': showdownPlantuml(plantumlOptions()),
534
+ 'showdown-mermaid': showdownMermaid(mermaidOptions()),
535
+ 'showdown-katex': showdownKatex(katexOptions()),
536
+ 'showdown-kroki': showdownKroki(krokiOptions()),
537
+ 'showdown-flowchart': showdownFlowchart(),
538
+ 'showdown-viz': showdownViz(),
489
539
  'showdown-vega': showdownVega(vegaOptions),
490
- 'showdown-wavedrom': showdownWavedrom,
491
- 'showdown-railroad': showdownRailroad,
492
- 'showdown-abc': showdownAbc,
493
- 'showdown-echarts': showdownEcharts,
540
+ 'showdown-wavedrom': showdownWavedrom(),
541
+ 'showdown-railroad': showdownRailroad(),
542
+ 'showdown-abc': showdownAbc(),
543
+ 'showdown-echarts': showdownEcharts(),
544
+ 'showdown-sequence': getExtension('showdown-sequence', showdownSequence),
545
+ 'showdow-css': showdownCss(),
494
546
  }
495
547
 
496
548
  ### Properties
@@ -575,7 +627,25 @@ Type: (options: object) => object
575
627
 
576
628
  A function to set default options of showdown. When showdown.convertor instance be created, it can update options of the showdown and convertor.convertor.
577
629
 
578
- See [showdown options of defaultOptions](#defaultoptions).
630
+ See [showdown options of defaultOptions](https://shiki.style/themes).
631
+
632
+ #### setLanuageTheme
633
+
634
+ Type: (theme: string) => object
635
+
636
+ A function to set default theme of [ShiKi](https://github.com/shikijs/shiki). When showdown.convertor instance be created, it can update options of the showdown and convertor.convertor.
637
+
638
+ See [ShiKi Style](https://shiki.style/themes).
639
+
640
+ #### setExtensionlOptions
641
+
642
+ Type: (name: string, options: object) => boolean
643
+
644
+ A function to set default options of extension. It can reset new options of extension.
645
+
646
+ - Parameter `name` is suffix name of extension name, such as `showdown-[name]`.
647
+
648
+ See [options of extension](#defaultoptions).
579
649
 
580
650
  #### setPlantumlOptions
581
651
 
@@ -605,6 +675,14 @@ A function to set default options of katex extension. When showdown.convertor in
605
675
 
606
676
  See [katex options of defaultOptions](#defaultoptions).
607
677
 
678
+ #### setKrokiOptions
679
+
680
+ Type: (options: object) => object
681
+
682
+ A function to set default options of kroki extension. When showdown.convertor instance be created, it can reset kroki extension using the new default options.
683
+
684
+ See [Kroki options of defaultOptions](#defaultoptions).
685
+
608
686
  #### setVegaOptions
609
687
 
610
688
  Type: (options: object) => object
@@ -636,18 +714,18 @@ Type: interface script {
636
714
  ]
637
715
  }
638
716
 
639
- Type: ({type:'zip', content: string} | string,
717
+ Type: ({type:'zip', content: string, output: 'dom'} | string,
640
718
  (csstypes?: {
641
719
  hasKatex: boolean;
642
720
  hasRailroad: boolean;
643
721
  hasSequence: boolean
644
- }) => void) => Promise\<{html: string, scripts: [script]}>
722
+ }) => void) => Promise\<{html: string | HTMLElement[], scripts: script[]}>
645
723
 
646
724
  A async function to make markdown to html that showdown.convertor converte it in current showdowns instance.
647
725
 
648
726
  #### completedHtml
649
727
 
650
- Type: ( scripts?: [script] | string, scriptContainer?: HTMLElement | string) => Promise\<boolean>
728
+ Type: ( scripts?: script[] | string, scriptContainer?: HTMLElement | string) => Promise\<boolean>
651
729
 
652
730
  A async function to completed markdown to html that append scripts to dom.
653
731
 
package/demo/index.html CHANGED
@@ -114,12 +114,18 @@
114
114
  .then(function(text) {
115
115
  md = md + `\n\n# Showdown's Markdown syntax\n\n` + text;
116
116
  showdowns
117
- .makeHtml(md, csstypes => {
117
+ .makeHtml({content: md, output: 'dom'}, csstypes => {
118
118
  mdCssTypes = csstypes;
119
119
  })
120
120
  .then(res => {
121
121
  if (typeof res === 'object') {
122
- element.innerHTML = res.html;
122
+ if (typeof res.html === 'string') {
123
+ element.innerHTML = res.html;
124
+ } else {
125
+ res.html.forEach((e)=>{
126
+ element.appendChild(e);
127
+ });
128
+ }
123
129
  showdowns.completedHtml(res.scripts);
124
130
  } else {
125
131
  element.innerHTML = res;
@@ -138,7 +144,13 @@
138
144
  })
139
145
  .then(res => {
140
146
  if (typeof res === 'object') {
141
- element.innerHTML = res.html;
147
+ if (typeof res.html === 'string') {
148
+ element.innerHTML = res.html;
149
+ } else {
150
+ res.html.forEach((e)=>{
151
+ element.appendChild(e);
152
+ });
153
+ }
142
154
  showdowns.completedHtml(res.scripts, '.showdowns');
143
155
  } else {
144
156
  element.innerHTML = res;
@@ -1,17 +1,23 @@
1
1
  /*!
2
- * css of showdowns v0.6.15
2
+ * css of showdowns v0.6.17
3
3
  * Copyright (c) 2019-present, Jhuix (Hui Jin) <jhuix0117@gmail.com>
4
4
  * Released under the MIT License.
5
- */.showdowns{flex-grow:1;margin-left:1rem;min-width:300px;position:relative}.showdowns blockquote,.showdowns dd,.showdowns div,.showdowns dl,.showdowns dt,.showdowns form,.showdowns h1,.showdowns h2,.showdowns h3,.showdowns h4,.showdowns h5,.showdowns h6,.showdowns li,.showdowns ol,.showdowns p,.showdowns pre,.showdowns td,.showdowns th,.showdowns ul{margin:0;padding:0}.showdowns div.paragraph.align-right,.showdowns h1.align-right,.showdowns h2.align-right,.showdowns h3.align-right,.showdowns h4.align-right,.showdowns h5.align-right,.showdowns h6.align-right,.showdowns li.align-right,.showdowns p.align-right{text-align:right}.showdowns div.paragraph.align-center,.showdowns h1.align-center,.showdowns h2.align-center,.showdowns h3.align-center,.showdowns h4.align-center,.showdowns h5.align-center,.showdowns h6.align-center,.showdowns li.align-center,.showdowns p.align-center{text-align:center}.showdowns a{color:#0366d6;line-height:inherit;text-decoration:none}.showdowns a img{border:none}.showdowns a:hover{cursor:pointer;text-decoration:underline}.showdowns img{-ms-interpolation-mode:bicubic;display:inherit;height:auto;margin:0 auto;max-width:100%}.showdowns p{font-family:inherit;font-size:1em;font-weight:400;line-height:1.5;margin-bottom:1.25em;text-rendering:optimizeLegibility}.showdowns p.lead{font-size:1.21875em;line-height:1.5}.showdowns p aside{font-size:.875em;font-style:italic;line-height:1.5}.showdowns h1,.showdowns h2,.showdowns h3,.showdowns h4,.showdowns h5,.showdowns h6{font-style:normal;font-weight:600;line-height:1.25;margin-bottom:1rem;margin-top:1.5rem;text-rendering:optimizeLegibility}.showdowns h1 small,.showdowns h2 small,.showdowns h3 small,.showdowns h4 small,.showdowns h5 small,.showdowns h6 small{font-size:60%;line-height:0}.showdowns h1,.showdowns h2{border-bottom:1px solid #d6d6d6;padding-bottom:.3em}.showdowns h1{font-size:3.2rem}.showdowns h2{font-size:2.8rem}.showdowns h3{font-size:2.4rem}.showdowns h4{font-size:2rem}.showdowns h5{font-size:1.8rem}.showdowns h6{color:#6a737d;font-size:1.6rem}.showdowns .subheader{color:#6f6f6f;font-weight:400;line-height:1.4;margin-bottom:.5em;margin-top:.2em}.showdowns hr{border:solid #ddd;border-width:1px 0 0;clear:both;height:0;margin:1.25em 0 1.1875em}.showdowns em,.showdowns i{font-style:italic;line-height:inherit}.showdowns b,.showdowns strong{font-weight:600;line-height:inherit}.showdowns small{font-size:60%;line-height:inherit}.showdowns code{border-style:solid;border-width:1px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-weight:400;padding:.125em .3125em .0625em}.showdowns dl,.showdowns ol,.showdowns ul{font-family:inherit;font-size:1em;line-height:1.5;list-style-position:outside;margin-bottom:1.25em}.showdowns ul{margin-left:1.1em}.showdowns ul.no-bullet{margin-left:0}.showdowns ul.no-bullet li ol,.showdowns ul.no-bullet li ul{list-style:none;margin-bottom:0;margin-left:1.25em}.showdowns ul li ol,.showdowns ul li ul{margin-bottom:0;margin-left:1.25em}.showdowns ul.circle li ul,.showdowns ul.disc li ul,.showdowns ul.square li ul{list-style:inherit}.showdowns ul.square{list-style-type:square;margin-left:1.1em}.showdowns ul.circle{list-style-type:circle;margin-left:1.1em}.showdowns ul.disc{list-style-type:disc;margin-left:1.1em}.showdowns ul.no-bullet{list-style:none}.showdowns ol{margin-left:1.4em}.showdowns ol li ol,.showdowns ol li ul{margin-bottom:0;margin-left:1.25em}.showdowns dl dt{font-weight:600;margin-bottom:.3em}.showdowns dl dd{margin-bottom:.75em}.showdowns abbr,.showdowns acronym{color:#222;cursor:help;font-size:90%;text-transform:uppercase}.showdowns abbr{text-transform:none}.showdowns abbr[title]{border-bottom:1px dotted #5c5c5c}.showdowns blockquote{border-left:4px solid #d6d6d6;color:#5c5c5c;line-height:1.5;margin:0 0 16px;padding:0 15px}.showdowns blockquote cite{color:#555;display:block;font-size:.8125em}.showdowns blockquote cite:before{content:"\2014 \0020"}.showdowns blockquote cite a,.showdowns blockquote cite a:visited{color:#555}.showdowns pre{word-wrap:break-word;border:1px solid #dfdfdf;margin-bottom:1.5em;margin-top:1.5em;padding:.125em .3125em .0625em;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;white-space:pre-wrap}.showdowns pre code{background-color:transparent;border:0;padding:0}.showdowns table{background:#fff;border-collapse:collapse;border-spacing:0;margin-bottom:1.25em;overflow:auto;table-layout:auto}.showdowns table caption{background:transparent;color:#222;font-weight:600}.showdowns table thead{background:#f5f5f5}.showdowns table thead tr td,.showdowns table thead tr th{border:1px solid #d6d6d6;color:#222;font-weight:600;line-height:1.125em;padding:.5em .625em .625em}.showdowns table tfoot{background:#f5f5f5}.showdowns table tfoot tr td,.showdowns table tfoot tr th{border:1px solid #d6d6d6;color:#222;font-weight:600;line-height:1.125em;padding:.5em .625em .625em}.showdowns table tr td,.showdowns table tr th{border:1px solid #d6d6d6;color:#222;line-height:1.125em;padding:.5625em .625em}.showdowns table tr.alt,.showdowns table tr.even,.showdowns table tr:nth-of-type(2n){background:#f9f9f9}.showdowns table tbody tr td,.showdowns table tbody tr th{border:1px solid #d6d6d6;line-height:1.125em}.showdowns .flow,.showdowns .flowchart,.showdowns .mermaid,.showdowns .plantuml,.showdowns .sequence,.showdowns .wavedrom{background-color:#f9f9f9}.showdowns .diagram-center:not(.asciimath):not(.latex):not(.mermaid){display:flex;justify-content:center;margin:auto}.showdowns .diagram-right:not(.asciimath):not(.latex):not(.mermaid){display:flex;justify-content:right;margin:auto 0 auto auto}.showdowns .diagram-center.mermaid{text-align:center}.showdowns .diagram-right.mermaid{text-align:right}.showdowns .asciimath:not(.diagram-center):not(.diagram-right) .katex,.showdowns .asciimath:not(.diagram-center):not(.diagram-right) .katex-display,.showdowns .latex:not(.diagram-center):not(.diagram-right) .katex,.showdowns .latex:not(.diagram-center):not(.diagram-right) .katex-display{text-align:unset}.showdowns .asciimath.diagram-center .katex,.showdowns .asciimath.diagram-center .katex-display,.showdowns .latex.diagram-center .katex,.showdowns .latex.diagram-center .katex-display{text-align:center}.showdowns .asciimath.diagram-right .katex,.showdowns .asciimath.diagram-right .katex-display,.showdowns .latex.diagram-right .katex,.showdowns .latex.diagram-right .katex-display{text-align:right}
5
+ */.showdowns{flex-grow:1;margin-left:1rem;margin-right:1rem;min-width:300px;position:relative}.showdowns blockquote,.showdowns dd,.showdowns div,.showdowns dl,.showdowns dt,.showdowns form,.showdowns h1,.showdowns h2,.showdowns h3,.showdowns h4,.showdowns h5,.showdowns h6,.showdowns li,.showdowns ol,.showdowns p,.showdowns pre,.showdowns td,.showdowns th,.showdowns ul{margin:0;padding:0}.showdowns div.paragraph.align-right,.showdowns h1.align-right,.showdowns h2.align-right,.showdowns h3.align-right,.showdowns h4.align-right,.showdowns h5.align-right,.showdowns h6.align-right,.showdowns li.align-right,.showdowns p.align-right{text-align:right}.showdowns div.paragraph.align-center,.showdowns h1.align-center,.showdowns h2.align-center,.showdowns h3.align-center,.showdowns h4.align-center,.showdowns h5.align-center,.showdowns h6.align-center,.showdowns li.align-center,.showdowns p.align-center{text-align:center}.showdowns a{color:#0366d6;line-height:inherit;text-decoration:none}.showdowns a img{border:none}.showdowns a:hover{cursor:pointer;text-decoration:underline}.showdowns img{-ms-interpolation-mode:bicubic;display:inherit;height:auto;margin:0 auto;max-width:100%}.showdowns p{font-family:inherit;font-size:1em;font-weight:400;line-height:1.5;margin-bottom:1.25em;text-rendering:optimizeLegibility}.showdowns p.lead{font-size:1.21875em;line-height:1.5}.showdowns p aside{font-size:.875em;font-style:italic;line-height:1.5}.showdowns h1,.showdowns h2,.showdowns h3,.showdowns h4,.showdowns h5,.showdowns h6{font-style:normal;font-weight:600;line-height:1.25;margin-bottom:1rem;margin-top:1.5rem;text-rendering:optimizeLegibility}.showdowns h1 small,.showdowns h2 small,.showdowns h3 small,.showdowns h4 small,.showdowns h5 small,.showdowns h6 small{font-size:60%;line-height:0}.showdowns h1,.showdowns h2{border-bottom:1px solid #d6d6d6;padding-bottom:.3em}.showdowns h1{font-size:3.2rem}.showdowns h2{font-size:2.8rem}.showdowns h3{font-size:2.4rem}.showdowns h4{font-size:2rem}.showdowns h5{font-size:1.8rem}.showdowns h6{color:#6a737d;font-size:1.6rem}.showdowns .subheader{color:#6f6f6f;font-weight:400;line-height:1.4;margin-bottom:.5em;margin-top:.2em}.showdowns hr{border:solid #ddd;border-width:1px 0 0;clear:both;height:0;margin:1.25em 0 1.1875em}.showdowns em,.showdowns i{font-style:italic;line-height:inherit}.showdowns b,.showdowns strong{font-weight:600;line-height:inherit}.showdowns small{font-size:60%;line-height:inherit}.showdowns code{border-style:solid;border-width:1px;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-weight:400;padding:.125em .3125em .0625em}.showdowns dl,.showdowns ol,.showdowns ul{font-family:inherit;font-size:1em;line-height:1.5;list-style-position:outside;margin-bottom:1.25em}.showdowns ul{margin-left:1.1em}.showdowns ul.no-bullet{margin-left:0}.showdowns ul.no-bullet li ol,.showdowns ul.no-bullet li ul{list-style:none;margin-bottom:0;margin-left:1.25em}.showdowns ul li ol,.showdowns ul li ul{margin-bottom:0;margin-left:1.25em}.showdowns ul.circle li ul,.showdowns ul.disc li ul,.showdowns ul.square li ul{list-style:inherit}.showdowns ul.square{list-style-type:square;margin-left:1.1em}.showdowns ul.circle{list-style-type:circle;margin-left:1.1em}.showdowns ul.disc{list-style-type:disc;margin-left:1.1em}.showdowns ul.no-bullet{list-style:none}.showdowns ol{margin-left:1.4em}.showdowns ol li ol,.showdowns ol li ul{margin-bottom:0;margin-left:1.25em}.showdowns dl dt{font-weight:600;margin-bottom:.3em}.showdowns dl dd{margin-bottom:.75em}.showdowns abbr,.showdowns acronym{color:#222;cursor:help;font-size:90%;text-transform:uppercase}.showdowns abbr{text-transform:none}.showdowns abbr[title]{border-bottom:1px dotted #5c5c5c}.showdowns blockquote{border-left:4px solid #d6d6d6;color:#5c5c5c;line-height:1.5;margin:0 0 16px;padding:0 15px}.showdowns blockquote cite{color:#555;display:block;font-size:.8125em}.showdowns blockquote cite:before{content:"\2014 \0020"}.showdowns blockquote cite a,.showdowns blockquote cite a:visited{color:#555}.showdowns pre{word-wrap:break-word;border:1px solid #dfdfdf;margin-bottom:1.5em;margin-top:1.5em;padding:.125em .3125em .0625em;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;white-space:pre-wrap}.showdowns pre code{background-color:transparent;border:0;padding:0}.showdowns table{background:#fff;border-collapse:collapse;border-spacing:0;margin-bottom:1.25em;overflow:auto;table-layout:auto}.showdowns table caption{background:transparent;color:#222;font-weight:600}.showdowns table thead{background:#f5f5f5}.showdowns table thead tr td,.showdowns table thead tr th{border:1px solid #d6d6d6;color:#222;font-weight:600;line-height:1.125em;padding:.5em .625em .625em}.showdowns table tfoot{background:#f5f5f5}.showdowns table tfoot tr td,.showdowns table tfoot tr th{border:1px solid #d6d6d6;color:#222;font-weight:600;line-height:1.125em;padding:.5em .625em .625em}.showdowns table tr td,.showdowns table tr th{border:1px solid #d6d6d6;color:#222;line-height:1.125em;padding:.5625em .625em}.showdowns table tr.alt,.showdowns table tr.even,.showdowns table tr:nth-of-type(2n){background:#f9f9f9}.showdowns table tbody tr td,.showdowns table tbody tr th{border:1px solid #d6d6d6;line-height:1.125em}.showdowns .flow,.showdowns .flowchart,.showdowns .mermaid,.showdowns .plantuml,.showdowns .sequence,.showdowns .wavedrom{background-color:#f9f9f9}.showdowns .diagram-left:not(.asciimath):not(.katex):not(.mermaid):not(.abc){display:flex;justify-content:left}.showdowns .diagram-center:not(.asciimath):not(.katex):not(.mermaid):not(.abc){display:flex;justify-content:center;margin:auto}.showdowns .diagram-right:not(.asciimath):not(.katex):not(.mermaid):not(.abc){display:flex;justify-content:right;margin:auto 0 auto auto}.showdowns .diagram-center.abc{margin:auto}.showdowns .diagram-right.abc{margin:auto 0 auto auto}.showdowns .diagram-left.mermaid{text-align:left}.showdowns .diagram-center.mermaid{text-align:center}.showdowns .diagram-right.mermaid{text-align:right}.showdowns .asciimath:not(.diagram-center):not(.diagram-right) .katex,.showdowns .asciimath:not(.diagram-center):not(.diagram-right) .katex-display,.showdowns .katex:not(.diagram-center):not(.diagram-right) .katex,.showdowns .katex:not(.diagram-center):not(.diagram-right) .katex-display{text-align:unset}.showdowns .asciimath.diagram-center .katex,.showdowns .asciimath.diagram-center .katex-display,.showdowns .katex.diagram-center .katex,.showdowns .katex.diagram-center .katex-display{text-align:center}.showdowns .asciimath.diagram-right .katex,.showdowns .asciimath.diagram-right .katex-display,.showdowns .katex.diagram-right .katex,.showdowns .katex.diagram-right .katex-display{text-align:right}
6
6
 
7
7
  /*!
8
- * css of showdowns v0.6.15
8
+ * css of showdowns v0.6.17
9
9
  * Copyright (c) 2019-present, Jhuix (Hui Jin) <jhuix0117@gmail.com>
10
10
  * Released under the MIT License.
11
11
  */.showdowns .showdown-container{border:1px solid #eee;border-radius:.25rem;margin-bottom:1rem;padding:.75rem 1.25rem;position:relative}.showdowns .showdown-container.container{border-left-width:.25rem;border-right-width:.25rem}.showdowns .showdown-container.container.tip{border-left-color:#5bc0de;border-right-color:#5bc0de}.showdowns .showdown-container.container.info{border-left-color:#cce5ff;border-right-color:#cce5ff}.showdowns .showdown-container.container.warning{border-left-color:#f0ad4e;border-right-color:#f0ad4e}.showdowns .showdown-container.container.error{border-left-color:#d9534f;border-right-color:#d9534f}.showdowns .showdown-container.container.success{border-left-color:#67c23a;border-right-color:#67c23a}.showdowns .showdown-container.alert{border:1px solid transparent;transition:opacity .2s}.showdowns .showdown-container.alert.alert-tip{background-color:#5bc0de}.showdowns .showdown-container.alert.alert-info{background-color:#cce5ff}.showdowns .showdown-container.alert.alert-warning{background-color:#f0ad4e}.showdowns .showdown-container.alert.alert-error{background-color:#d9534f}.showdowns .showdown-container.alert.alert-success{background-color:#67c23a}.showdowns .showdown-container .container-title{font-size:1.25rem;font-weight:700;line-height:1.2}
12
12
 
13
13
  /*!
14
- * css of showdowns v0.6.15
14
+ * css of showdowns v0.6.17
15
15
  * Copyright (c) 2019-present, Jhuix (Hui Jin) <jhuix0117@gmail.com>
16
16
  * Released under the MIT License.
17
- */.hidden{display:none!important}.divider{align-items:center;background:#d2d2d2;cursor:col-resize;display:none;justify-content:center;position:relative;transition:background .3s;width:2px}.divider:hover{background:#f59102}.icon{fill:currentColor;height:1em;overflow:hidden;vertical-align:-.15em;width:1em}.toc-switch{box-sizing:border-box;color:#3e69d7;cursor:pointer;font-size:3rem;overflow:hidden;position:fixed;right:2rem;text-align:center;top:0;transition:height .2s linear;z-index:110}.total-toc{-moz-column-break-after:page;box-sizing:border-box;break-after:page;display:flex;flex-direction:column;flex-shrink:0;order:-1;page-break-after:always;width:100%}.total-toc .toc-view ul li div i:not(.toc-chapter){cursor:pointer}.showdown-toc .toc-pin{align-items:center;border-bottom:1px solid #d2d2d2;display:flex;flex-direction:row;flex-shrink:0;font-size:2rem;overflow:hidden;padding:1rem}.showdown-toc .toc-pin-text{font-weight:700;margin-right:8px;white-space:nowrap}.showdown-toc .toc-fold-wrap{align-items:center;display:flex;flex-grow:1;justify-content:flex-start;position:relative}.showdown-toc .toc-icon{background-position:50%;background-repeat:no-repeat;cursor:pointer}.showdown-toc .toc-close{margin-left:auto}.showdown-toc .toc-icon:hover{color:#0089ff}.showdown-toc .toc-view{overflow:auto}.showdown-toc .toc-view .toc-chapter{color:#0089ff}.showdown-toc .toc-view ul{display:block;margin-left:2rem;padding-left:0;position:relative}.showdown-toc .toc-view ul li{box-sizing:border-box;display:flex;flex-direction:column;list-style:none;width:100%}.showdown-toc .toc-view ul li div{display:flex;flex-direction:row}.showdown-toc .toc-view ul li div i{align-items:center;display:inline-flex;margin-left:0;position:relative}.showdown-toc .toc-view ul li div a{color:currentColor;cursor:pointer;font-size:1.4rem;padding:.6rem;text-decoration:none;white-space:nowrap}.showdown-toc .toc-view ul li div:hover a,.showdown-toc .toc-view ul li div:hover i{color:#f59102}.showdown-toc .toc-view ul li div:hover a{border-radius:.5rem}.showdown-toc .toc-view ul li div:focus a,.showdown-toc .toc-view ul li div:focus i{color:#0089ff}.showdown-toc .toc-view ul li div:focus a{border-radius:.5rem}.showdown-toc .toc-view ul ul{margin-top:.24rem}.showdown-toc .toc-view .toc-multi-title{font-weight:600}.showdown-toc .toc-view .toc-title-1{font-size:1.6rem;font-weight:800}.main-toc-row{border-bottom:1px solid #dfdfdf;display:flex;flex-direction:column;flex-grow:1}.main-toc-row .toc-view{flex-grow:1}.toc-view::-webkit-scrollbar-thumb{background-color:#f59102}@media not print{.main-toc-row{flex-direction:row}.main-toc-row .total-toc{background:#ffffffd2;border-radius:10px;box-shadow:0 5px 11px #3333;box-sizing:border-box;margin-right:12px;max-height:100vh;max-width:50%;min-height:300px;min-width:256px;overflow:hidden;position:fixed;right:0;top:0;transition:all .3s;white-space:nowrap;width:25%;z-index:11}.main-toc-row .toc-view{overflow:auto}}@media print{.main-toc-row .total-toc{max-width:unset!important;order:-1!important;overflow:unset!important;width:100%!important}}.showdown-toc .toc-view{display:flex;width:100%}.showdown-toc .toc-view .toc-main{flex-grow:1;margin-left:1rem}.main-toc-column{display:flex;flex-direction:column;flex-grow:1;overflow:hidden}
17
+ */.codeblock-tools{align-items:center;background-color:#f5f5f5;border-bottom:1px solid #f0f0f0;display:flex;height:25px;position:absolute;z-index:3}.codeblock-tools .start-nav{align-items:center;display:flex;flex:1;overflow:hidden;padding-left:11px}.codeblock-tools .end-nav{align-items:center;display:flex;justify-content:flex-end;padding-right:11px}.tools-divider{box-sizing:border-box;color:#262626;list-style:none;margin:0;padding:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tools-divider-vertical{border-left:1px solid rgba(0,0,0,.2);display:inline-block;height:16px;margin:0 6px;position:relative;vertical-align:middle}.tools-icon{align-items:center;background-position:50%;background-repeat:no-repeat;display:inline-flex;font-size:16px;height:1em;justify-content:center;width:1em}.svg-icon{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:inherit;display:inline-block;flex:1;font-style:normal;line-height:0;text-align:center}.codeblock-tools-button{align-items:center;border-radius:4px;cursor:pointer;display:flex;height:24px;justify-content:center;transition:all .3s;width:24px}.codeblock-tools-button:hover{background-color:#d8dad9;border-radius:4px}.tools-select{align-items:center;box-sizing:border-box;color:#262626;cursor:pointer;display:flex;height:24px;list-style:none;margin:0;padding:0;position:relative;width:auto}.tools-select-selector{background:0 0;border-color:transparent;border-radius:4px;cursor:pointer;display:inline-flex;padding:0 5px 0 8px;text-align:right}.tools-select-selection-item{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tools-select-selector .tools-select-selection-item{position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tools-select-arrow{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#262626;display:inline-flex;font-size:16px;font-style:normal;height:16px;position:inherit;text-align:center;width:16px}.tools-codeblock{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tools-select:hover{background-color:#d8dad9;border-radius:6px}.select-items{background-color:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 8px rgba(0,0,0,.15);display:flex;flex-direction:column;left:auto;line-height:1.5em;max-height:245px;overflow-x:hidden;overflow-y:auto;position:absolute;right:0;top:-999px;z-index:99}.options-item{color:#585a5a;cursor:pointer;display:block;font-weight:400;line-height:22px;padding:4px 8px;position:relative}.options-item .select-item-content{display:inline-block;overflow:hidden;padding:5px 8px 5px 18px;text-overflow:ellipsis;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;white-space:nowrap}.selected-item .select-item-content{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTYiIGhlaWdodD0iMTYiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPjxkZWZzPjxwYXRoIGlkPSJhIiBkPSJNMCAwaDEydjE2SDB6Ii8+PC9kZWZzPjxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PG1hc2sgaWQ9ImIiIGZpbGw9IiNmZmYiPjx1c2UgeGxpbms6aHJlZj0iI2EiLz48L21hc2s+PHBhdGggc3Ryb2tlPSIjNTk1OTU5IiBzdHJva2Utd2lkdGg9IjEuMzc1IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIG1hc2s9InVybCgjYikiIGQ9Im0xLjY4OCA3Ljg2MSA0LjMwMiA0LjI2NCA4LjMyMy04LjI1Ii8+PC9nPjwvc3ZnPg==);background-position:0;background-repeat:no-repeat}.options-item:hover{background-color:#f6f8fa;color:#24292e}
18
+
19
+ /*!
20
+ * css of showdowns v0.6.17
21
+ * Copyright (c) 2019-present, Jhuix (Hui Jin) <jhuix0117@gmail.com>
22
+ * Released under the MIT License.
23
+ */.hidden{display:none!important}.divider{align-items:center;background:#d2d2d2;cursor:col-resize;display:none;justify-content:center;position:relative;transition:background .3s;width:2px}.divider:hover{background:#f59102}.icon{fill:currentColor;height:1em;overflow:hidden;vertical-align:-.15em;width:1em}.toc-switch{box-sizing:border-box;color:#3e69d7;cursor:pointer;font-size:3rem;overflow:hidden;position:fixed;right:2rem;text-align:center;top:0;transition:height .2s linear;z-index:110}.total-toc{-moz-column-break-after:page;box-sizing:border-box;break-after:page;display:flex;flex-direction:column;flex-shrink:0;order:-1;page-break-after:always;width:100%}.total-toc .toc-view ul li div i:not(.toc-chapter){cursor:pointer}.showdown-toc .toc-pin{align-items:center;border-bottom:1px solid #d2d2d2;display:flex;flex-direction:row;flex-shrink:0;font-size:2rem;overflow:hidden;padding:1rem}.showdown-toc .toc-pin-text{font-weight:700;margin-right:8px;white-space:nowrap}.showdown-toc .toc-fold-wrap{align-items:center;display:flex;flex-grow:1;justify-content:flex-start;position:relative}.showdown-toc .toc-icon{background-position:50%;background-repeat:no-repeat;cursor:pointer}.showdown-toc .toc-close{margin-left:auto}.showdown-toc .toc-icon:hover{color:#0089ff}.showdown-toc .toc-view{overflow:auto}.showdown-toc .toc-view .toc-chapter{color:#0089ff}.showdown-toc .toc-view ul{display:block;margin-left:2rem;padding-left:0;position:relative}.showdown-toc .toc-view ul li{box-sizing:border-box;display:flex;flex-direction:column;list-style:none;width:100%}.showdown-toc .toc-view ul li div{display:flex;flex-direction:row}.showdown-toc .toc-view ul li div i{align-items:center;display:inline-flex;margin-left:0;position:relative}.showdown-toc .toc-view ul li div a{color:currentColor;cursor:pointer;font-size:1.4rem;padding:.6rem;text-decoration:none;white-space:nowrap}.showdown-toc .toc-view ul li div:hover a,.showdown-toc .toc-view ul li div:hover i{color:#f59102}.showdown-toc .toc-view ul li div:hover a{border-radius:.5rem}.showdown-toc .toc-view ul li div:focus a,.showdown-toc .toc-view ul li div:focus i{color:#0089ff}.showdown-toc .toc-view ul li div:focus a{border-radius:.5rem}.showdown-toc .toc-view ul ul{margin-top:.24rem}.showdown-toc .toc-view .toc-multi-title{font-weight:600}.showdown-toc .toc-view .toc-title-1{font-size:1.6rem;font-weight:800}.main-toc-row{display:flex;flex-direction:column;flex-grow:1}.main-toc-row .toc-view{flex-grow:1}.toc-view::-webkit-scrollbar-thumb{background-color:#f59102}@media not print{.main-toc-row{flex-direction:row}.main-toc-row .total-toc{background:#ffffffd2;border-radius:10px;box-shadow:0 5px 11px #3333;box-sizing:border-box;margin-right:12px;max-height:100vh;max-width:50%;min-height:300px;min-width:256px;overflow:hidden;position:fixed;right:0;top:0;transition:all .3s;white-space:nowrap;width:25%;z-index:11}.main-toc-row .toc-view{overflow:auto}}@media print{.main-toc-row .total-toc{max-width:unset!important;order:-1!important;overflow:unset!important;width:100%!important}}.showdown-toc .toc-view{display:flex;width:100%}.showdown-toc .toc-view .toc-main{flex-grow:1;margin-left:1rem}.main-toc-column{display:flex;flex-direction:column;flex-grow:1;overflow:hidden}