vditor 3.8.4 → 3.8.8

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.
Files changed (110) hide show
  1. package/CHANGELOG.md +45 -8
  2. package/README.md +49 -46
  3. package/dist/css/content-theme/ant-design.css +185 -1
  4. package/dist/css/content-theme/dark.css +98 -1
  5. package/dist/css/content-theme/light.css +76 -1
  6. package/dist/css/content-theme/wechat.css +69 -1
  7. package/dist/index.css +10 -8
  8. package/dist/index.d.ts +5 -1
  9. package/dist/index.min.js +15433 -8
  10. package/dist/js/.DS_Store +0 -0
  11. package/dist/js/highlight.js/highlight.pack.js +1617 -2
  12. package/dist/js/highlight.js/styles/abap.css +155 -1
  13. package/dist/js/highlight.js/styles/algol.css +142 -1
  14. package/dist/js/highlight.js/styles/algol_nu.css +90 -1
  15. package/dist/js/highlight.js/styles/ant-design.css +469 -1
  16. package/dist/js/highlight.js/styles/arduino.css +155 -1
  17. package/dist/js/highlight.js/styles/autumn.css +136 -1
  18. package/dist/js/highlight.js/styles/borland.css +146 -1
  19. package/dist/js/highlight.js/styles/bw.css +149 -1
  20. package/dist/js/highlight.js/styles/colorful.css +156 -1
  21. package/dist/js/highlight.js/styles/dracula.css +139 -1
  22. package/dist/js/highlight.js/styles/emacs.css +166 -1
  23. package/dist/js/highlight.js/styles/friendly.css +182 -1
  24. package/dist/js/highlight.js/styles/fruity.css +121 -1
  25. package/dist/js/highlight.js/styles/github.css +173 -1
  26. package/dist/js/highlight.js/styles/igor.css +122 -1
  27. package/dist/js/highlight.js/styles/lovelace.css +145 -1
  28. package/dist/js/highlight.js/styles/manni.css +138 -1
  29. package/dist/js/highlight.js/styles/monokai.css +131 -1
  30. package/dist/js/highlight.js/styles/monokailight.css +179 -1
  31. package/dist/js/highlight.js/styles/murphy.css +144 -1
  32. package/dist/js/highlight.js/styles/native.css +163 -1
  33. package/dist/js/highlight.js/styles/paraiso-dark.css +136 -1
  34. package/dist/js/highlight.js/styles/paraiso-light.css +135 -1
  35. package/dist/js/highlight.js/styles/pastie.css +180 -1
  36. package/dist/js/highlight.js/styles/perldoc.css +140 -1
  37. package/dist/js/highlight.js/styles/pygments.css +158 -1
  38. package/dist/js/highlight.js/styles/rainbow_dash.css +163 -1
  39. package/dist/js/highlight.js/styles/rrt.css +158 -1
  40. package/dist/js/highlight.js/styles/solarized-dark.css +145 -1
  41. package/dist/js/highlight.js/styles/solarized-dark256.css +145 -1
  42. package/dist/js/highlight.js/styles/solarized-light.css +162 -1
  43. package/dist/js/highlight.js/styles/swapoff.css +144 -1
  44. package/dist/js/highlight.js/styles/tango.css +183 -1
  45. package/dist/js/highlight.js/styles/trac.css +166 -1
  46. package/dist/js/highlight.js/styles/vim.css +143 -1
  47. package/dist/js/highlight.js/styles/vs.css +112 -1
  48. package/dist/js/highlight.js/styles/xcode.css +173 -1
  49. package/dist/js/i18n/en_US.js +85 -0
  50. package/dist/js/i18n/ja_JP.js +85 -0
  51. package/dist/js/i18n/ko_KR.js +85 -0
  52. package/dist/js/i18n/ru_RU.js +85 -0
  53. package/dist/js/i18n/zh_CN.js +85 -0
  54. package/dist/js/i18n/zh_TW.js +85 -0
  55. package/dist/js/katex/katex.min.css +1 -1
  56. package/dist/js/lute/lute.min.js +31 -28
  57. package/dist/js/mathjax/.DS_Store +0 -0
  58. package/dist/js/mathjax/input/tex/extensions/{colorv2.js → colorV2.js} +0 -0
  59. package/dist/js/mathjax/input/tex/extensions/{configmacros.js → configMacros.js} +0 -0
  60. package/dist/js/mathjax/input/tex/extensions/{tagformat.js → tagFormat.js} +0 -0
  61. package/dist/js/mathjax/tex-svg-full.js +1 -0
  62. package/dist/method.d.ts +6 -3
  63. package/dist/method.min.js +2334 -8
  64. package/dist/ts/markdown/adapterRender.d.ts +33 -0
  65. package/dist/ts/markdown/codeRender.d.ts +1 -2
  66. package/dist/ts/ui/initUI.d.ts +1 -0
  67. package/dist/ts/wysiwyg/index.d.ts +2 -0
  68. package/dist/types/index.d.ts +105 -8
  69. package/package.json +23 -24
  70. package/src/assets/.DS_Store +0 -0
  71. package/src/assets/scss/_content.scss +4 -0
  72. package/src/assets/scss/_reset.scss +11 -0
  73. package/src/index.ts +159 -99
  74. package/src/method.ts +6 -2
  75. package/src/ts/.DS_Store +0 -0
  76. package/src/ts/constants.ts +8 -4
  77. package/src/ts/export/index.ts +7 -5
  78. package/src/ts/hint/index.ts +20 -11
  79. package/src/ts/markdown/abcRender.ts +3 -2
  80. package/src/ts/markdown/adapterRender.ts +33 -0
  81. package/src/ts/markdown/chartRender.ts +3 -2
  82. package/src/ts/markdown/codeRender.ts +5 -6
  83. package/src/ts/markdown/flowchartRender.ts +3 -2
  84. package/src/ts/markdown/graphvizRender.ts +13 -11
  85. package/src/ts/markdown/highlightRender.ts +3 -3
  86. package/src/ts/markdown/mathRender.ts +6 -5
  87. package/src/ts/markdown/mermaidRender.ts +4 -2
  88. package/src/ts/markdown/mindmapRender.ts +3 -2
  89. package/src/ts/markdown/plantumlRender.ts +3 -2
  90. package/src/ts/markdown/previewRender.ts +26 -4
  91. package/src/ts/preview/image.ts +2 -4
  92. package/src/ts/preview/index.ts +2 -5
  93. package/src/ts/toolbar/EditMode.ts +3 -4
  94. package/src/ts/toolbar/Headings.ts +6 -6
  95. package/src/ts/toolbar/Info.ts +1 -1
  96. package/src/ts/toolbar/MenuItem.ts +1 -3
  97. package/src/ts/toolbar/Record.ts +3 -4
  98. package/src/ts/ui/initUI.ts +19 -5
  99. package/src/ts/undo/index.ts +5 -5
  100. package/src/ts/upload/index.ts +8 -8
  101. package/src/ts/util/Options.ts +255 -196
  102. package/src/ts/util/editorCommonEvent.ts +2 -2
  103. package/src/ts/util/fixBrowserBehavior.ts +10 -6
  104. package/src/ts/util/processCode.ts +1 -1
  105. package/src/ts/wysiwyg/highlightToolbarWYSIWYG.ts +298 -138
  106. package/src/ts/wysiwyg/index.ts +9 -4
  107. package/dist/js/mathjax/input/.DS_Store +0 -0
  108. package/dist/js/mathjax/tex-svg.js +0 -1
  109. package/dist/ts/i18n/index.d.ts +0 -2
  110. package/src/ts/i18n/index.ts +0 -318
@@ -1,20 +1,20 @@
1
1
  /*!
2
- * Vditor v3.8.4 - A markdown editor written in TypeScript.
3
- *
2
+ * Vditor v3.8.8 - A markdown editor written in TypeScript.
3
+ *
4
4
  * MIT License
5
- *
5
+ *
6
6
  * Copyright (c) 2018-present B3log 开源, b3log.org
7
- *
7
+ *
8
8
  * Permission is hereby granted, free of charge, to any person obtaining a copy
9
9
  * of this software and associated documentation files (the "Software"), to deal
10
10
  * in the Software without restriction, including without limitation the rights
11
11
  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
12
  * copies of the Software, and to permit persons to whom the Software is
13
13
  * furnished to do so, subject to the following conditions:
14
- *
14
+ *
15
15
  * The above copyright notice and this permission notice shall be included in all
16
16
  * copies or substantial portions of the Software.
17
- *
17
+ *
18
18
  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
19
  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
20
  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
@@ -22,6 +22,2332 @@
22
22
  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
23
  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
24
24
  * SOFTWARE.
25
- *
25
+ *
26
26
  */
27
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.Vditor=t():e.Vditor=t()}(this,(function(){return function(e){var t={};function n(r){if(t[r])return t[r].exports;var i=t[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,n),i.l=!0,i.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var i in e)n.d(r,i,function(t){return e[t]}.bind(null,i));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=26)}([function(e,t,n){"use strict";n.d(t,"b",(function(){return a})),n.d(t,"a",(function(){return s})),n.d(t,"e",(function(){return l})),n.d(t,"h",(function(){return c})),n.d(t,"c",(function(){return d})),n.d(t,"g",(function(){return u})),n.d(t,"f",(function(){return m})),n.d(t,"d",(function(){return f}));var r=n(2),i=n(3),o=n(1),a=function(e){var t,n=e[e.currentMode].element;return getSelection().rangeCount>0&&(t=getSelection().getRangeAt(0),n.isEqualNode(t.startContainer)||n.contains(t.startContainer))?t:e[e.currentMode].range?e[e.currentMode].range:(n.focus(),(t=n.ownerDocument.createRange()).setStart(n,0),t.collapse(!0),t)},s=function(e){var t=window.getSelection().getRangeAt(0);if(!e.contains(t.startContainer)&&!Object(o.e)(t.startContainer,"vditor-panel--none"))return{left:0,top:0};var n,r=e.parentElement.getBoundingClientRect();if(0===t.getClientRects().length)if(3===t.startContainer.nodeType){var i=t.startContainer.parentElement;if(!(i&&i.getClientRects().length>0))return{left:0,top:0};n=i.getClientRects()[0]}else{var a=t.startContainer.children;if(a[t.startOffset]&&a[t.startOffset].getClientRects().length>0)n=a[t.startOffset].getClientRects()[0];else if(t.startContainer.childNodes.length>0){var s=t.cloneRange();t.selectNode(t.startContainer.childNodes[Math.max(0,t.startOffset-1)]),n=t.getClientRects()[0],t.setEnd(s.endContainer,s.endOffset),t.setStart(s.startContainer,s.startOffset)}else n=t.startContainer.getClientRects()[0];if(!n){for(var l=t.startContainer.childNodes[t.startOffset];!l.getClientRects||l.getClientRects&&0===l.getClientRects().length;)l=l.parentElement;n=l.getClientRects()[0]}}else n=t.getClientRects()[0];return{left:n.left-r.left,top:n.top-r.top}},l=function(e,t){if(!t){if(0===getSelection().rangeCount)return!1;t=getSelection().getRangeAt(0)}var n=t.commonAncestorContainer;return e.isEqualNode(n)||e.contains(n)},c=function(e){var t=window.getSelection();t.removeAllRanges(),t.addRange(e)},d=function(e,t,n){var r={end:0,start:0};if(!n){if(0===getSelection().rangeCount)return r;n=window.getSelection().getRangeAt(0)}if(l(t,n)){var i=n.cloneRange();e.childNodes[0]&&e.childNodes[0].childNodes[0]?i.setStart(e.childNodes[0].childNodes[0],0):i.selectNodeContents(e),i.setEnd(n.startContainer,n.startOffset),r.start=i.toString().length,r.end=r.start+n.toString().length}return r},u=function(e,t,n){var r=0,i=0,o=n.childNodes[i],a=!1,s=!1;e=Math.max(0,e),t=Math.max(0,t);var l=n.ownerDocument.createRange();for(l.setStart(o||n,0),l.collapse(!0);!s&&o;){var d=r+o.textContent.length;if(!a&&e>=r&&e<=d&&(0===e?l.setStart(o,0):3===o.childNodes[0].nodeType?l.setStart(o.childNodes[0],e-r):o.nextSibling?l.setStartBefore(o.nextSibling):l.setStartAfter(o),a=!0,e===t)){s=!0;break}a&&t>=r&&t<=d&&(0===t?l.setEnd(o,0):3===o.childNodes[0].nodeType?l.setEnd(o.childNodes[0],t-r):o.nextSibling?l.setEndBefore(o.nextSibling):l.setEndAfter(o),s=!0),r=d,o=n.childNodes[++i]}return!s&&n.childNodes[i-1]&&l.setStartBefore(n.childNodes[i-1]),c(l),l},m=function(e,t){var n=e.querySelector("wbr");if(n){if(n.previousElementSibling)if(n.previousElementSibling.isSameNode(n.previousSibling)){if(n.previousElementSibling.lastChild)return t.setStartBefore(n),t.collapse(!0),c(t),!Object(i.c)()||"EM"!==n.previousElementSibling.tagName&&"STRONG"!==n.previousElementSibling.tagName&&"S"!==n.previousElementSibling.tagName||(t.insertNode(document.createTextNode(r.a.ZWSP)),t.collapse(!1)),void n.remove();t.setStartAfter(n.previousElementSibling)}else t.setStart(n.previousSibling,n.previousSibling.textContent.length);else n.previousSibling?t.setStart(n.previousSibling,n.previousSibling.textContent.length):n.nextSibling?3===n.nextSibling.nodeType?t.setStart(n.nextSibling,0):t.setStartBefore(n.nextSibling):t.setStart(n.parentElement,0);t.collapse(!0),n.remove(),c(t)}},f=function(e,t){var n=document.createElement("div");n.innerHTML=e;var r=n.querySelectorAll("p");1===r.length&&!r[0].previousSibling&&!r[0].nextSibling&&t[t.currentMode].element.children.length>0&&"P"===n.firstElementChild.tagName&&(e=r[0].innerHTML.trim());var i=document.createElement("div");i.innerHTML=e;var s=a(t);if(""!==s.toString()&&(t[t.currentMode].preventInput=!0,document.execCommand("delete",!1,"")),i.firstElementChild&&"0"===i.firstElementChild.getAttribute("data-block")){i.lastElementChild.insertAdjacentHTML("beforeend","<wbr>");var l=Object(o.c)(s.startContainer);l?l.insertAdjacentHTML("afterend",i.innerHTML):t[t.currentMode].element.insertAdjacentHTML("beforeend",i.innerHTML),m(t[t.currentMode].element,s)}else{var d=document.createElement("template");d.innerHTML=e,s.insertNode(d.content.cloneNode(!0)),s.collapse(!1),c(s)}}},function(e,t,n){"use strict";n.d(t,"g",(function(){return i})),n.d(t,"h",(function(){return o})),n.d(t,"b",(function(){return a})),n.d(t,"d",(function(){return s})),n.d(t,"c",(function(){return l})),n.d(t,"f",(function(){return c})),n.d(t,"e",(function(){return d})),n.d(t,"a",(function(){return u}));var r=n(6),i=function(e,t){for(var n=d(e,t),r=!1,i=!1;n&&!n.classList.contains("vditor-reset")&&!i;)(r=d(n.parentElement,t))?n=r:i=!0;return n||!1},o=function(e,t){for(var n=Object(r.b)(e,t),i=!1,o=!1;n&&!n.classList.contains("vditor-reset")&&!o;)(i=Object(r.b)(n.parentElement,t))?n=i:o=!0;return n||!1},a=function(e){var t=o(e,"UL"),n=o(e,"OL"),r=t;return n&&(!t||t&&n.contains(t))&&(r=n),r},s=function(e,t,n){if(!e)return!1;3===e.nodeType&&(e=e.parentElement);for(var r=e,i=!1;r&&!i&&!r.classList.contains("vditor-reset");)r.getAttribute(t)===n?i=!0:r=r.parentElement;return i&&r},l=function(e){if(!e)return!1;3===e.nodeType&&(e=e.parentElement);var t=e,n=!1,r=s(e,"data-block","0");if(r)return r;for(;t&&!n&&!t.classList.contains("vditor-reset");)"H1"===t.tagName||"H2"===t.tagName||"H3"===t.tagName||"H4"===t.tagName||"H5"===t.tagName||"H6"===t.tagName||"P"===t.tagName||"BLOCKQUOTE"===t.tagName||"OL"===t.tagName||"UL"===t.tagName?n=!0:t=t.parentElement;return n&&t},c=function(e,t){if(!e)return!1;3===e.nodeType&&(e=e.parentElement);for(var n=e,r=!1;n&&!r&&!n.classList.contains("vditor-reset");)n.nodeName===t?r=!0:n=n.parentElement;return r&&n},d=function(e,t){if(!e)return!1;3===e.nodeType&&(e=e.parentElement);for(var n=e,r=!1;n&&!r&&!n.classList.contains("vditor-reset");)n.classList.contains(t)?r=!0:n=n.parentElement;return r&&n},u=function(e){for(;e&&e.lastChild;)e=e.lastChild;return e}},function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return i}));var r="3.8.4",i=function(){function e(){}return e.ZWSP="​",e.DROP_EDITOR="application/editor",e.MOBILE_WIDTH=520,e.CLASS_MENU_DISABLED="vditor-menu--disabled",e.EDIT_TOOLBARS=["emoji","headings","bold","italic","strike","link","list","ordered-list","outdent","indent","check","line","quote","code","inline-code","insert-after","insert-before","upload","record","table"],e.CODE_THEME=["abap","algol","algol_nu","arduino","autumn","borland","bw","colorful","dracula","emacs","friendly","fruity","github","igor","lovelace","manni","monokai","monokailight","murphy","native","paraiso-dark","paraiso-light","pastie","perldoc","pygments","rainbow_dash","rrt","solarized-dark","solarized-dark256","solarized-light","swapoff","tango","trac","vim","vs","xcode","ant-design"],e.CODE_LANGUAGES=["mermaid","echarts","mindmap","plantuml","abc","graphviz","flowchart","apache","bash","cs","cpp","css","coffeescript","diff","xml","http","ini","json","java","javascript","js","makefile","markdown","nginx","objectivec","php","perl","properties","python","ruby","sql","shell","dart","erb","go","gradle","julia","kotlin","less","lua","matlab","rust","scss","typescript","ts","yaml"],e.CDN="https://cdn.jsdelivr.net/npm/vditor@3.8.4",e.MARKDOWN_OPTIONS={autoSpace:!1,codeBlockPreview:!0,fixTermTypo:!1,footnotes:!0,linkBase:"",linkPrefix:"",listStyle:!1,mark:!1,mathBlockPreview:!0,paragraphBeginningSpace:!1,sanitize:!0,toc:!1},e.HLJS_OPTIONS={enable:!0,lineNumber:!1,style:"github"},e.MATH_OPTIONS={engine:"KaTeX",inlineDigit:!1,macros:{}},e.THEME_OPTIONS={current:"light",list:{"ant-design":"Ant Design",dark:"Dark",light:"Light",wechat:"WeChat"},path:e.CDN+"/dist/css/content-theme"},e}()},function(e,t,n){"use strict";n.d(t,"f",(function(){return r})),n.d(t,"e",(function(){return i})),n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return a})),n.d(t,"d",(function(){return s})),n.d(t,"g",(function(){return l})),n.d(t,"c",(function(){return c}));var r=function(){return navigator.userAgent.indexOf("Safari")>-1&&-1===navigator.userAgent.indexOf("Chrome")},i=function(){return navigator.userAgent.toLowerCase().indexOf("firefox")>-1},o=function(){try{return"undefined"!=typeof localStorage}catch(e){return!1}},a=function(){return navigator.userAgent.indexOf("iPhone")>-1?"touchstart":"click"},s=function(e){return navigator.platform.toUpperCase().indexOf("MAC")>=0?!(!e.metaKey||e.ctrlKey):!(e.metaKey||!e.ctrlKey)},l=function(e){return/Mac/.test(navigator.platform)||"iPhone"===navigator.platform?e.indexOf("⇧")>-1&&i()&&(e=e.replace(";",":").replace("=","+").replace("-","_")):(e=(e=e.startsWith("⌘")?e.replace("⌘","⌘+"):e.startsWith("⌥")&&"⌘"!==e.substr(1,1)?e.replace("⌥","⌥+"):e.replace("⇧⌘","⌘+⇧+").replace("⌥⌘","⌥+⌘+")).replace("⌘","Ctrl").replace("⇧","Shift").replace("⌥","Alt")).indexOf("Shift")>-1&&(e=e.replace(";",":").replace("=","+").replace("-","_")),e},c=function(){return/Chrome/.test(navigator.userAgent)&&/Google Inc/.test(navigator.vendor)}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r={en_US:{alignCenter:"Center",alignLeft:"Left",alignRight:"Right",alternateText:"Alternate text",bold:"Blod",both:"editor & preview",check:"Task List",close:"Close",code:"Code Block","code-theme":"Code Block Theme Preview",column:"Column",comment:"Comment",confirm:"Confirm","content-theme":"Content Theme Preview",copied:"Copied",copy:"Copy","delete-column":"Delete Row","delete-row":"Delete Column",devtools:"DevTools",down:"Down",downloadTip:"The browser does not support the download function",edit:"Edit","edit-mode":"Toggle Edit Mode",emoji:"Emoji",export:"Export",fileTypeError:"file type is error",footnoteRef:"Footnote Ref",fullscreen:"Toggle Fullscreen",generate:"Generating",headings:"Headings",help:"Help",imageURL:"image URL",indent:"Indent",info:"Info","inline-code":"Inline Code","insert-after":"Insert line after","insert-before":"Insert line Before",insertColumnLeft:"Insert 1 left",insertColumnRight:"Insert 1 right",insertRowAbove:"Insert 1 above",insertRowBelow:"Insert 1 below",instantRendering:"Instant Rendering",italic:"Italic",language:"Language",line:"Line",link:"Link",linkRef:"Link Ref",list:"List",more:"More",nameEmpty:"Name is empty","ordered-list":"Order List",outdent:"Outdent",outline:"Outline",over:"over",performanceTip:"Real-time preview requires ${x}ms, you can close it",preview:"Preview",quote:"Quote",record:"Start Record/End Record","record-tip":"The device does not support recording",recording:"recording...",redo:"Redo",remove:"Remove",row:"Row",spin:"Spin",splitView:"Split View",strike:"Strike",table:"Table",textIsNotEmpty:"text(no empty)",title:"Title",tooltipText:"Tooltip text",undo:"Undo",up:"Up",update:"Update",upload:"Upload image or file",uploadError:"upload error",uploading:"uploading...",wysiwyg:"WYSIWYG"},ja_JP:{alignCenter:"中央",alignLeft:"左側",alignRight:"右側",alternateText:"イメージタグ",bold:"太く",both:"エディター & プレビュー",check:"チェックリスト",close:"閉じる",code:"コードブロック挿入","code-theme":"コードブロックテーマ",column:"行列",comment:"コメント",confirm:"確認","content-theme":"コンテンツテーマ",copied:"コピー完了",copy:"コピー","delete-column":"列 消去","delete-row":"行 消去",devtools:"開発ツール",down:"ダウンロード",downloadTip:"ブラウザがダウンロード機能をサポートしていません。",edit:"修正","edit-mode":"編集モード",emoji:"絵文字",export:"書き出し",fileTypeError:"サポートしていません。",footnoteRef:"脚注参照",fullscreen:"全体画面",generate:"作成する",headings:"タイトル大きさ",help:"ヘルプ",imageURL:"イメージ URL",indent:"字下げ",info:"情報","inline-code":"インラインコード","insert-after":"ブロックの後ろに入力","insert-before":"ブロックの前に入力",insertColumnLeft:"左側に列を挿入",insertColumnRight:"右側に列を挿入",insertRowAbove:"上に行を挿入",insertRowBelow:"下に行を挿入",instantRendering:"インスタントレンダリング",italic:"斜体",language:"言語",line:"段落分割",link:"リンク",linkRef:"リンク参照",list:"リスト",more:"詳しく見る",nameEmpty:"名前が入力されていません。","ordered-list":"順序のあるリスト",outdent:"ぶら下げインデント",outline:"概要",over:"オーバー",performanceTip:"リアルタイムプレビューには、${x}msが必要でエディター/プレビューボタンをクリックして閉じる事が出来ます。",preview:"プレビュー",quote:"引用段落",record:"録音開始/録音終了","record-tip":"録音がサポートされていません。",recording:"録音中...",redo:"戻る",remove:"消去",row:"列",spin:"スピン",splitView:"マークダウン",strike:"取り消し線",table:"表 挿入",textIsNotEmpty:"テキスト(no empty)",title:"題名",tooltipText:"ツールチップ",undo:"取り消す",up:"戻る",update:"アップデート",upload:"イメージをダウンロードする",uploadError:"アップロード失敗",uploading:"アップロード中",wysiwyg:"ウィジウィグ"},ko_KR:{alignCenter:"가운데",alignLeft:"왼쪽",alignRight:"오른쪽",alternateText:"이미지 태그",bold:"굵게",both:"에디터 & 미리보기",check:"체크박스",close:"닫기",code:"코드블럭삽입","code-theme":"코드블럭테마",column:"행",comment:"코멘트",confirm:"확인","content-theme":"컨텐츠테마",copied:"복사완료",copy:"복사","delete-column":"열 삭제","delete-row":"행 삭제",devtools:"개발툴",down:"다운",downloadTip:"브라우저가 다운로드 기능을 지원하지 않습니다",edit:"수정","edit-mode":"편집모드",emoji:"이모지",export:"내보내기",fileTypeError:"지원하지않습니다.",footnoteRef:"각주참조",fullscreen:"전체화면",generate:"생성",headings:"제목크기",help:"도움말",imageURL:"이미지 URL",indent:"들여쓰기",info:"정보","inline-code":"인라인코드","insert-after":"블락 뒤로 입력","insert-before":"블락 앞으로 입력",insertColumnLeft:"왼쪽에 열 삽입",insertColumnRight:"오른쪽에 열 삽입",insertRowAbove:"위에 행 삽입",insertRowBelow:"아래에 행 삽입",instantRendering:"타이포라",italic:"기울임꼴",language:"언어",line:"문단나눔",link:"링크",linkRef:"링크 참조",list:"순서없는 목록",more:"더보기",nameEmpty:"이름이 비어있습니다.","ordered-list":"순서있는 목록",outdent:"내어쓰기",outline:"개요",over:"오버",performanceTip:"실시간 미리보기에는 ${x}ms가 필요하며 에디터/미리보기 버튼을 클릭하여 닫을 수 있습니다.",preview:"미리보기",quote:"인용단락",record:"녹음시작/녹음종료","record-tip":"녹음을 지원하지 않습니다.",recording:"녹음중...",redo:"되돌리기",remove:"삭제",row:"열",spin:"회전",splitView:"마크다운",strike:"취소선",table:"표삽입",textIsNotEmpty:"텍스트(no empty)",title:"표제",tooltipText:"툴팁",undo:"취소하기",up:"위로",update:"업데이트",upload:"이미지 업로드하기",uploadError:"업로드 실패",uploading:"업로드중...",wysiwyg:"위지위그"},zh_CN:{alignCenter:"居中",alignLeft:"居左",alignRight:"居右",alternateText:"替代文本",bold:"粗体",both:"编辑 & 预览",check:"任务列表",close:"关闭",code:"代码块","code-theme":"代码块主题预览",column:"列",comment:"评论",confirm:"确定","content-theme":"内容主题预览",copied:"已复制",copy:"复制","delete-column":"删除列","delete-row":"删除行",devtools:"开发者工具",down:"下",downloadTip:"该浏览器不支持下载功能",edit:"编辑","edit-mode":"切换编辑模式",emoji:"表情",export:"导出",fileTypeError:"文件类型不允许上传",footnoteRef:"脚注标识",fullscreen:"全屏切换",generate:"生成中",headings:"标题",help:"帮助",imageURL:"图片地址",indent:"列表缩进",info:"关于","inline-code":"行内代码","insert-after":"末尾插入行","insert-before":"起始插入行",insertColumnLeft:"在左边插入一列",insertColumnRight:"在右边插入一列",insertRowAbove:"在上方插入一行",insertRowBelow:"在下方插入一行",instantRendering:"即时渲染",italic:"斜体",language:"语言",line:"分隔线",link:"链接",linkRef:"引用标识",list:"无序列表",more:"更多",nameEmpty:"文件名不能为空","ordered-list":"有序列表",outdent:"列表反向缩进",outline:"大纲",over:"超过",performanceTip:"实时预览需 ${x}ms,可点击编辑 & 预览按钮进行关闭",preview:"预览",quote:"引用",record:"开始录音/结束录音","record-tip":"该设备不支持录音功能",recording:"录音中...",redo:"重做",remove:"删除",row:"行",spin:"旋转",splitView:"分屏预览",strike:"删除线",table:"表格",textIsNotEmpty:"文本(不能为空)",title:"标题",tooltipText:"提示文本",undo:"撤销",up:"上",update:"更新",upload:"上传图片或文件",uploadError:"上传错误",uploading:"上传中...",wysiwyg:"所见即所得"}}},function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return i}));var r=function(e,t){if(document.getElementById(t))return!1;var n=new XMLHttpRequest;n.open("GET",e,!1),n.setRequestHeader("Accept","text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01"),n.send("");var r=document.createElement("script");r.type="text/javascript",r.text=n.responseText,r.id=t,document.head.appendChild(r)},i=function(e,t){return new Promise((function(n,r){if(document.getElementById(t))return n(),!1;var i=document.createElement("script");i.src=e,i.async=!0,document.head.appendChild(i),i.onload=function(){if(document.getElementById(t))return i.remove(),n(),!1;i.id=t,n()}}))}},function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return i}));var r=function(e,t){if(!e)return!1;3===e.nodeType&&(e=e.parentElement);for(var n=e,r=!1;n&&!r&&!n.classList.contains("vditor-reset");)0===n.nodeName.indexOf(t)?r=!0:n=n.parentElement;return r&&n},i=function(e){var t=r(e,"H");return!(!t||2!==t.tagName.length||"HR"===t.tagName)&&t}},function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var r=n(2),i=n(5),o=n(8),a=n(9),s=function(e,t){var n=e.querySelectorAll(".language-math");if(0!==n.length){var s={cdn:r.a.CDN,math:{engine:"KaTeX",inlineDigit:!1,macros:{}}};if(t&&t.math&&(t.math=Object.assign({},s.math,t.math)),"KaTeX"===(t=Object.assign({},s,t)).math.engine)Object(o.a)(t.cdn+"/dist/js/katex/katex.min.css","vditorKatexStyle"),Object(i.a)(t.cdn+"/dist/js/katex/katex.min.js","vditorKatexScript").then((function(){n.forEach((function(e){if(!e.parentElement.classList.contains("vditor-wysiwyg__pre")&&!e.parentElement.classList.contains("vditor-ir__marker--pre")&&!e.getAttribute("data-math")){var t=Object(a.a)(e.textContent);e.setAttribute("data-math",t);try{e.innerHTML=katex.renderToString(t,{displayMode:"DIV"===e.tagName,output:"html"})}catch(t){e.innerHTML=t.message,e.className="language-math vditor-reset--error"}e.addEventListener("copy",(function(e){e.stopPropagation(),e.preventDefault();var t=e.currentTarget.closest(".language-math");e.clipboardData.setData("text/html",t.innerHTML),e.clipboardData.setData("text/plain",t.getAttribute("data-math"))}))}}))}));else if("MathJax"===t.math.engine){window.MathJax||(window.MathJax={loader:{paths:{mathjax:t.cdn+"/dist/js/mathjax"}},startup:{typeset:!1},tex:{macros:t.math.macros}}),Object(i.b)(t.cdn+"/dist/js/mathjax/tex-svg.js","vditorMathJaxScript");var l=function(e,t){var n=Object(a.a)(e.textContent).trim(),r=window.MathJax.getMetricsFor(e);r.display="DIV"===e.tagName,window.MathJax.tex2svgPromise(n,r).then((function(r){e.innerHTML="",e.setAttribute("data-math",n),e.append(r),window.MathJax.startup.document.clear(),window.MathJax.startup.document.updateDocument();var i=r.querySelector('[data-mml-node="merror"]');i&&""!==i.textContent.trim()&&(e.innerHTML=i.textContent.trim(),e.className="vditor-reset--error"),t&&t()}))};window.MathJax.startup.promise.then((function(){for(var e=[],t=function(t){var r=n[t];r.parentElement.classList.contains("vditor-wysiwyg__pre")||r.parentElement.classList.contains("vditor-ir__marker--pre")||r.getAttribute("data-math")||!Object(a.a)(r.textContent).trim()||e.push((function(e){t===n.length-1?l(r):l(r,e)}))},r=0;r<n.length;r++)t(r);!function(e){if(0!==e.length){var t=0,n=e[e.length-1],r=function(){var i=e[t++];i===n?i():i(r)};r()}}(e)}))}}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r=function(e,t){if(!document.getElementById(t)){var n=document.createElement("link");n.id=t,n.rel="stylesheet",n.type="text/css",n.href=e,document.getElementsByTagName("head")[0].appendChild(n)}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r=function(e){return e.replace(/\u00a0/g," ")}},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(8),i=function(e,t){if(e&&t){var n=document.getElementById("vditorContentTheme"),i=t+"/"+e+".css";n?n.href!==i&&(n.remove(),Object(r.a)(i,"vditorContentTheme")):Object(r.a)(i,"vditorContentTheme")}}},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(2),i=n(5),o=function(e,t){void 0===e&&(e=document),void 0===t&&(t=r.a.CDN);var n=e.querySelectorAll(".language-abc");n.length>0&&Object(i.a)(t+"/dist/js/abcjs/abcjs_basic.min.js","vditorAbcjsScript").then((function(){n.forEach((function(e){e.parentElement.classList.contains("vditor-wysiwyg__pre")||e.parentElement.classList.contains("vditor-ir__marker--pre")||"true"!==e.getAttribute("data-processed")&&(ABCJS.renderAbc(e,e.textContent.trim()),e.style.overflowX="auto",e.setAttribute("data-processed","true"))}))}))}},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(2),i=n(5),o=function(e,t,n){void 0===e&&(e=document),void 0===t&&(t=r.a.CDN);var o=e.querySelectorAll(".language-echarts");o.length>0&&Object(i.a)(t+"/dist/js/echarts/echarts.min.js","vditorEchartsScript").then((function(){o.forEach((function(e){if(!e.parentElement.classList.contains("vditor-wysiwyg__pre")&&!e.parentElement.classList.contains("vditor-ir__marker--pre")){var t=e.innerText.trim();if(t)try{if("true"===e.getAttribute("data-processed"))return;var r=JSON.parse(t);echarts.init(e,"dark"===n?"dark":void 0).setOption(r),e.setAttribute("data-processed","true")}catch(t){e.className="vditor-reset--error",e.innerHTML="echarts render error: <br>"+t}}}))}))}},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(4),i=n(9),o=function(e,t){void 0===t&&(t="zh_CN"),e.querySelectorAll("pre > code").forEach((function(n,o){if(!n.parentElement.classList.contains("vditor-wysiwyg__pre")&&!n.parentElement.classList.contains("vditor-ir__marker--pre")&&!(n.classList.contains("language-mermaid")||n.classList.contains("language-flowchart")||n.classList.contains("language-echarts")||n.classList.contains("language-mindmap")||n.classList.contains("language-plantuml")||n.classList.contains("language-abc")||n.classList.contains("language-graphviz")||n.classList.contains("language-math")||n.style.maxHeight.indexOf("px")>-1||e.classList.contains("vditor-preview")&&o>5)){var a=n.innerText;if(n.classList.contains("highlight-chroma")){var s=document.createElement("code");s.innerHTML=n.innerHTML,s.querySelectorAll(".highlight-ln").forEach((function(e){e.remove()})),a=s.innerText}var l=document.createElement("div");l.className="vditor-copy",l.innerHTML='<span aria-label="'+r.a[t].copy+"\"\nonmouseover=\"this.setAttribute('aria-label', '"+r.a[t].copy+"')\"\nclass=\"vditor-tooltipped vditor-tooltipped__w\"\nonclick=\"this.previousElementSibling.select();document.execCommand('copy');this.setAttribute('aria-label', '"+r.a[t].copied+'\')"><svg><use xlink:href="#vditor-icon-copy"></use></svg></span>';var c=document.createElement("textarea");c.value=Object(i.a)(a),l.insertAdjacentElement("afterbegin",c),n.before(l),n.style.maxHeight=window.outerHeight-40+"px"}}))}},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(2),i=n(5),o=function(e,t){void 0===t&&(t=r.a.CDN);var n=e.querySelectorAll(".language-flowchart");0!==n.length&&Object(i.a)(t+"/dist/js/flowchart.js/flowchart.min.js","vditorFlowchartScript").then((function(){n.forEach((function(e){if("true"!==e.getAttribute("data-processed")){var t=flowchart.parse(e.textContent);e.innerHTML="",t.drawSVG(e),e.setAttribute("data-processed","true")}}))}))}},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(2),i=n(5),o=function(e,t){void 0===t&&(t=r.a.CDN);var n=e.querySelectorAll(".language-graphviz");0!==n.length&&Object(i.a)(t+"/dist/js/graphviz/viz.js","vditorGraphVizScript").then((function(){n.forEach((function(e){if(!e.parentElement.classList.contains("vditor-wysiwyg__pre")&&!e.parentElement.classList.contains("vditor-ir__marker--pre")&&"true"!==e.getAttribute("data-processed")&&""!==e.textContent.trim()){try{var t=new Blob(["importScripts('"+document.getElementById("vditorGraphVizScript").src.replace("viz.js","full.render.js")+"');"],{type:"application/javascript"}),n=(window.URL||window.webkitURL).createObjectURL(t),r=new Worker(n);new Viz({worker:r}).renderSVGElement(e.textContent).then((function(t){e.innerHTML=t.outerHTML})).catch((function(t){e.innerHTML="graphviz render error: <br>"+t,e.className="vditor-reset--error"}))}catch(e){console.error("graphviz error",e)}e.setAttribute("data-processed","true")}}))}))}},function(e,t,n){"use strict";n.d(t,"a",(function(){return a}));var r=n(2),i=n(5),o=n(8),a=function(e,t,n){void 0===t&&(t=document),void 0===n&&(n=r.a.CDN);var a=e.style;r.a.CODE_THEME.includes(a)||(a="github");var s=document.getElementById("vditorHljsStyle"),l=n+"/dist/js/highlight.js/styles/"+a+".css";(s&&s.href!==l&&s.remove(),Object(o.a)(n+"/dist/js/highlight.js/styles/"+a+".css","vditorHljsStyle"),!1!==e.enable)&&(0!==t.querySelectorAll("pre > code").length&&Object(i.a)(n+"/dist/js/highlight.js/highlight.pack.js","vditorHljsScript").then((function(){t.querySelectorAll("pre > code").forEach((function(t){if(!t.parentElement.classList.contains("vditor-ir__marker--pre")&&!t.parentElement.classList.contains("vditor-wysiwyg__pre")&&!(t.classList.contains("language-mermaid")||t.classList.contains("language-flowchat")||t.classList.contains("language-echarts")||t.classList.contains("language-mindmap")||t.classList.contains("language-plantuml")||t.classList.contains("language-abc")||t.classList.contains("language-graphviz")||t.classList.contains("language-math"))&&(hljs.highlightBlock(t),e.lineNumber)){t.classList.add("vditor-linenumber");var n=t.querySelector(".vditor-linenumber__temp");n||((n=document.createElement("div")).className="vditor-linenumber__temp",t.insertAdjacentElement("beforeend",n));var r=getComputedStyle(t).whiteSpace,i=!1;"pre-wrap"!==r&&"pre-line"!==r||(i=!0);var o="",a=t.textContent.split(/\r\n|\r|\n/g);a.pop(),a.map((function(e){var t="";i&&(n.textContent=e||"\n",t=' style="height:'+n.getBoundingClientRect().height+'px"'),o+="<span"+t+"></span>"})),n.style.display="none",o='<span class="vditor-linenumber__rows">'+o+"</span>",t.insertAdjacentHTML("beforeend",o)}}))})))}},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(2),i=n(5),o=function(e,t,n){void 0===t&&(t=r.a.CDN);var o=e.querySelectorAll(".language-mermaid");0!==o.length&&Object(i.a)(t+"/dist/js/mermaid/mermaid.min.js","vditorMermaidScript").then((function(){var e={altFontFamily:"sans-serif",flowchart:{htmlLabels:!0,useMaxWidth:!0},fontFamily:"sans-serif",gantt:{leftPadding:75,rightPadding:20},securityLevel:"loose",sequence:{boxMargin:8,diagramMarginX:8,diagramMarginY:8,useMaxWidth:!0},startOnLoad:!1};"dark"===n&&(e.theme="dark",e.themeVariables={activationBkgColor:"hsl(180, 1.5873015873%, 28.3529411765%)",activationBorderColor:"#81B1DB",activeTaskBkgColor:"#81B1DB",activeTaskBorderColor:"#ffffff",actorBkg:"#1f2020",actorBorder:"#81B1DB",actorLineColor:"lightgrey",actorTextColor:"lightgrey",altBackground:"hsl(0, 0%, 40%)",altSectionBkgColor:"#333",arrowheadColor:"lightgrey",background:"#333",border1:"#81B1DB",border2:"rgba(255, 255, 255, 0.25)",classText:"#e0dfdf",clusterBkg:"hsl(180, 1.5873015873%, 28.3529411765%)",clusterBorder:"rgba(255, 255, 255, 0.25)",critBkgColor:"#E83737",critBorderColor:"#E83737",darkTextColor:"hsl(28.5714285714, 17.3553719008%, 86.2745098039%)",defaultLinkColor:"lightgrey",doneTaskBkgColor:"lightgrey",doneTaskBorderColor:"grey",edgeLabelBackground:"hsl(0, 0%, 34.4117647059%)",errorBkgColor:"#a44141",errorTextColor:"#ddd",fillType0:"#1f2020",fillType1:"hsl(180, 1.5873015873%, 28.3529411765%)",fillType2:"hsl(244, 1.5873015873%, 12.3529411765%)",fillType3:"hsl(244, 1.5873015873%, 28.3529411765%)",fillType4:"hsl(116, 1.5873015873%, 12.3529411765%)",fillType5:"hsl(116, 1.5873015873%, 28.3529411765%)",fillType6:"hsl(308, 1.5873015873%, 12.3529411765%)",fillType7:"hsl(308, 1.5873015873%, 28.3529411765%)",fontFamily:'"trebuchet ms", verdana, arial',fontSize:"16px",gridColor:"lightgrey",labelBackground:"#181818",labelBoxBkgColor:"#1f2020",labelBoxBorderColor:"#81B1DB",labelColor:"#ccc",labelTextColor:"lightgrey",lineColor:"lightgrey",loopTextColor:"lightgrey",mainBkg:"#1f2020",mainContrastColor:"lightgrey",nodeBkg:"#1f2020",nodeBorder:"#81B1DB",noteBkgColor:"#fff5ad",noteBorderColor:"rgba(255, 255, 255, 0.25)",noteTextColor:"#1f2020",primaryBorderColor:"hsl(180, 0%, 2.3529411765%)",primaryColor:"#1f2020",primaryTextColor:"#e0dfdf",secondBkg:"hsl(180, 1.5873015873%, 28.3529411765%)",secondaryBorderColor:"hsl(180, 0%, 18.3529411765%)",secondaryColor:"hsl(180, 1.5873015873%, 28.3529411765%)",secondaryTextColor:"rgb(183.8476190475, 181.5523809523, 181.5523809523)",sectionBkgColor:"hsl(52.9411764706, 28.813559322%, 58.431372549%)",sectionBkgColor2:"#EAE8D9",sequenceNumberColor:"black",signalColor:"lightgrey",signalTextColor:"lightgrey",taskBkgColor:"hsl(180, 1.5873015873%, 35.3529411765%)",taskBorderColor:"#ffffff",taskTextClickableColor:"#003163",taskTextColor:"hsl(28.5714285714, 17.3553719008%, 86.2745098039%)",taskTextDarkColor:"hsl(28.5714285714, 17.3553719008%, 86.2745098039%)",taskTextLightColor:"lightgrey",taskTextOutsideColor:"lightgrey",tertiaryBorderColor:"hsl(20, 0%, 2.3529411765%)",tertiaryColor:"hsl(20, 1.5873015873%, 12.3529411765%)",tertiaryTextColor:"rgb(222.9999999999, 223.6666666666, 223.9999999999)",textColor:"#ccc",titleColor:"#F9FFFE",todayLineColor:"#DB5757"}),mermaid.initialize(e),o.forEach((function(e){"true"!==e.getAttribute("data-processed")&&""!==e.textContent.trim()&&(mermaid.init(void 0,e),e.setAttribute("data-processed","true"))}))}))}},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(2),i=n(5),o=function(e,t,n){void 0===e&&(e=document),void 0===t&&(t=r.a.CDN);var o=e.querySelectorAll(".language-mindmap");o.length>0&&Object(i.a)(t+"/dist/js/echarts/echarts.min.js","vditorEchartsScript").then((function(){o.forEach((function(e){if(!e.parentElement.classList.contains("vditor-wysiwyg__pre")&&!e.parentElement.classList.contains("vditor-ir__marker--pre")){var t=e.getAttribute("data-code");if(t)try{if("true"===e.getAttribute("data-processed"))return;echarts.init(e,"dark"===n?"dark":void 0).setOption({series:[{data:[JSON.parse(decodeURIComponent(t))],initialTreeDepth:-1,itemStyle:{borderWidth:0,color:"#4285f4"},label:{backgroundColor:"#f6f8fa",borderColor:"#d1d5da",borderRadius:5,borderWidth:.5,color:"#586069",lineHeight:20,offset:[-5,0],padding:[0,5],position:"insideRight"},lineStyle:{color:"#d1d5da",width:1},roam:!0,symbol:function(e,t){var n;return(null===(n=null==t?void 0:t.data)||void 0===n?void 0:n.children)?"circle":"path://"},type:"tree"}],tooltip:{trigger:"item",triggerOn:"mousemove"}}),e.setAttribute("data-processed","true")}catch(t){e.className="vditor-reset--error",e.innerHTML="mindmap render error: <br>"+t}}}))}))}},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(2),i=n(5),o=function(e,t){void 0===e&&(e=document),void 0===t&&(t=r.a.CDN);var n=e.querySelectorAll(".language-plantuml");0!==n.length&&Object(i.a)(t+"/dist/js/plantuml/plantuml-encoder.min.js","vditorPlantumlScript").then((function(){n.forEach((function(e){if(!e.parentElement.classList.contains("vditor-wysiwyg__pre")&&!e.parentElement.classList.contains("vditor-ir__marker--pre")){var t=e.textContent.trim();if(t)try{e.innerHTML='<img src="http://www.plantuml.com/plantuml/svg/~1'+plantumlEncoder.encode(t)+'">'}catch(t){e.className="vditor-reset--error",e.innerHTML="plantuml render error: <br>"+t}}}))}))}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r=function(e){e&&e.querySelectorAll("a").forEach((function(e){var t=e.getAttribute("href");t&&(t.match(/^.+.(mp4|m4v|ogg|ogv|webm)$/)?function(e,t){e.insertAdjacentHTML("afterend",'<video controls="controls" src="'+t+'"></video>'),e.remove()}(e,t):t.match(/^.+.(mp3|wav|flac)$/)?function(e,t){e.insertAdjacentHTML("afterend",'<audio controls="controls" src="'+t+'"></audio>'),e.remove()}(e,t):function(e,t){var n=t.match(/\/\/(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))([\w|-]{11})(?:(?:[\?&]t=)(\S+))?/),r=t.match(/\/\/v\.youku\.com\/v_show\/id_(\w+)=*\.html/),i=t.match(/\/\/v\.qq\.com\/x\/cover\/.*\/([^\/]+)\.html\??.*/),o=t.match(/(?:www\.|\/\/)coub\.com\/view\/(\w+)/),a=t.match(/(?:www\.|\/\/)facebook\.com\/([^\/]+)\/videos\/([0-9]+)/),s=t.match(/.+dailymotion.com\/(video|hub)\/(\w+)\?/),l=t.match(/(?:www\.|\/\/)bilibili\.com\/video\/(\w+)/),c=t.match(/(?:www\.|\/\/)ted\.com\/talks\/(\w+)/);n&&11===n[1].length?(e.insertAdjacentHTML("afterend",'<iframe class="iframe__video" src="//www.youtube.com/embed/'+n[1]+(n[2]?"?start="+n[2]:"")+'"></iframe>'),e.remove()):r&&r[1]?(e.insertAdjacentHTML("afterend",'<iframe class="iframe__video" src="//player.youku.com/embed/'+r[1]+'"></iframe>'),e.remove()):i&&i[1]?(e.insertAdjacentHTML("afterend",'<iframe class="iframe__video" src="https://v.qq.com/txp/iframe/player.html?vid='+i[1]+'"></iframe>'),e.remove()):o&&o[1]?(e.insertAdjacentHTML("afterend",'<iframe class="iframe__video"\n src="//coub.com/embed/'+o[1]+'?muted=false&autostart=false&originalSize=true&startWithHD=true"></iframe>'),e.remove()):a&&a[0]?(e.insertAdjacentHTML("afterend",'<iframe class="iframe__video"\n src="https://www.facebook.com/plugins/video.php?href='+encodeURIComponent(a[0])+'"></iframe>'),e.remove()):s&&s[2]?(e.insertAdjacentHTML("afterend",'<iframe class="iframe__video"\n src="https://www.dailymotion.com/embed/video/'+s[2]+'"></iframe>'),e.remove()):l&&l[1]?(e.insertAdjacentHTML("afterend",'<iframe class="iframe__video"\n src="//player.bilibili.com/player.html?bvid='+l[1]+'"></iframe>'),e.remove()):c&&c[1]&&(e.insertAdjacentHTML("afterend",'<iframe class="iframe__video" src="//embed.ted.com/talks/'+c[1]+'"></iframe>'),e.remove())}(e,t))}))}},function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var r=n(4),i=function(e,t,n){void 0===t&&(t="zh_CN"),void 0===n&&(n="classic");var i=e.getBoundingClientRect();document.body.insertAdjacentHTML("beforeend",'<div class="vditor vditor-img'+("dark"===n?" vditor--dark":"")+'">\n <div class="vditor-img__bar">\n <span class="vditor-img__btn" data-deg="0">\n <svg><use xlink:href="#vditor-icon-redo"></use></svg>\n '+r.a[t].spin+"\n </span>\n <span class=\"vditor-img__btn\" onclick=\"this.parentElement.parentElement.outerHTML = '';document.body.style.overflow = ''\">\n X &nbsp;"+r.a[t].close+'\n </span>\n </div>\n <div class="vditor-img__img" onclick="this.parentElement.outerHTML = \'\';document.body.style.overflow = \'\'">\n <img style="width: '+e.width+"px;height:"+e.height+"px;transform: translate3d("+i.left+"px, "+(i.top-36)+'px, 0)" src="'+e.getAttribute("src")+'">\n </div>\n</div>'),document.body.style.overflow="hidden";var o=document.querySelector(".vditor-img img"),a="translate3d("+Math.max(0,window.innerWidth-e.naturalWidth)/2+"px, "+Math.max(0,window.innerHeight-36-e.naturalHeight)/2+"px, 0)";setTimeout((function(){o.setAttribute("style","transition: transform .3s ease-in-out;transform: "+a),setTimeout((function(){o.parentElement.scrollTo((o.parentElement.scrollWidth-o.parentElement.clientWidth)/2,(o.parentElement.scrollHeight-o.parentElement.clientHeight)/2)}),400)}));var s=document.querySelector(".vditor-img__btn");s.addEventListener("click",(function(){var t=parseInt(s.getAttribute("data-deg"),10)+90;t/90%2==1&&e.naturalWidth>o.parentElement.clientHeight?o.style.transform="translate3d("+Math.max(0,window.innerWidth-e.naturalWidth)/2+"px, "+(e.naturalWidth/2-e.naturalHeight/2)+"px, 0) rotateZ("+t+"deg)":o.style.transform=a+" rotateZ("+t+"deg)",s.setAttribute("data-deg",t.toString()),setTimeout((function(){o.parentElement.scrollTo((o.parentElement.scrollWidth-o.parentElement.clientWidth)/2,(o.parentElement.scrollHeight-o.parentElement.clientHeight)/2)}),400)}))}},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(2),i=n(8),o=function(e,t){void 0===t&&(t=r.a.CDN),r.a.CODE_THEME.includes(e)||(e="github");var n=document.getElementById("vditorHljsStyle"),o=t+"/dist/js/highlight.js/styles/"+e+".css";n?n.href!==o&&(n.remove(),Object(i.a)(o,"vditorHljsStyle")):Object(i.a)(o,"vditorHljsStyle")}},function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var r=n(6),i=n(7),o=function(e,t,n){var o="",a=[];if(Array.from(e.children).forEach((function(e,t){if(Object(r.a)(e)){if(n){var i=e.id.lastIndexOf("_");e.id=e.id.substring(0,-1===i?void 0:i)+"_"+t}a.push(e.id),o+=e.outerHTML.replace("<wbr>","")}})),""===o)return t.innerHTML="","";var s=document.createElement("div");if(n)n.lute.SetToC(!0),"wysiwyg"!==n.currentMode||n.preview.element.contains(e)?"ir"!==n.currentMode||n.preview.element.contains(e)?s.innerHTML=n.lute.HTML2VditorDOM("<p>[ToC]</p>"+o):s.innerHTML=n.lute.SpinVditorIRDOM("<p>[ToC]</p>"+o):s.innerHTML=n.lute.SpinVditorDOM("<p>[ToC]</p>"+o),n.lute.SetToC(n.options.preview.markdown.toc);else{t.classList.add("vditor-outline");var l=Lute.New();l.SetToC(!0),s.innerHTML=l.HTML2VditorDOM("<p>[ToC]</p>"+o)}var c=s.firstElementChild.querySelectorAll("li > span[data-target-id]");return c.forEach((function(e,t){e.nextElementSibling&&"UL"===e.nextElementSibling.tagName?e.innerHTML="<svg class='vditor-outline__action'><use xlink:href='#vditor-icon-down'></use></svg><span>"+e.innerHTML+"</span>":e.innerHTML="<svg></svg><span>"+e.innerHTML+"</span>",e.setAttribute("data-target-id",a[t])})),o=s.firstElementChild.innerHTML,0===c.length?(t.innerHTML="",o):(t.innerHTML=o,n&&Object(i.a)(t,{cdn:n.options.cdn,math:n.options.preview.math}),t.firstElementChild.addEventListener("click",(function(r){for(var i=r.target;i&&!i.isEqualNode(t);){if(i.classList.contains("vditor-outline__action")){i.classList.contains("vditor-outline__action--close")?(i.classList.remove("vditor-outline__action--close"),i.parentElement.nextElementSibling.setAttribute("style","display:block")):(i.classList.add("vditor-outline__action--close"),i.parentElement.nextElementSibling.setAttribute("style","display:none")),r.preventDefault(),r.stopPropagation();break}if(i.getAttribute("data-target-id")){r.preventDefault(),r.stopPropagation();var o=document.getElementById(i.getAttribute("data-target-id"));if(!o)return;if(n)if("auto"===n.options.height){var a=o.offsetTop+n.element.offsetTop;n.options.toolbarConfig.pin||(a+=n.toolbar.element.offsetHeight),window.scrollTo(window.scrollX,a)}else n.element.offsetTop<window.scrollY&&window.scrollTo(window.scrollX,n.element.offsetTop),n.preview.element.contains(e)?e.parentElement.scrollTop=o.offsetTop:e.scrollTop=o.offsetTop;else window.scrollTo(window.scrollX,o.offsetTop);break}i=i.parentElement}})),o)}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];for(var n={},i=function(e){for(var t in e)e.hasOwnProperty(t)&&("[object Object]"===Object.prototype.toString.call(e[t])?n[t]=r(n[t],e[t]):n[t]=e[t])},o=0;o<e.length;o++)i(e[o]);return n}},function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var r=function(e){var t=Lute.New();return t.PutEmojis(e.emojis),t.SetEmojiSite(e.emojiSite),t.SetHeadingAnchor(e.headingAnchor),t.SetInlineMathAllowDigitAfterOpenMarker(e.inlineMathDigit),t.SetAutoSpace(e.autoSpace),t.SetToC(e.toc),t.SetFootnotes(e.footnotes),t.SetFixTermTypo(e.fixTermTypo),t.SetVditorCodeBlockPreview(e.codeBlockPreview),t.SetVditorMathBlockPreview(e.mathBlockPreview),t.SetSanitize(e.sanitize),t.SetChineseParagraphBeginningSpace(e.paragraphBeginningSpace),t.SetRenderListStyle(e.listStyle),t.SetLinkBase(e.linkBase),t.SetLinkPrefix(e.linkPrefix),t.SetMark(e.mark),e.lazyLoadImage&&t.SetImageLazyLoading(e.lazyLoadImage),t}},function(e,t,n){"use strict";n.r(t);var r=n(11),i=n(12),o=n(13),a=n(14),s=n(15),l=n(16),c=function(e){void 0===e&&(e=document);var t=function(e){var t=document.createElement("img");t.src=e.getAttribute("data-src"),t.addEventListener("load",(function(){e.getAttribute("style")||e.getAttribute("class")||e.getAttribute("width")||e.getAttribute("height")||t.naturalHeight>t.naturalWidth&&t.naturalWidth/t.naturalHeight<document.querySelector(".vditor-reset").clientWidth/(window.innerHeight-40)&&t.naturalHeight>window.innerHeight-40&&(e.style.height=window.innerHeight-40+"px"),e.src=t.src})),e.removeAttribute("data-src")};if(!("IntersectionObserver"in window))return e.querySelectorAll("img").forEach((function(e){e.getAttribute("data-src")&&t(e)})),!1;window.vditorImageIntersectionObserver?(window.vditorImageIntersectionObserver.disconnect(),e.querySelectorAll("img").forEach((function(e){window.vditorImageIntersectionObserver.observe(e)}))):(window.vditorImageIntersectionObserver=new IntersectionObserver((function(e){e.forEach((function(e){(void 0===e.isIntersecting?0!==e.intersectionRatio:e.isIntersecting)&&e.target.getAttribute("data-src")&&t(e.target)}))})),e.querySelectorAll("img").forEach((function(e){window.vditorImageIntersectionObserver.observe(e)})))},d=n(7),u=n(20),m=n(17),f=n(18),p=n(23),g=n(19),h=n(2),v=n(10),b=n(5),y=n(1),w=n(24),S=n(25),T=n(0),C=function(e,t){if(void 0===t&&(t="zh_CN"),"undefined"!=typeof speechSynthesis&&"undefined"!=typeof SpeechSynthesisUtterance){var n='<svg><use xlink:href="#vditor-icon-play"></use></svg>',r='<svg><use xlink:href="#vditor-icon-pause"></use></svg>',i=document.querySelector(".vditor-speech");if(!i){(i=document.createElement("div")).className="vditor-speech",document.body.insertAdjacentElement("beforeend",i);var o=function(){var e,n;return speechSynthesis.getVoices().forEach((function(r){r.lang===t.replace("_","-")&&(e=r),r.default&&(n=r)})),e||(e=n),e};void 0!==speechSynthesis.onvoiceschanged&&(speechSynthesis.onvoiceschanged=o);var a=o();i.onclick=function(){if("vditor-speech"===i.className){var e=new SpeechSynthesisUtterance(i.getAttribute("data-text"));e.voice=a,e.onend=function(){i.className="vditor-speech",speechSynthesis.cancel(),i.innerHTML=n},speechSynthesis.speak(e),i.className="vditor-speech vditor-speech--current",i.innerHTML=r}else speechSynthesis.speaking&&(speechSynthesis.paused?(speechSynthesis.resume(),i.innerHTML=r):(speechSynthesis.pause(),i.innerHTML=n));Object(T.h)(window.vditorSpeechRange)},document.body.addEventListener("click",(function(){""===getSelection().toString().trim()&&"block"===i.style.display&&(i.className="vditor-speech",speechSynthesis.cancel(),i.style.display="none")}))}e.addEventListener("mouseup",(function(e){var t=getSelection().toString().trim();if(speechSynthesis.cancel(),""!==getSelection().toString().trim()){window.vditorSpeechRange=getSelection().getRangeAt(0).cloneRange();var r=getSelection().getRangeAt(0).getBoundingClientRect();i.innerHTML=n,i.style.display="block",i.style.top=r.top+r.height+document.querySelector("html").scrollTop-20+"px",i.style.left=e.screenX+2+"px",i.setAttribute("data-text",t)}else"block"===i.style.display&&(i.className="vditor-speech",i.style.display="none")}))}},E=function(e,t,n,r){return new(n||(n=Promise))((function(i,o){function a(e){try{l(r.next(e))}catch(e){o(e)}}function s(e){try{l(r.throw(e))}catch(e){o(e)}}function l(e){var t;e.done?i(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}l((r=r.apply(e,t||[])).next())}))},L=function(e,t){var n,r,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(i=2&o[0]?r.return:o[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,o[1])).done)return i;switch(r=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return a.label++,{value:o[1],done:!1};case 5:a.label++,r=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){a.label=o[1];break}if(6===o[0]&&a.label<i[1]){a.label=i[1],i=o;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(o);break}i[2]&&a.ops.pop(),a.trys.pop();continue}o=t.call(e,a)}catch(e){o=[6,e],r=0}finally{n=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}},x=function(e){var t={anchor:0,cdn:h.a.CDN,customEmoji:{},emojiPath:(e&&e.emojiPath||h.a.CDN)+"/dist/images/emoji",hljs:h.a.HLJS_OPTIONS,icon:"ant",lang:"zh_CN",markdown:h.a.MARKDOWN_OPTIONS,math:h.a.MATH_OPTIONS,mode:"light",speech:{enable:!1},theme:h.a.THEME_OPTIONS};return Object(w.a)(t,e)},k=function(e,t){var n=x(t);return Object(b.a)(n.cdn+"/dist/js/lute/lute.min.js","vditorLuteScript").then((function(){var r=Object(S.a)({autoSpace:n.markdown.autoSpace,codeBlockPreview:n.markdown.codeBlockPreview,emojiSite:n.emojiPath,emojis:n.customEmoji,fixTermTypo:n.markdown.fixTermTypo,footnotes:n.markdown.footnotes,headingAnchor:0!==n.anchor,inlineMathDigit:n.math.inlineDigit,lazyLoadImage:n.lazyLoadImage,linkBase:n.markdown.linkBase,linkPrefix:n.markdown.linkPrefix,listStyle:n.markdown.listStyle,mark:n.markdown.mark,mathBlockPreview:n.markdown.mathBlockPreview,paragraphBeginningSpace:n.markdown.paragraphBeginningSpace,sanitize:n.markdown.sanitize,toc:n.markdown.toc});return(null==t?void 0:t.renderers)&&r.SetJSRenderers({renderers:{Md2HTML:t.renderers}}),r.SetHeadingID(!0),r.Md2HTML(e)}))},j=function(e,t,n){return E(void 0,void 0,void 0,(function(){var p,h;return L(this,(function(w){switch(w.label){case 0:return p=x(n),[4,k(t,p)];case 1:return h=w.sent(),p.transform&&(h=p.transform(h)),e.innerHTML=h,e.classList.add("vditor-reset"),Object(v.a)(p.theme.current,p.theme.path),1===p.anchor&&e.classList.add("vditor-reset--anchor"),Object(o.a)(e,p.lang),Object(l.a)(p.hljs,e,p.cdn),Object(d.a)(e,{cdn:p.cdn,math:p.math}),Object(m.a)(e,p.cdn,p.mode),Object(a.a)(e,p.cdn),Object(s.a)(e,p.cdn),Object(i.a)(e,p.cdn,p.mode),Object(f.a)(e,p.cdn,p.mode),Object(g.a)(e,p.cdn),Object(r.a)(e,p.cdn),Object(u.a)(e),p.speech.enable&&C(e,p.lang),0!==p.anchor&&(S=p.anchor,document.querySelectorAll(".vditor-anchor").forEach((function(e){1===S&&e.classList.add("vditor-anchor--left"),e.onclick=function(){var t=e.getAttribute("href").substr(1),n=document.getElementById("vditorAnchor-"+t).offsetTop;document.querySelector("html").scrollTop=n}})),window.onhashchange=function(){var e=document.getElementById("vditorAnchor-"+decodeURIComponent(window.location.hash.substr(1)));e&&(document.querySelector("html").scrollTop=e.offsetTop)}),p.after&&p.after(),p.lazyLoadImage&&c(e),p.icon&&Object(b.a)(p.cdn+"/dist/js/icons/"+p.icon+".js","vditorIconScript"),e.addEventListener("click",(function(t){var n=Object(y.f)(t.target,"SPAN");if(n&&Object(y.e)(n,"vditor-toc")){var r=e.querySelector("#"+n.getAttribute("data-target-id"));r&&window.scrollTo(window.scrollX,r.offsetTop)}else;})),[2]}var S}))}))},O=n(21),A=n(22),M=function(){function e(){}return e.previewImage=O.a,e.codeRender=o.a,e.graphvizRender=s.a,e.highlightRender=l.a,e.mathRender=d.a,e.mermaidRender=m.a,e.flowchartRender=a.a,e.chartRender=i.a,e.abcRender=r.a,e.mindmapRender=f.a,e.plantumlRender=g.a,e.outlineRender=p.a,e.mediaRender=u.a,e.speechRender=C,e.lazyLoadImageRender=c,e.md2html=k,e.preview=j,e.setCodeTheme=A.a,e.setContentTheme=v.a,e}();t.default=M}]).default}));
27
+ (function webpackUniversalModuleDefinition(root, factory) {
28
+ if(typeof exports === 'object' && typeof module === 'object')
29
+ module.exports = factory();
30
+ else if(typeof define === 'function' && define.amd)
31
+ define([], factory);
32
+ else if(typeof exports === 'object')
33
+ exports["Vditor"] = factory();
34
+ else
35
+ root["Vditor"] = factory();
36
+ })(this, function() {
37
+ return /******/ (() => { // webpackBootstrap
38
+ /******/ "use strict";
39
+ /******/ var __webpack_modules__ = ({
40
+
41
+ /***/ 260:
42
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
43
+
44
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
45
+ /* harmony export */ "g": () => (/* binding */ Constants)
46
+ /* harmony export */ });
47
+ /* unused harmony export VDITOR_VERSION */
48
+ var _VDITOR_VERSION = (/* unused pure expression or super */ null && ("3.8.8"));
49
+
50
+ var Constants = /** @class */ (function () {
51
+ function Constants() {
52
+ }
53
+ Constants.ZWSP = "\u200b";
54
+ Constants.DROP_EDITOR = "application/editor";
55
+ Constants.MOBILE_WIDTH = 520;
56
+ Constants.CLASS_MENU_DISABLED = "vditor-menu--disabled";
57
+ Constants.EDIT_TOOLBARS = ["emoji", "headings", "bold", "italic", "strike", "link", "list",
58
+ "ordered-list", "outdent", "indent", "check", "line", "quote", "code", "inline-code", "insert-after",
59
+ "insert-before", "upload", "record", "table"];
60
+ Constants.CODE_THEME = ["abap", "algol", "algol_nu", "arduino", "autumn", "borland", "bw",
61
+ "colorful", "dracula", "emacs", "friendly", "fruity", "github", "igor", "lovelace", "manni", "monokai",
62
+ "monokailight", "murphy", "native", "paraiso-dark", "paraiso-light", "pastie", "perldoc", "pygments",
63
+ "rainbow_dash", "rrt", "solarized-dark", "solarized-dark256", "solarized-light", "swapoff", "tango", "trac",
64
+ "vim", "vs", "xcode", "ant-design"];
65
+ Constants.CODE_LANGUAGES = ["mermaid", "echarts", "mindmap", "plantuml", "abc", "graphviz", "flowchart", "apache",
66
+ "js", "ts", "html",
67
+ // common
68
+ "properties", "apache", "bash", "c", "csharp", "cpp", "css", "coffeescript", "diff", "go", "xml", "http",
69
+ "json", "java", "javascript", "kotlin", "less", "lua", "makefile", "markdown", "nginx", "objectivec", "php",
70
+ "php-template", "perl", "plaintext", "python", "python-repl", "r", "ruby", "rust", "scss", "sql", "shell",
71
+ "swift", "ini", "typescript", "vbnet", "yaml",
72
+ "ada", "clojure", "dart", "erb", "fortran", "gradle", "haskell", "julia", "julia-repl", "lisp", "matlab",
73
+ "pgsql", "powershell", "sql_more", "stata", "cmake", "mathematica"];
74
+ Constants.CDN = "https://cdn.jsdelivr.net/npm/vditor@" + "3.8.8";
75
+ Constants.MARKDOWN_OPTIONS = {
76
+ autoSpace: false,
77
+ codeBlockPreview: true,
78
+ fixTermTypo: false,
79
+ footnotes: true,
80
+ linkBase: "",
81
+ linkPrefix: "",
82
+ listStyle: false,
83
+ mark: false,
84
+ mathBlockPreview: true,
85
+ paragraphBeginningSpace: false,
86
+ sanitize: true,
87
+ toc: false,
88
+ };
89
+ Constants.HLJS_OPTIONS = {
90
+ enable: true,
91
+ lineNumber: false,
92
+ style: "github",
93
+ };
94
+ Constants.MATH_OPTIONS = {
95
+ engine: "KaTeX",
96
+ inlineDigit: false,
97
+ macros: {},
98
+ };
99
+ Constants.THEME_OPTIONS = {
100
+ current: "light",
101
+ list: {
102
+ "ant-design": "Ant Design",
103
+ "dark": "Dark",
104
+ "light": "Light",
105
+ "wechat": "WeChat",
106
+ },
107
+ path: Constants.CDN + "/dist/css/content-theme",
108
+ };
109
+ return Constants;
110
+ }());
111
+
112
+
113
+
114
+ /***/ }),
115
+
116
+ /***/ 369:
117
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
118
+
119
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
120
+ /* harmony export */ "Q": () => (/* binding */ abcRender)
121
+ /* harmony export */ });
122
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(260);
123
+ /* harmony import */ var _util_addScript__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(228);
124
+ /* harmony import */ var _adapterRender__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(46);
125
+
126
+
127
+
128
+ var abcRender = function (element, cdn) {
129
+ if (element === void 0) { element = document; }
130
+ if (cdn === void 0) { cdn = _constants__WEBPACK_IMPORTED_MODULE_0__/* .Constants.CDN */ .g.CDN; }
131
+ var abcElements = _adapterRender__WEBPACK_IMPORTED_MODULE_1__.abcRenderAdapter.getElements(element);
132
+ if (abcElements.length > 0) {
133
+ (0,_util_addScript__WEBPACK_IMPORTED_MODULE_2__/* .addScript */ .G)(cdn + "/dist/js/abcjs/abcjs_basic.min.js", "vditorAbcjsScript").then(function () {
134
+ abcElements.forEach(function (item) {
135
+ if (item.parentElement.classList.contains("vditor-wysiwyg__pre") ||
136
+ item.parentElement.classList.contains("vditor-ir__marker--pre")) {
137
+ return;
138
+ }
139
+ if (item.getAttribute("data-processed") === "true") {
140
+ return;
141
+ }
142
+ ABCJS.renderAbc(item, _adapterRender__WEBPACK_IMPORTED_MODULE_1__.abcRenderAdapter.getCode(item).trim());
143
+ item.style.overflowX = "auto";
144
+ item.setAttribute("data-processed", "true");
145
+ });
146
+ });
147
+ }
148
+ };
149
+
150
+
151
+ /***/ }),
152
+
153
+ /***/ 46:
154
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
155
+
156
+ __webpack_require__.r(__webpack_exports__);
157
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
158
+ /* harmony export */ "mathRenderAdapter": () => (/* binding */ mathRenderAdapter),
159
+ /* harmony export */ "mermaidRenderAdapter": () => (/* binding */ mermaidRenderAdapter),
160
+ /* harmony export */ "mindmapRenderAdapter": () => (/* binding */ mindmapRenderAdapter),
161
+ /* harmony export */ "chartRenderAdapter": () => (/* binding */ chartRenderAdapter),
162
+ /* harmony export */ "abcRenderAdapter": () => (/* binding */ abcRenderAdapter),
163
+ /* harmony export */ "graphvizRenderAdapter": () => (/* binding */ graphvizRenderAdapter),
164
+ /* harmony export */ "flowchartRenderAdapter": () => (/* binding */ flowchartRenderAdapter),
165
+ /* harmony export */ "plantumlRenderAdapter": () => (/* binding */ plantumlRenderAdapter)
166
+ /* harmony export */ });
167
+ var mathRenderAdapter = {
168
+ getCode: function (mathElement) { return mathElement.textContent; },
169
+ getElements: function (element) { return element.querySelectorAll(".language-math"); },
170
+ };
171
+ var mermaidRenderAdapter = {
172
+ /** 不仅要返回code,并且需要将 code 设置为 el 的 innerHTML */
173
+ getCode: function (el) { return el.textContent; },
174
+ getElements: function (element) { return element.querySelectorAll(".language-mermaid"); },
175
+ };
176
+ var mindmapRenderAdapter = {
177
+ getCode: function (el) { return el.getAttribute("data-code"); },
178
+ getElements: function (el) { return el.querySelectorAll(".language-mindmap"); },
179
+ };
180
+ var chartRenderAdapter = {
181
+ getCode: function (el) { return el.innerText; },
182
+ getElements: function (el) { return el.querySelectorAll(".language-echarts"); },
183
+ };
184
+ var abcRenderAdapter = {
185
+ getCode: function (el) { return el.textContent; },
186
+ getElements: function (el) { return el.querySelectorAll(".language-abc"); },
187
+ };
188
+ var graphvizRenderAdapter = {
189
+ getCode: function (el) { return el.textContent; },
190
+ getElements: function (el) { return el.querySelectorAll(".language-graphviz"); },
191
+ };
192
+ var flowchartRenderAdapter = {
193
+ getCode: function (el) { return el.textContent; },
194
+ getElements: function (el) { return el.querySelectorAll(".language-flowchart"); },
195
+ };
196
+ var plantumlRenderAdapter = {
197
+ getCode: function (el) { return el.textContent; },
198
+ getElements: function (el) { return el.querySelectorAll(".language-plantuml"); },
199
+ };
200
+
201
+
202
+ /***/ }),
203
+
204
+ /***/ 726:
205
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
206
+
207
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
208
+ /* harmony export */ "p": () => (/* binding */ chartRender)
209
+ /* harmony export */ });
210
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(260);
211
+ /* harmony import */ var _util_addScript__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(228);
212
+ /* harmony import */ var _adapterRender__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(46);
213
+
214
+
215
+
216
+ var chartRender = function (element, cdn, theme) {
217
+ if (element === void 0) { element = document; }
218
+ if (cdn === void 0) { cdn = _constants__WEBPACK_IMPORTED_MODULE_0__/* .Constants.CDN */ .g.CDN; }
219
+ var echartsElements = _adapterRender__WEBPACK_IMPORTED_MODULE_1__.chartRenderAdapter.getElements(element);
220
+ if (echartsElements.length > 0) {
221
+ (0,_util_addScript__WEBPACK_IMPORTED_MODULE_2__/* .addScript */ .G)(cdn + "/dist/js/echarts/echarts.min.js", "vditorEchartsScript").then(function () {
222
+ echartsElements.forEach(function (e) {
223
+ if (e.parentElement.classList.contains("vditor-wysiwyg__pre") ||
224
+ e.parentElement.classList.contains("vditor-ir__marker--pre")) {
225
+ return;
226
+ }
227
+ var text = _adapterRender__WEBPACK_IMPORTED_MODULE_1__.chartRenderAdapter.getCode(e).trim();
228
+ if (!text) {
229
+ return;
230
+ }
231
+ try {
232
+ if (e.getAttribute("data-processed") === "true") {
233
+ return;
234
+ }
235
+ var option = JSON.parse(text);
236
+ echarts.init(e, theme === "dark" ? "dark" : undefined).setOption(option);
237
+ e.setAttribute("data-processed", "true");
238
+ }
239
+ catch (error) {
240
+ e.className = "vditor-reset--error";
241
+ e.innerHTML = "echarts render error: <br>" + error;
242
+ }
243
+ });
244
+ });
245
+ }
246
+ };
247
+
248
+
249
+ /***/ }),
250
+
251
+ /***/ 23:
252
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
253
+
254
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
255
+ /* harmony export */ "O": () => (/* binding */ codeRender)
256
+ /* harmony export */ });
257
+ /* harmony import */ var _util_code160to32__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(769);
258
+
259
+ var codeRender = function (element) {
260
+ element.querySelectorAll("pre > code").forEach(function (e, index) {
261
+ if (e.parentElement.classList.contains("vditor-wysiwyg__pre") ||
262
+ e.parentElement.classList.contains("vditor-ir__marker--pre")) {
263
+ return;
264
+ }
265
+ if (e.classList.contains("language-mermaid") || e.classList.contains("language-flowchart") ||
266
+ e.classList.contains("language-echarts") || e.classList.contains("language-mindmap") ||
267
+ e.classList.contains("language-plantuml") ||
268
+ e.classList.contains("language-abc") || e.classList.contains("language-graphviz") ||
269
+ e.classList.contains("language-math")) {
270
+ return;
271
+ }
272
+ if (e.style.maxHeight.indexOf("px") > -1) {
273
+ return;
274
+ }
275
+ // 避免预览区在渲染后由于代码块过多产生性能问题 https://github.com/b3log/vditor/issues/67
276
+ if (element.classList.contains("vditor-preview") && index > 5) {
277
+ return;
278
+ }
279
+ var codeText = e.innerText;
280
+ if (e.classList.contains("highlight-chroma")) {
281
+ var codeElement = document.createElement("code");
282
+ codeElement.innerHTML = e.innerHTML;
283
+ codeElement.querySelectorAll(".highlight-ln").forEach(function (item) {
284
+ item.remove();
285
+ });
286
+ codeText = codeElement.innerText;
287
+ }
288
+ var divElement = document.createElement("div");
289
+ divElement.className = "vditor-copy";
290
+ divElement.innerHTML = "<span aria-label=\"" + window.VditorI18n.copy + "\"\nonmouseover=\"this.setAttribute('aria-label', '" + window.VditorI18n.copy + "')\"\nclass=\"vditor-tooltipped vditor-tooltipped__w\"\nonclick=\"this.previousElementSibling.select();document.execCommand('copy');" +
291
+ ("this.setAttribute('aria-label', '" + window.VditorI18n.copied + "')\"><svg><use xlink:href=\"#vditor-icon-copy\"></use></svg></span>");
292
+ var textarea = document.createElement("textarea");
293
+ textarea.value = (0,_util_code160to32__WEBPACK_IMPORTED_MODULE_0__/* .code160to32 */ .X)(codeText);
294
+ divElement.insertAdjacentElement("afterbegin", textarea);
295
+ e.before(divElement);
296
+ e.style.maxHeight = (window.outerHeight - 40) + "px";
297
+ });
298
+ };
299
+
300
+
301
+ /***/ }),
302
+
303
+ /***/ 383:
304
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
305
+
306
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
307
+ /* harmony export */ "P": () => (/* binding */ flowchartRender)
308
+ /* harmony export */ });
309
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(260);
310
+ /* harmony import */ var _util_addScript__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(228);
311
+ /* harmony import */ var _adapterRender__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(46);
312
+
313
+
314
+
315
+ var flowchartRender = function (element, cdn) {
316
+ if (cdn === void 0) { cdn = _constants__WEBPACK_IMPORTED_MODULE_0__/* .Constants.CDN */ .g.CDN; }
317
+ var flowchartElements = _adapterRender__WEBPACK_IMPORTED_MODULE_1__.flowchartRenderAdapter.getElements(element);
318
+ if (flowchartElements.length === 0) {
319
+ return;
320
+ }
321
+ (0,_util_addScript__WEBPACK_IMPORTED_MODULE_2__/* .addScript */ .G)(cdn + "/dist/js/flowchart.js/flowchart.min.js", "vditorFlowchartScript").then(function () {
322
+ flowchartElements.forEach(function (item) {
323
+ if (item.getAttribute("data-processed") === "true") {
324
+ return;
325
+ }
326
+ var flowchartObj = flowchart.parse(_adapterRender__WEBPACK_IMPORTED_MODULE_1__.flowchartRenderAdapter.getCode(item));
327
+ item.innerHTML = "";
328
+ flowchartObj.drawSVG(item);
329
+ item.setAttribute("data-processed", "true");
330
+ });
331
+ });
332
+ };
333
+
334
+
335
+ /***/ }),
336
+
337
+ /***/ 890:
338
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
339
+
340
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
341
+ /* harmony export */ "v": () => (/* binding */ graphvizRender)
342
+ /* harmony export */ });
343
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(260);
344
+ /* harmony import */ var _util_addScript__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(228);
345
+ /* harmony import */ var _adapterRender__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(46);
346
+
347
+
348
+
349
+ var graphvizRender = function (element, cdn) {
350
+ if (cdn === void 0) { cdn = _constants__WEBPACK_IMPORTED_MODULE_0__/* .Constants.CDN */ .g.CDN; }
351
+ var graphvizElements = _adapterRender__WEBPACK_IMPORTED_MODULE_1__.graphvizRenderAdapter.getElements(element);
352
+ if (graphvizElements.length === 0) {
353
+ return;
354
+ }
355
+ (0,_util_addScript__WEBPACK_IMPORTED_MODULE_2__/* .addScript */ .G)(cdn + "/dist/js/graphviz/viz.js", "vditorGraphVizScript").then(function () {
356
+ graphvizElements.forEach(function (e) {
357
+ var code = _adapterRender__WEBPACK_IMPORTED_MODULE_1__.graphvizRenderAdapter.getCode(e);
358
+ if (e.parentElement.classList.contains("vditor-wysiwyg__pre") ||
359
+ e.parentElement.classList.contains("vditor-ir__marker--pre")) {
360
+ return;
361
+ }
362
+ if (e.getAttribute("data-processed") === "true" || code.trim() === "") {
363
+ return;
364
+ }
365
+ try {
366
+ var blob = new Blob(["importScripts('" + document.getElementById("vditorGraphVizScript").src.replace("viz.js", "full.render.js") + "');"], { type: "application/javascript" });
367
+ var url = window.URL || window.webkitURL;
368
+ var blobUrl = url.createObjectURL(blob);
369
+ var worker = new Worker(blobUrl);
370
+ new Viz({ worker: worker })
371
+ .renderSVGElement(code).then(function (result) {
372
+ e.innerHTML = result.outerHTML;
373
+ }).catch(function (error) {
374
+ e.innerHTML = "graphviz render error: <br>" + error;
375
+ e.className = "vditor-reset--error";
376
+ });
377
+ }
378
+ catch (e) {
379
+ console.error("graphviz error", e);
380
+ }
381
+ e.setAttribute("data-processed", "true");
382
+ });
383
+ });
384
+ };
385
+
386
+
387
+ /***/ }),
388
+
389
+ /***/ 93:
390
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
391
+
392
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
393
+ /* harmony export */ "s": () => (/* binding */ highlightRender)
394
+ /* harmony export */ });
395
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(260);
396
+ /* harmony import */ var _util_addScript__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(228);
397
+ /* harmony import */ var _util_addStyle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(946);
398
+
399
+
400
+
401
+ var highlightRender = function (hljsOption, element, cdn) {
402
+ if (element === void 0) { element = document; }
403
+ if (cdn === void 0) { cdn = _constants__WEBPACK_IMPORTED_MODULE_0__/* .Constants.CDN */ .g.CDN; }
404
+ var style = hljsOption.style;
405
+ if (!_constants__WEBPACK_IMPORTED_MODULE_0__/* .Constants.CODE_THEME.includes */ .g.CODE_THEME.includes(style)) {
406
+ style = "github";
407
+ }
408
+ var vditorHljsStyle = document.getElementById("vditorHljsStyle");
409
+ var href = cdn + "/dist/js/highlight.js/styles/" + style + ".css";
410
+ if (vditorHljsStyle && vditorHljsStyle.href !== href) {
411
+ vditorHljsStyle.remove();
412
+ }
413
+ (0,_util_addStyle__WEBPACK_IMPORTED_MODULE_1__/* .addStyle */ .c)(cdn + "/dist/js/highlight.js/styles/" + style + ".css", "vditorHljsStyle");
414
+ if (hljsOption.enable === false) {
415
+ return;
416
+ }
417
+ var codes = element.querySelectorAll("pre > code");
418
+ if (codes.length === 0) {
419
+ return;
420
+ }
421
+ (0,_util_addScript__WEBPACK_IMPORTED_MODULE_2__/* .addScript */ .G)(cdn + "/dist/js/highlight.js/highlight.pack.js", "vditorHljsScript").then(function () {
422
+ element.querySelectorAll("pre > code").forEach(function (block) {
423
+ // ir & wysiwyg 区域不渲染
424
+ if (block.parentElement.classList.contains("vditor-ir__marker--pre") ||
425
+ block.parentElement.classList.contains("vditor-wysiwyg__pre")) {
426
+ return;
427
+ }
428
+ if (block.classList.contains("language-mermaid") || block.classList.contains("language-flowchart") ||
429
+ block.classList.contains("language-echarts") || block.classList.contains("language-mindmap") ||
430
+ block.classList.contains("language-plantuml") ||
431
+ block.classList.contains("language-abc") || block.classList.contains("language-graphviz") ||
432
+ block.classList.contains("language-math")) {
433
+ return;
434
+ }
435
+ hljs.highlightElement(block);
436
+ if (!hljsOption.lineNumber) {
437
+ return;
438
+ }
439
+ block.classList.add("vditor-linenumber");
440
+ var linenNumberTemp = block.querySelector(".vditor-linenumber__temp");
441
+ if (!linenNumberTemp) {
442
+ linenNumberTemp = document.createElement("div");
443
+ linenNumberTemp.className = "vditor-linenumber__temp";
444
+ block.insertAdjacentElement("beforeend", linenNumberTemp);
445
+ }
446
+ var whiteSpace = getComputedStyle(block).whiteSpace;
447
+ var isSoftWrap = false;
448
+ if (whiteSpace === "pre-wrap" || whiteSpace === "pre-line") {
449
+ isSoftWrap = true;
450
+ }
451
+ var lineNumberHTML = "";
452
+ var lineList = block.textContent.split(/\r\n|\r|\n/g);
453
+ lineList.pop();
454
+ lineList.map(function (line) {
455
+ var lineHeight = "";
456
+ if (isSoftWrap) {
457
+ linenNumberTemp.textContent = line || "\n";
458
+ lineHeight = " style=\"height:" + linenNumberTemp.getBoundingClientRect().height + "px\"";
459
+ }
460
+ lineNumberHTML += "<span" + lineHeight + "></span>";
461
+ });
462
+ linenNumberTemp.style.display = "none";
463
+ lineNumberHTML = "<span class=\"vditor-linenumber__rows\">" + lineNumberHTML + "</span>";
464
+ block.insertAdjacentHTML("beforeend", lineNumberHTML);
465
+ });
466
+ });
467
+ };
468
+
469
+
470
+ /***/ }),
471
+
472
+ /***/ 323:
473
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
474
+
475
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
476
+ /* harmony export */ "H": () => (/* binding */ mathRender)
477
+ /* harmony export */ });
478
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(260);
479
+ /* harmony import */ var _util_addScript__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(228);
480
+ /* harmony import */ var _util_addStyle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(946);
481
+ /* harmony import */ var _util_code160to32__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(769);
482
+ /* harmony import */ var _adapterRender__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(46);
483
+
484
+
485
+
486
+
487
+
488
+ var mathRender = function (element, options) {
489
+ var mathElements = _adapterRender__WEBPACK_IMPORTED_MODULE_1__.mathRenderAdapter.getElements(element);
490
+ if (mathElements.length === 0) {
491
+ return;
492
+ }
493
+ var defaultOptions = {
494
+ cdn: _constants__WEBPACK_IMPORTED_MODULE_0__/* .Constants.CDN */ .g.CDN,
495
+ math: {
496
+ engine: "KaTeX",
497
+ inlineDigit: false,
498
+ macros: {},
499
+ },
500
+ };
501
+ if (options && options.math) {
502
+ options.math =
503
+ Object.assign({}, defaultOptions.math, options.math);
504
+ }
505
+ options = Object.assign({}, defaultOptions, options);
506
+ if (options.math.engine === "KaTeX") {
507
+ (0,_util_addStyle__WEBPACK_IMPORTED_MODULE_2__/* .addStyle */ .c)(options.cdn + "/dist/js/katex/katex.min.css", "vditorKatexStyle");
508
+ (0,_util_addScript__WEBPACK_IMPORTED_MODULE_3__/* .addScript */ .G)(options.cdn + "/dist/js/katex/katex.min.js", "vditorKatexScript").then(function () {
509
+ mathElements.forEach(function (mathElement) {
510
+ if (mathElement.parentElement.classList.contains("vditor-wysiwyg__pre") ||
511
+ mathElement.parentElement.classList.contains("vditor-ir__marker--pre")) {
512
+ return;
513
+ }
514
+ if (mathElement.getAttribute("data-math")) {
515
+ return;
516
+ }
517
+ var math = (0,_util_code160to32__WEBPACK_IMPORTED_MODULE_4__/* .code160to32 */ .X)(_adapterRender__WEBPACK_IMPORTED_MODULE_1__.mathRenderAdapter.getCode(mathElement));
518
+ mathElement.setAttribute("data-math", math);
519
+ try {
520
+ mathElement.innerHTML = katex.renderToString(math, {
521
+ displayMode: mathElement.tagName === "DIV",
522
+ output: "html",
523
+ });
524
+ }
525
+ catch (e) {
526
+ mathElement.innerHTML = e.message;
527
+ mathElement.className = "language-math vditor-reset--error";
528
+ }
529
+ mathElement.addEventListener("copy", function (event) {
530
+ event.stopPropagation();
531
+ event.preventDefault();
532
+ var vditorMathElement = event.currentTarget.closest(".language-math");
533
+ event.clipboardData.setData("text/html", vditorMathElement.innerHTML);
534
+ event.clipboardData.setData("text/plain", vditorMathElement.getAttribute("data-math"));
535
+ });
536
+ });
537
+ });
538
+ }
539
+ else if (options.math.engine === "MathJax") {
540
+ var chainAsync_1 = function (fns) {
541
+ if (fns.length === 0) {
542
+ return;
543
+ }
544
+ var curr = 0;
545
+ var last = fns[fns.length - 1];
546
+ var next = function () {
547
+ var fn = fns[curr++];
548
+ fn === last ? fn() : fn(next);
549
+ };
550
+ next();
551
+ };
552
+ if (!window.MathJax) {
553
+ window.MathJax = {
554
+ loader: {
555
+ paths: { mathjax: options.cdn + "/dist/js/mathjax" },
556
+ },
557
+ startup: {
558
+ typeset: false,
559
+ },
560
+ tex: {
561
+ macros: options.math.macros,
562
+ },
563
+ };
564
+ }
565
+ // 循环加载会抛异常
566
+ (0,_util_addScript__WEBPACK_IMPORTED_MODULE_3__/* .addScriptSync */ .J)(options.cdn + "/dist/js/mathjax/tex-svg-full.js", "protyleMathJaxScript");
567
+ var renderMath_1 = function (mathElement, next) {
568
+ var math = (0,_util_code160to32__WEBPACK_IMPORTED_MODULE_4__/* .code160to32 */ .X)(mathElement.textContent).trim();
569
+ var mathOptions = window.MathJax.getMetricsFor(mathElement);
570
+ mathOptions.display = mathElement.tagName === "DIV";
571
+ window.MathJax.tex2svgPromise(math, mathOptions).then(function (node) {
572
+ mathElement.innerHTML = "";
573
+ mathElement.setAttribute("data-math", math);
574
+ mathElement.append(node);
575
+ window.MathJax.startup.document.clear();
576
+ window.MathJax.startup.document.updateDocument();
577
+ var errorTextElement = node.querySelector('[data-mml-node="merror"]');
578
+ if (errorTextElement && errorTextElement.textContent.trim() !== "") {
579
+ mathElement.innerHTML = errorTextElement.textContent.trim();
580
+ mathElement.className = "vditor-reset--error";
581
+ }
582
+ if (next) {
583
+ next();
584
+ }
585
+ });
586
+ };
587
+ window.MathJax.startup.promise.then(function () {
588
+ var chains = [];
589
+ var _loop_1 = function (i) {
590
+ var mathElement = mathElements[i];
591
+ if (!mathElement.parentElement.classList.contains("vditor-wysiwyg__pre") &&
592
+ !mathElement.parentElement.classList.contains("vditor-ir__marker--pre") &&
593
+ !mathElement.getAttribute("data-math") && (0,_util_code160to32__WEBPACK_IMPORTED_MODULE_4__/* .code160to32 */ .X)(mathElement.textContent).trim()) {
594
+ chains.push(function (next) {
595
+ if (i === mathElements.length - 1) {
596
+ renderMath_1(mathElement);
597
+ }
598
+ else {
599
+ renderMath_1(mathElement, next);
600
+ }
601
+ });
602
+ }
603
+ };
604
+ for (var i = 0; i < mathElements.length; i++) {
605
+ _loop_1(i);
606
+ }
607
+ chainAsync_1(chains);
608
+ });
609
+ }
610
+ };
611
+
612
+
613
+ /***/ }),
614
+
615
+ /***/ 207:
616
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
617
+
618
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
619
+ /* harmony export */ "Y": () => (/* binding */ mediaRender)
620
+ /* harmony export */ });
621
+ var videoRender = function (element, url) {
622
+ element.insertAdjacentHTML("afterend", "<video controls=\"controls\" src=\"" + url + "\"></video>");
623
+ element.remove();
624
+ };
625
+ var audioRender = function (element, url) {
626
+ element.insertAdjacentHTML("afterend", "<audio controls=\"controls\" src=\"" + url + "\"></audio>");
627
+ element.remove();
628
+ };
629
+ var iframeRender = function (element, url) {
630
+ var youtubeMatch = url.match(/\/\/(?:www\.)?(?:youtu\.be\/|youtube\.com\/(?:embed\/|v\/|watch\?v=|watch\?.+&v=))([\w|-]{11})(?:(?:[\?&]t=)(\S+))?/);
631
+ var youkuMatch = url.match(/\/\/v\.youku\.com\/v_show\/id_(\w+)=*\.html/);
632
+ var qqMatch = url.match(/\/\/v\.qq\.com\/x\/cover\/.*\/([^\/]+)\.html\??.*/);
633
+ var coubMatch = url.match(/(?:www\.|\/\/)coub\.com\/view\/(\w+)/);
634
+ var facebookMatch = url.match(/(?:www\.|\/\/)facebook\.com\/([^\/]+)\/videos\/([0-9]+)/);
635
+ var dailymotionMatch = url.match(/.+dailymotion.com\/(video|hub)\/(\w+)\?/);
636
+ var bilibiliMatch = url.match(/(?:www\.|\/\/)bilibili\.com\/video\/(\w+)/);
637
+ var tedMatch = url.match(/(?:www\.|\/\/)ted\.com\/talks\/(\w+)/);
638
+ if (youtubeMatch && youtubeMatch[1].length === 11) {
639
+ element.insertAdjacentHTML("afterend", "<iframe class=\"iframe__video\" src=\"//www.youtube.com/embed/" + (youtubeMatch[1] +
640
+ (youtubeMatch[2] ? "?start=" + youtubeMatch[2] : "")) + "\"></iframe>");
641
+ element.remove();
642
+ }
643
+ else if (youkuMatch && youkuMatch[1]) {
644
+ element.insertAdjacentHTML("afterend", "<iframe class=\"iframe__video\" src=\"//player.youku.com/embed/" + youkuMatch[1] + "\"></iframe>");
645
+ element.remove();
646
+ }
647
+ else if (qqMatch && qqMatch[1]) {
648
+ element.insertAdjacentHTML("afterend", "<iframe class=\"iframe__video\" src=\"https://v.qq.com/txp/iframe/player.html?vid=" + qqMatch[1] + "\"></iframe>");
649
+ element.remove();
650
+ }
651
+ else if (coubMatch && coubMatch[1]) {
652
+ element.insertAdjacentHTML("afterend", "<iframe class=\"iframe__video\"\n src=\"//coub.com/embed/" + coubMatch[1] + "?muted=false&autostart=false&originalSize=true&startWithHD=true\"></iframe>");
653
+ element.remove();
654
+ }
655
+ else if (facebookMatch && facebookMatch[0]) {
656
+ element.insertAdjacentHTML("afterend", "<iframe class=\"iframe__video\"\n src=\"https://www.facebook.com/plugins/video.php?href=" + encodeURIComponent(facebookMatch[0]) + "\"></iframe>");
657
+ element.remove();
658
+ }
659
+ else if (dailymotionMatch && dailymotionMatch[2]) {
660
+ element.insertAdjacentHTML("afterend", "<iframe class=\"iframe__video\"\n src=\"https://www.dailymotion.com/embed/video/" + dailymotionMatch[2] + "\"></iframe>");
661
+ element.remove();
662
+ }
663
+ else if (bilibiliMatch && bilibiliMatch[1]) {
664
+ element.insertAdjacentHTML("afterend", "<iframe class=\"iframe__video\"\n src=\"//player.bilibili.com/player.html?bvid=" + bilibiliMatch[1] + "\"></iframe>");
665
+ element.remove();
666
+ }
667
+ else if (tedMatch && tedMatch[1]) {
668
+ element.insertAdjacentHTML("afterend", "<iframe class=\"iframe__video\" src=\"//embed.ted.com/talks/" + tedMatch[1] + "\"></iframe>");
669
+ element.remove();
670
+ }
671
+ };
672
+ var mediaRender = function (element) {
673
+ if (!element) {
674
+ return;
675
+ }
676
+ element.querySelectorAll("a").forEach(function (aElement) {
677
+ var url = aElement.getAttribute("href");
678
+ if (!url) {
679
+ return;
680
+ }
681
+ if (url.match(/^.+.(mp4|m4v|ogg|ogv|webm)$/)) {
682
+ videoRender(aElement, url);
683
+ }
684
+ else if (url.match(/^.+.(mp3|wav|flac)$/)) {
685
+ audioRender(aElement, url);
686
+ }
687
+ else {
688
+ iframeRender(aElement, url);
689
+ }
690
+ });
691
+ };
692
+
693
+
694
+ /***/ }),
695
+
696
+ /***/ 765:
697
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
698
+
699
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
700
+ /* harmony export */ "i": () => (/* binding */ mermaidRender)
701
+ /* harmony export */ });
702
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(260);
703
+ /* harmony import */ var _util_addScript__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(228);
704
+ /* harmony import */ var _adapterRender__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(46);
705
+
706
+
707
+
708
+ var mermaidRender = function (element, cdn, theme) {
709
+ if (cdn === void 0) { cdn = _constants__WEBPACK_IMPORTED_MODULE_0__/* .Constants.CDN */ .g.CDN; }
710
+ var mermaidElements = _adapterRender__WEBPACK_IMPORTED_MODULE_1__.mermaidRenderAdapter.getElements(element);
711
+ if (mermaidElements.length === 0) {
712
+ return;
713
+ }
714
+ (0,_util_addScript__WEBPACK_IMPORTED_MODULE_2__/* .addScript */ .G)(cdn + "/dist/js/mermaid/mermaid.min.js", "vditorMermaidScript").then(function () {
715
+ var config = {
716
+ altFontFamily: "sans-serif",
717
+ flowchart: {
718
+ htmlLabels: true,
719
+ useMaxWidth: true,
720
+ },
721
+ fontFamily: "sans-serif",
722
+ gantt: {
723
+ leftPadding: 75,
724
+ rightPadding: 20,
725
+ },
726
+ securityLevel: "loose",
727
+ sequence: {
728
+ boxMargin: 8,
729
+ diagramMarginX: 8,
730
+ diagramMarginY: 8,
731
+ useMaxWidth: true,
732
+ },
733
+ startOnLoad: false,
734
+ };
735
+ if (theme === "dark") {
736
+ config.theme = "dark";
737
+ config.themeVariables = {
738
+ activationBkgColor: "hsl(180, 1.5873015873%, 28.3529411765%)",
739
+ activationBorderColor: "#81B1DB",
740
+ activeTaskBkgColor: "#81B1DB",
741
+ activeTaskBorderColor: "#ffffff",
742
+ actorBkg: "#1f2020",
743
+ actorBorder: "#81B1DB",
744
+ actorLineColor: "lightgrey",
745
+ actorTextColor: "lightgrey",
746
+ altBackground: "hsl(0, 0%, 40%)",
747
+ altSectionBkgColor: "#333",
748
+ arrowheadColor: "lightgrey",
749
+ background: "#333",
750
+ border1: "#81B1DB",
751
+ border2: "rgba(255, 255, 255, 0.25)",
752
+ classText: "#e0dfdf",
753
+ clusterBkg: "hsl(180, 1.5873015873%, 28.3529411765%)",
754
+ clusterBorder: "rgba(255, 255, 255, 0.25)",
755
+ critBkgColor: "#E83737",
756
+ critBorderColor: "#E83737",
757
+ darkTextColor: "hsl(28.5714285714, 17.3553719008%, 86.2745098039%)",
758
+ defaultLinkColor: "lightgrey",
759
+ doneTaskBkgColor: "lightgrey",
760
+ doneTaskBorderColor: "grey",
761
+ edgeLabelBackground: "hsl(0, 0%, 34.4117647059%)",
762
+ errorBkgColor: "#a44141",
763
+ errorTextColor: "#ddd",
764
+ fillType0: "#1f2020",
765
+ fillType1: "hsl(180, 1.5873015873%, 28.3529411765%)",
766
+ fillType2: "hsl(244, 1.5873015873%, 12.3529411765%)",
767
+ fillType3: "hsl(244, 1.5873015873%, 28.3529411765%)",
768
+ fillType4: "hsl(116, 1.5873015873%, 12.3529411765%)",
769
+ fillType5: "hsl(116, 1.5873015873%, 28.3529411765%)",
770
+ fillType6: "hsl(308, 1.5873015873%, 12.3529411765%)",
771
+ fillType7: "hsl(308, 1.5873015873%, 28.3529411765%)",
772
+ fontFamily: "\"trebuchet ms\", verdana, arial",
773
+ fontSize: "16px",
774
+ gridColor: "lightgrey",
775
+ labelBackground: "#181818",
776
+ labelBoxBkgColor: "#1f2020",
777
+ labelBoxBorderColor: "#81B1DB",
778
+ labelColor: "#ccc",
779
+ labelTextColor: "lightgrey",
780
+ lineColor: "lightgrey",
781
+ loopTextColor: "lightgrey",
782
+ mainBkg: "#1f2020",
783
+ mainContrastColor: "lightgrey",
784
+ nodeBkg: "#1f2020",
785
+ nodeBorder: "#81B1DB",
786
+ noteBkgColor: "#fff5ad",
787
+ noteBorderColor: "rgba(255, 255, 255, 0.25)",
788
+ noteTextColor: "#1f2020",
789
+ primaryBorderColor: "hsl(180, 0%, 2.3529411765%)",
790
+ primaryColor: "#1f2020",
791
+ primaryTextColor: "#e0dfdf",
792
+ secondBkg: "hsl(180, 1.5873015873%, 28.3529411765%)",
793
+ secondaryBorderColor: "hsl(180, 0%, 18.3529411765%)",
794
+ secondaryColor: "hsl(180, 1.5873015873%, 28.3529411765%)",
795
+ secondaryTextColor: "rgb(183.8476190475, 181.5523809523, 181.5523809523)",
796
+ sectionBkgColor: "hsl(52.9411764706, 28.813559322%, 58.431372549%)",
797
+ sectionBkgColor2: "#EAE8D9",
798
+ sequenceNumberColor: "black",
799
+ signalColor: "lightgrey",
800
+ signalTextColor: "lightgrey",
801
+ taskBkgColor: "hsl(180, 1.5873015873%, 35.3529411765%)",
802
+ taskBorderColor: "#ffffff",
803
+ taskTextClickableColor: "#003163",
804
+ taskTextColor: "hsl(28.5714285714, 17.3553719008%, 86.2745098039%)",
805
+ taskTextDarkColor: "hsl(28.5714285714, 17.3553719008%, 86.2745098039%)",
806
+ taskTextLightColor: "lightgrey",
807
+ taskTextOutsideColor: "lightgrey",
808
+ tertiaryBorderColor: "hsl(20, 0%, 2.3529411765%)",
809
+ tertiaryColor: "hsl(20, 1.5873015873%, 12.3529411765%)",
810
+ tertiaryTextColor: "rgb(222.9999999999, 223.6666666666, 223.9999999999)",
811
+ textColor: "#ccc",
812
+ titleColor: "#F9FFFE",
813
+ todayLineColor: "#DB5757",
814
+ };
815
+ }
816
+ mermaid.initialize(config);
817
+ mermaidElements.forEach(function (item) {
818
+ var code = _adapterRender__WEBPACK_IMPORTED_MODULE_1__.mermaidRenderAdapter.getCode(item);
819
+ if (item.getAttribute("data-processed") === "true" || code.trim() === "") {
820
+ return;
821
+ }
822
+ mermaid.init(undefined, item);
823
+ item.setAttribute("data-processed", "true");
824
+ });
825
+ });
826
+ };
827
+
828
+
829
+ /***/ }),
830
+
831
+ /***/ 894:
832
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
833
+
834
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
835
+ /* harmony export */ "P": () => (/* binding */ mindmapRender)
836
+ /* harmony export */ });
837
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(260);
838
+ /* harmony import */ var _util_addScript__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(228);
839
+ /* harmony import */ var _adapterRender__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(46);
840
+
841
+
842
+
843
+ var mindmapRender = function (element, cdn, theme) {
844
+ if (element === void 0) { element = document; }
845
+ if (cdn === void 0) { cdn = _constants__WEBPACK_IMPORTED_MODULE_0__/* .Constants.CDN */ .g.CDN; }
846
+ var mindmapElements = _adapterRender__WEBPACK_IMPORTED_MODULE_1__.mindmapRenderAdapter.getElements(element);
847
+ if (mindmapElements.length > 0) {
848
+ (0,_util_addScript__WEBPACK_IMPORTED_MODULE_2__/* .addScript */ .G)(cdn + "/dist/js/echarts/echarts.min.js", "vditorEchartsScript").then(function () {
849
+ mindmapElements.forEach(function (e) {
850
+ if (e.parentElement.classList.contains("vditor-wysiwyg__pre") ||
851
+ e.parentElement.classList.contains("vditor-ir__marker--pre")) {
852
+ return;
853
+ }
854
+ var text = _adapterRender__WEBPACK_IMPORTED_MODULE_1__.mindmapRenderAdapter.getCode(e);
855
+ if (!text) {
856
+ return;
857
+ }
858
+ try {
859
+ if (e.getAttribute("data-processed") === "true") {
860
+ return;
861
+ }
862
+ echarts.init(e, theme === "dark" ? "dark" : undefined).setOption({
863
+ series: [
864
+ {
865
+ data: [JSON.parse(decodeURIComponent(text))],
866
+ initialTreeDepth: -1,
867
+ itemStyle: {
868
+ borderWidth: 0,
869
+ color: "#4285f4",
870
+ },
871
+ label: {
872
+ backgroundColor: "#f6f8fa",
873
+ borderColor: "#d1d5da",
874
+ borderRadius: 5,
875
+ borderWidth: 0.5,
876
+ color: "#586069",
877
+ lineHeight: 20,
878
+ offset: [-5, 0],
879
+ padding: [0, 5],
880
+ position: "insideRight",
881
+ },
882
+ lineStyle: {
883
+ color: "#d1d5da",
884
+ width: 1,
885
+ },
886
+ roam: true,
887
+ symbol: function (value, params) {
888
+ var _a;
889
+ if ((_a = params === null || params === void 0 ? void 0 : params.data) === null || _a === void 0 ? void 0 : _a.children) {
890
+ return "circle";
891
+ }
892
+ else {
893
+ return "path://";
894
+ }
895
+ },
896
+ type: "tree",
897
+ },
898
+ ],
899
+ tooltip: {
900
+ trigger: "item",
901
+ triggerOn: "mousemove",
902
+ },
903
+ });
904
+ e.setAttribute("data-processed", "true");
905
+ }
906
+ catch (error) {
907
+ e.className = "vditor-reset--error";
908
+ e.innerHTML = "mindmap render error: <br>" + error;
909
+ }
910
+ });
911
+ });
912
+ }
913
+ };
914
+
915
+
916
+ /***/ }),
917
+
918
+ /***/ 198:
919
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
920
+
921
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
922
+ /* harmony export */ "k": () => (/* binding */ outlineRender)
923
+ /* harmony export */ });
924
+ /* harmony import */ var _util_hasClosestByHeadings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(615);
925
+ /* harmony import */ var _mathRender__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(323);
926
+
927
+
928
+ var outlineRender = function (contentElement, targetElement, vditor) {
929
+ var tocHTML = "";
930
+ var ids = [];
931
+ Array.from(contentElement.children).forEach(function (item, index) {
932
+ if ((0,_util_hasClosestByHeadings__WEBPACK_IMPORTED_MODULE_1__/* .hasClosestByHeadings */ .W)(item)) {
933
+ if (vditor) {
934
+ var lastIndex = item.id.lastIndexOf("_");
935
+ item.id = item.id.substring(0, lastIndex === -1 ? undefined : lastIndex) + "_" + index;
936
+ }
937
+ ids.push(item.id);
938
+ tocHTML += item.outerHTML.replace("<wbr>", "");
939
+ }
940
+ });
941
+ if (tocHTML === "") {
942
+ targetElement.innerHTML = "";
943
+ return "";
944
+ }
945
+ var tempElement = document.createElement("div");
946
+ if (vditor) {
947
+ vditor.lute.SetToC(true);
948
+ if (vditor.currentMode === "wysiwyg" && !vditor.preview.element.contains(contentElement)) {
949
+ tempElement.innerHTML = vditor.lute.SpinVditorDOM("<p>[ToC]</p>" + tocHTML);
950
+ }
951
+ else if (vditor.currentMode === "ir" && !vditor.preview.element.contains(contentElement)) {
952
+ tempElement.innerHTML = vditor.lute.SpinVditorIRDOM("<p>[ToC]</p>" + tocHTML);
953
+ }
954
+ else {
955
+ tempElement.innerHTML = vditor.lute.HTML2VditorDOM("<p>[ToC]</p>" + tocHTML);
956
+ }
957
+ vditor.lute.SetToC(vditor.options.preview.markdown.toc);
958
+ }
959
+ else {
960
+ targetElement.classList.add("vditor-outline");
961
+ var lute = Lute.New();
962
+ lute.SetToC(true);
963
+ tempElement.innerHTML = lute.HTML2VditorDOM("<p>[ToC]</p>" + tocHTML);
964
+ }
965
+ var headingsElement = tempElement.firstElementChild.querySelectorAll("li > span[data-target-id]");
966
+ headingsElement.forEach(function (item, index) {
967
+ if (item.nextElementSibling && item.nextElementSibling.tagName === "UL") {
968
+ item.innerHTML = "<svg class='vditor-outline__action'><use xlink:href='#vditor-icon-down'></use></svg><span>" + item.innerHTML + "</span>";
969
+ }
970
+ else {
971
+ item.innerHTML = "<svg></svg><span>" + item.innerHTML + "</span>";
972
+ }
973
+ item.setAttribute("data-target-id", ids[index]);
974
+ });
975
+ tocHTML = tempElement.firstElementChild.innerHTML;
976
+ if (headingsElement.length === 0) {
977
+ targetElement.innerHTML = "";
978
+ return tocHTML;
979
+ }
980
+ targetElement.innerHTML = tocHTML;
981
+ if (vditor) {
982
+ (0,_mathRender__WEBPACK_IMPORTED_MODULE_0__/* .mathRender */ .H)(targetElement, {
983
+ cdn: vditor.options.cdn,
984
+ math: vditor.options.preview.math,
985
+ });
986
+ }
987
+ targetElement.firstElementChild.addEventListener("click", function (event) {
988
+ var target = event.target;
989
+ while (target && !target.isEqualNode(targetElement)) {
990
+ if (target.classList.contains("vditor-outline__action")) {
991
+ if (target.classList.contains("vditor-outline__action--close")) {
992
+ target.classList.remove("vditor-outline__action--close");
993
+ target.parentElement.nextElementSibling.setAttribute("style", "display:block");
994
+ }
995
+ else {
996
+ target.classList.add("vditor-outline__action--close");
997
+ target.parentElement.nextElementSibling.setAttribute("style", "display:none");
998
+ }
999
+ event.preventDefault();
1000
+ event.stopPropagation();
1001
+ break;
1002
+ }
1003
+ else if (target.getAttribute("data-target-id")) {
1004
+ event.preventDefault();
1005
+ event.stopPropagation();
1006
+ var idElement = document.getElementById(target.getAttribute("data-target-id"));
1007
+ if (!idElement) {
1008
+ return;
1009
+ }
1010
+ if (vditor) {
1011
+ if (vditor.options.height === "auto") {
1012
+ var windowScrollY = idElement.offsetTop + vditor.element.offsetTop;
1013
+ if (!vditor.options.toolbarConfig.pin) {
1014
+ windowScrollY += vditor.toolbar.element.offsetHeight;
1015
+ }
1016
+ window.scrollTo(window.scrollX, windowScrollY);
1017
+ }
1018
+ else {
1019
+ if (vditor.element.offsetTop < window.scrollY) {
1020
+ window.scrollTo(window.scrollX, vditor.element.offsetTop);
1021
+ }
1022
+ if (vditor.preview.element.contains(contentElement)) {
1023
+ contentElement.parentElement.scrollTop = idElement.offsetTop;
1024
+ }
1025
+ else {
1026
+ contentElement.scrollTop = idElement.offsetTop;
1027
+ }
1028
+ }
1029
+ }
1030
+ else {
1031
+ window.scrollTo(window.scrollX, idElement.offsetTop);
1032
+ }
1033
+ break;
1034
+ }
1035
+ target = target.parentElement;
1036
+ }
1037
+ });
1038
+ return tocHTML;
1039
+ };
1040
+
1041
+
1042
+ /***/ }),
1043
+
1044
+ /***/ 583:
1045
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1046
+
1047
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1048
+ /* harmony export */ "B": () => (/* binding */ plantumlRender)
1049
+ /* harmony export */ });
1050
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(260);
1051
+ /* harmony import */ var _util_addScript__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(228);
1052
+ /* harmony import */ var _adapterRender__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(46);
1053
+
1054
+
1055
+
1056
+ var plantumlRender = function (element, cdn) {
1057
+ if (element === void 0) { element = document; }
1058
+ if (cdn === void 0) { cdn = _constants__WEBPACK_IMPORTED_MODULE_0__/* .Constants.CDN */ .g.CDN; }
1059
+ var plantumlElements = _adapterRender__WEBPACK_IMPORTED_MODULE_1__.plantumlRenderAdapter.getElements(element);
1060
+ if (plantumlElements.length === 0) {
1061
+ return;
1062
+ }
1063
+ (0,_util_addScript__WEBPACK_IMPORTED_MODULE_2__/* .addScript */ .G)(cdn + "/dist/js/plantuml/plantuml-encoder.min.js", "vditorPlantumlScript").then(function () {
1064
+ plantumlElements.forEach(function (e) {
1065
+ if (e.parentElement.classList.contains("vditor-wysiwyg__pre") ||
1066
+ e.parentElement.classList.contains("vditor-ir__marker--pre")) {
1067
+ return;
1068
+ }
1069
+ var text = _adapterRender__WEBPACK_IMPORTED_MODULE_1__.plantumlRenderAdapter.getCode(e).trim();
1070
+ if (!text) {
1071
+ return;
1072
+ }
1073
+ try {
1074
+ e.innerHTML = "<img src=\"http://www.plantuml.com/plantuml/svg/~1" + plantumlEncoder.encode(text) + "\">";
1075
+ }
1076
+ catch (error) {
1077
+ e.className = "vditor-reset--error";
1078
+ e.innerHTML = "plantuml render error: <br>" + error;
1079
+ }
1080
+ });
1081
+ });
1082
+ };
1083
+
1084
+
1085
+ /***/ }),
1086
+
1087
+ /***/ 792:
1088
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1089
+
1090
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1091
+ /* harmony export */ "X": () => (/* binding */ setLute)
1092
+ /* harmony export */ });
1093
+ var setLute = function (options) {
1094
+ var lute = Lute.New();
1095
+ lute.PutEmojis(options.emojis);
1096
+ lute.SetEmojiSite(options.emojiSite);
1097
+ lute.SetHeadingAnchor(options.headingAnchor);
1098
+ lute.SetInlineMathAllowDigitAfterOpenMarker(options.inlineMathDigit);
1099
+ lute.SetAutoSpace(options.autoSpace);
1100
+ lute.SetToC(options.toc);
1101
+ lute.SetFootnotes(options.footnotes);
1102
+ lute.SetFixTermTypo(options.fixTermTypo);
1103
+ lute.SetVditorCodeBlockPreview(options.codeBlockPreview);
1104
+ lute.SetVditorMathBlockPreview(options.mathBlockPreview);
1105
+ lute.SetSanitize(options.sanitize);
1106
+ lute.SetChineseParagraphBeginningSpace(options.paragraphBeginningSpace);
1107
+ lute.SetRenderListStyle(options.listStyle);
1108
+ lute.SetLinkBase(options.linkBase);
1109
+ lute.SetLinkPrefix(options.linkPrefix);
1110
+ lute.SetMark(options.mark);
1111
+ if (options.lazyLoadImage) {
1112
+ lute.SetImageLazyLoading(options.lazyLoadImage);
1113
+ }
1114
+ return lute;
1115
+ };
1116
+
1117
+
1118
+ /***/ }),
1119
+
1120
+ /***/ 264:
1121
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1122
+
1123
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1124
+ /* harmony export */ "E": () => (/* binding */ previewImage)
1125
+ /* harmony export */ });
1126
+ var previewImage = function (oldImgElement, lang, theme) {
1127
+ if (lang === void 0) { lang = "zh_CN"; }
1128
+ if (theme === void 0) { theme = "classic"; }
1129
+ var oldImgRect = oldImgElement.getBoundingClientRect();
1130
+ var height = 36;
1131
+ document.body.insertAdjacentHTML("beforeend", "<div class=\"vditor vditor-img" + (theme === "dark" ? " vditor--dark" : "") + "\">\n <div class=\"vditor-img__bar\">\n <span class=\"vditor-img__btn\" data-deg=\"0\">\n <svg><use xlink:href=\"#vditor-icon-redo\"></use></svg>\n " + window.VditorI18n.spin + "\n </span>\n <span class=\"vditor-img__btn\" onclick=\"this.parentElement.parentElement.outerHTML = '';document.body.style.overflow = ''\">\n X &nbsp;" + window.VditorI18n.close + "\n </span>\n </div>\n <div class=\"vditor-img__img\" onclick=\"this.parentElement.outerHTML = '';document.body.style.overflow = ''\">\n <img style=\"width: " + oldImgElement.width + "px;height:" + oldImgElement.height + "px;transform: translate3d(" + oldImgRect.left + "px, " + (oldImgRect.top - height) + "px, 0)\" src=\"" + oldImgElement.getAttribute("src") + "\">\n </div>\n</div>");
1132
+ document.body.style.overflow = "hidden";
1133
+ // 图片从原始位置移动到预览正中间的动画效果
1134
+ var imgElement = document.querySelector(".vditor-img img");
1135
+ var translate3d = "translate3d(" + Math.max(0, window.innerWidth - oldImgElement.naturalWidth) / 2 + "px, " + Math.max(0, window.innerHeight - height - oldImgElement.naturalHeight) / 2 + "px, 0)";
1136
+ setTimeout(function () {
1137
+ imgElement.setAttribute("style", "transition: transform .3s ease-in-out;transform: " + translate3d);
1138
+ setTimeout(function () {
1139
+ imgElement.parentElement.scrollTo((imgElement.parentElement.scrollWidth - imgElement.parentElement.clientWidth) / 2, (imgElement.parentElement.scrollHeight - imgElement.parentElement.clientHeight) / 2);
1140
+ }, 400);
1141
+ });
1142
+ // 旋转
1143
+ var btnElement = document.querySelector(".vditor-img__btn");
1144
+ btnElement.addEventListener("click", function () {
1145
+ var deg = parseInt(btnElement.getAttribute("data-deg"), 10) + 90;
1146
+ if ((deg / 90) % 2 === 1 && oldImgElement.naturalWidth > imgElement.parentElement.clientHeight) {
1147
+ imgElement.style.transform = "translate3d(" + Math.max(0, window.innerWidth - oldImgElement.naturalWidth) / 2 + "px, " + (oldImgElement.naturalWidth / 2 - oldImgElement.naturalHeight / 2) + "px, 0) rotateZ(" + deg + "deg)";
1148
+ }
1149
+ else {
1150
+ imgElement.style.transform = translate3d + " rotateZ(" + deg + "deg)";
1151
+ }
1152
+ btnElement.setAttribute("data-deg", deg.toString());
1153
+ setTimeout(function () {
1154
+ imgElement.parentElement.scrollTo((imgElement.parentElement.scrollWidth - imgElement.parentElement.clientWidth) / 2, (imgElement.parentElement.scrollHeight - imgElement.parentElement.clientHeight) / 2);
1155
+ }, 400);
1156
+ });
1157
+ };
1158
+
1159
+
1160
+ /***/ }),
1161
+
1162
+ /***/ 968:
1163
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1164
+
1165
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1166
+ /* harmony export */ "Y": () => (/* binding */ setCodeTheme)
1167
+ /* harmony export */ });
1168
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(260);
1169
+ /* harmony import */ var _util_addStyle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(946);
1170
+
1171
+
1172
+ var setCodeTheme = function (codeTheme, cdn) {
1173
+ if (cdn === void 0) { cdn = _constants__WEBPACK_IMPORTED_MODULE_0__/* .Constants.CDN */ .g.CDN; }
1174
+ if (!_constants__WEBPACK_IMPORTED_MODULE_0__/* .Constants.CODE_THEME.includes */ .g.CODE_THEME.includes(codeTheme)) {
1175
+ codeTheme = "github";
1176
+ }
1177
+ var vditorHljsStyle = document.getElementById("vditorHljsStyle");
1178
+ var href = cdn + "/dist/js/highlight.js/styles/" + codeTheme + ".css";
1179
+ if (!vditorHljsStyle) {
1180
+ (0,_util_addStyle__WEBPACK_IMPORTED_MODULE_1__/* .addStyle */ .c)(href, "vditorHljsStyle");
1181
+ }
1182
+ else if (vditorHljsStyle.href !== href) {
1183
+ vditorHljsStyle.remove();
1184
+ (0,_util_addStyle__WEBPACK_IMPORTED_MODULE_1__/* .addStyle */ .c)(href, "vditorHljsStyle");
1185
+ }
1186
+ };
1187
+
1188
+
1189
+ /***/ }),
1190
+
1191
+ /***/ 958:
1192
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1193
+
1194
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1195
+ /* harmony export */ "Z": () => (/* binding */ setContentTheme)
1196
+ /* harmony export */ });
1197
+ /* harmony import */ var _util_addStyle__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(946);
1198
+
1199
+ var setContentTheme = function (contentTheme, path) {
1200
+ if (!contentTheme || !path) {
1201
+ return;
1202
+ }
1203
+ var vditorContentTheme = document.getElementById("vditorContentTheme");
1204
+ var cssPath = path + "/" + contentTheme + ".css";
1205
+ if (!vditorContentTheme) {
1206
+ (0,_util_addStyle__WEBPACK_IMPORTED_MODULE_0__/* .addStyle */ .c)(cssPath, "vditorContentTheme");
1207
+ }
1208
+ else if (vditorContentTheme.href !== cssPath) {
1209
+ vditorContentTheme.remove();
1210
+ (0,_util_addStyle__WEBPACK_IMPORTED_MODULE_0__/* .addStyle */ .c)(cssPath, "vditorContentTheme");
1211
+ }
1212
+ };
1213
+
1214
+
1215
+ /***/ }),
1216
+
1217
+ /***/ 228:
1218
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1219
+
1220
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1221
+ /* harmony export */ "J": () => (/* binding */ addScriptSync),
1222
+ /* harmony export */ "G": () => (/* binding */ addScript)
1223
+ /* harmony export */ });
1224
+ var addScriptSync = function (path, id) {
1225
+ if (document.getElementById(id)) {
1226
+ return false;
1227
+ }
1228
+ var xhrObj = new XMLHttpRequest();
1229
+ xhrObj.open("GET", path, false);
1230
+ xhrObj.setRequestHeader("Accept", "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript, */*; q=0.01");
1231
+ xhrObj.send("");
1232
+ var scriptElement = document.createElement("script");
1233
+ scriptElement.type = "text/javascript";
1234
+ scriptElement.text = xhrObj.responseText;
1235
+ scriptElement.id = id;
1236
+ document.head.appendChild(scriptElement);
1237
+ };
1238
+ var addScript = function (path, id) {
1239
+ return new Promise(function (resolve, reject) {
1240
+ if (document.getElementById(id)) {
1241
+ // 脚本加载后再次调用直接返回
1242
+ resolve();
1243
+ return false;
1244
+ }
1245
+ var scriptElement = document.createElement("script");
1246
+ scriptElement.src = path;
1247
+ scriptElement.async = true;
1248
+ // 循环调用时 Chrome 不会重复请求 js
1249
+ document.head.appendChild(scriptElement);
1250
+ scriptElement.onload = function () {
1251
+ if (document.getElementById(id)) {
1252
+ // 循环调用需清除 DOM 中的 script 标签
1253
+ scriptElement.remove();
1254
+ resolve();
1255
+ return false;
1256
+ }
1257
+ scriptElement.id = id;
1258
+ resolve();
1259
+ };
1260
+ });
1261
+ };
1262
+
1263
+
1264
+ /***/ }),
1265
+
1266
+ /***/ 946:
1267
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1268
+
1269
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1270
+ /* harmony export */ "c": () => (/* binding */ addStyle)
1271
+ /* harmony export */ });
1272
+ var addStyle = function (url, id) {
1273
+ if (!document.getElementById(id)) {
1274
+ var styleElement = document.createElement("link");
1275
+ styleElement.id = id;
1276
+ styleElement.rel = "stylesheet";
1277
+ styleElement.type = "text/css";
1278
+ styleElement.href = url;
1279
+ document.getElementsByTagName("head")[0].appendChild(styleElement);
1280
+ }
1281
+ };
1282
+
1283
+
1284
+ /***/ }),
1285
+
1286
+ /***/ 769:
1287
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1288
+
1289
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1290
+ /* harmony export */ "X": () => (/* binding */ code160to32)
1291
+ /* harmony export */ });
1292
+ var code160to32 = function (text) {
1293
+ // 非打断空格转换为空格
1294
+ return text.replace(/\u00a0/g, " ");
1295
+ };
1296
+
1297
+
1298
+ /***/ }),
1299
+
1300
+ /***/ 713:
1301
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1302
+
1303
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1304
+ /* harmony export */ "lG": () => (/* binding */ hasClosestByMatchTag),
1305
+ /* harmony export */ "fb": () => (/* binding */ hasClosestByClassName)
1306
+ /* harmony export */ });
1307
+ /* unused harmony exports hasTopClosestByClassName, hasTopClosestByAttribute, hasTopClosestByTag, getTopList, hasClosestByAttribute, hasClosestBlock, getLastNode */
1308
+
1309
+ var hasTopClosestByClassName = function (element, className) {
1310
+ var closest = hasClosestByClassName(element, className);
1311
+ var parentClosest = false;
1312
+ var findTop = false;
1313
+ while (closest && !closest.classList.contains("vditor-reset") && !findTop) {
1314
+ parentClosest = hasClosestByClassName(closest.parentElement, className);
1315
+ if (parentClosest) {
1316
+ closest = parentClosest;
1317
+ }
1318
+ else {
1319
+ findTop = true;
1320
+ }
1321
+ }
1322
+ return closest || false;
1323
+ };
1324
+ var hasTopClosestByAttribute = function (element, attr, value) {
1325
+ var closest = hasClosestByAttribute(element, attr, value);
1326
+ var parentClosest = false;
1327
+ var findTop = false;
1328
+ while (closest && !closest.classList.contains("vditor-reset") && !findTop) {
1329
+ parentClosest = hasClosestByAttribute(closest.parentElement, attr, value);
1330
+ if (parentClosest) {
1331
+ closest = parentClosest;
1332
+ }
1333
+ else {
1334
+ findTop = true;
1335
+ }
1336
+ }
1337
+ return closest || false;
1338
+ };
1339
+ var hasTopClosestByTag = function (element, nodeName) {
1340
+ var closest = hasClosestByTag(element, nodeName);
1341
+ var parentClosest = false;
1342
+ var findTop = false;
1343
+ while (closest && !closest.classList.contains("vditor-reset") && !findTop) {
1344
+ parentClosest = hasClosestByTag(closest.parentElement, nodeName);
1345
+ if (parentClosest) {
1346
+ closest = parentClosest;
1347
+ }
1348
+ else {
1349
+ findTop = true;
1350
+ }
1351
+ }
1352
+ return closest || false;
1353
+ };
1354
+ var getTopList = function (element) {
1355
+ var topUlElement = hasTopClosestByTag(element, "UL");
1356
+ var topOlElement = hasTopClosestByTag(element, "OL");
1357
+ var topListElement = topUlElement;
1358
+ if (topOlElement && (!topUlElement || (topUlElement && topOlElement.contains(topUlElement)))) {
1359
+ topListElement = topOlElement;
1360
+ }
1361
+ return topListElement;
1362
+ };
1363
+ var hasClosestByAttribute = function (element, attr, value) {
1364
+ if (!element) {
1365
+ return false;
1366
+ }
1367
+ if (element.nodeType === 3) {
1368
+ element = element.parentElement;
1369
+ }
1370
+ var e = element;
1371
+ var isClosest = false;
1372
+ while (e && !isClosest && !e.classList.contains("vditor-reset")) {
1373
+ if (e.getAttribute(attr) === value) {
1374
+ isClosest = true;
1375
+ }
1376
+ else {
1377
+ e = e.parentElement;
1378
+ }
1379
+ }
1380
+ return isClosest && e;
1381
+ };
1382
+ var hasClosestBlock = function (element) {
1383
+ if (!element) {
1384
+ return false;
1385
+ }
1386
+ if (element.nodeType === 3) {
1387
+ element = element.parentElement;
1388
+ }
1389
+ var e = element;
1390
+ var isClosest = false;
1391
+ var blockElement = hasClosestByAttribute(element, "data-block", "0");
1392
+ if (blockElement) {
1393
+ return blockElement;
1394
+ }
1395
+ while (e && !isClosest && !e.classList.contains("vditor-reset")) {
1396
+ if (e.tagName === "H1" ||
1397
+ e.tagName === "H2" ||
1398
+ e.tagName === "H3" ||
1399
+ e.tagName === "H4" ||
1400
+ e.tagName === "H5" ||
1401
+ e.tagName === "H6" ||
1402
+ e.tagName === "P" ||
1403
+ e.tagName === "BLOCKQUOTE" ||
1404
+ e.tagName === "OL" ||
1405
+ e.tagName === "UL") {
1406
+ isClosest = true;
1407
+ }
1408
+ else {
1409
+ e = e.parentElement;
1410
+ }
1411
+ }
1412
+ return isClosest && e;
1413
+ };
1414
+ var hasClosestByMatchTag = function (element, nodeName) {
1415
+ if (!element) {
1416
+ return false;
1417
+ }
1418
+ if (element.nodeType === 3) {
1419
+ element = element.parentElement;
1420
+ }
1421
+ var e = element;
1422
+ var isClosest = false;
1423
+ while (e && !isClosest && !e.classList.contains("vditor-reset")) {
1424
+ if (e.nodeName === nodeName) {
1425
+ isClosest = true;
1426
+ }
1427
+ else {
1428
+ e = e.parentElement;
1429
+ }
1430
+ }
1431
+ return isClosest && e;
1432
+ };
1433
+ var hasClosestByClassName = function (element, className) {
1434
+ if (!element) {
1435
+ return false;
1436
+ }
1437
+ if (element.nodeType === 3) {
1438
+ element = element.parentElement;
1439
+ }
1440
+ var e = element;
1441
+ var isClosest = false;
1442
+ while (e && !isClosest && !e.classList.contains("vditor-reset")) {
1443
+ if (e.classList.contains(className)) {
1444
+ isClosest = true;
1445
+ }
1446
+ else {
1447
+ e = e.parentElement;
1448
+ }
1449
+ }
1450
+ return isClosest && e;
1451
+ };
1452
+ var getLastNode = function (node) {
1453
+ while (node && node.lastChild) {
1454
+ node = node.lastChild;
1455
+ }
1456
+ return node;
1457
+ };
1458
+
1459
+
1460
+ /***/ }),
1461
+
1462
+ /***/ 615:
1463
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1464
+
1465
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1466
+ /* harmony export */ "W": () => (/* binding */ hasClosestByHeadings)
1467
+ /* harmony export */ });
1468
+ /* unused harmony export hasClosestByTag */
1469
+ // NOTE: 减少 method.ts 打包,故从 hasClosest.ts 中拆分
1470
+ var hasClosestByTag = function (element, nodeName) {
1471
+ if (!element) {
1472
+ return false;
1473
+ }
1474
+ if (element.nodeType === 3) {
1475
+ element = element.parentElement;
1476
+ }
1477
+ var e = element;
1478
+ var isClosest = false;
1479
+ while (e && !isClosest && !e.classList.contains("vditor-reset")) {
1480
+ if (e.nodeName.indexOf(nodeName) === 0) {
1481
+ isClosest = true;
1482
+ }
1483
+ else {
1484
+ e = e.parentElement;
1485
+ }
1486
+ }
1487
+ return isClosest && e;
1488
+ };
1489
+ var hasClosestByHeadings = function (element) {
1490
+ var headingElement = hasClosestByTag(element, "H");
1491
+ if (headingElement && headingElement.tagName.length === 2 && headingElement.tagName !== "HR") {
1492
+ return headingElement;
1493
+ }
1494
+ return false;
1495
+ };
1496
+
1497
+
1498
+ /***/ }),
1499
+
1500
+ /***/ 224:
1501
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1502
+
1503
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1504
+ /* harmony export */ "T": () => (/* binding */ merge)
1505
+ /* harmony export */ });
1506
+ var merge = function () {
1507
+ var options = [];
1508
+ for (var _i = 0; _i < arguments.length; _i++) {
1509
+ options[_i] = arguments[_i];
1510
+ }
1511
+ var target = {};
1512
+ var merger = function (obj) {
1513
+ for (var prop in obj) {
1514
+ if (obj.hasOwnProperty(prop)) {
1515
+ if (Object.prototype.toString.call(obj[prop]) === "[object Object]") {
1516
+ target[prop] = merge(target[prop], obj[prop]);
1517
+ }
1518
+ else {
1519
+ target[prop] = obj[prop];
1520
+ }
1521
+ }
1522
+ }
1523
+ };
1524
+ for (var i = 0; i < options.length; i++) {
1525
+ merger(options[i]);
1526
+ }
1527
+ return target;
1528
+ };
1529
+
1530
+
1531
+ /***/ }),
1532
+
1533
+ /***/ 187:
1534
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1535
+
1536
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1537
+ /* harmony export */ "Hc": () => (/* binding */ setSelectionFocus)
1538
+ /* harmony export */ });
1539
+ /* unused harmony exports getEditorRange, getCursorPosition, selectIsEditor, getSelectPosition, setSelectionByPosition, setRangeByWbr, insertHTML */
1540
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(260);
1541
+
1542
+
1543
+
1544
+ var getEditorRange = function (vditor) {
1545
+ var range;
1546
+ var element = vditor[vditor.currentMode].element;
1547
+ if (getSelection().rangeCount > 0) {
1548
+ range = getSelection().getRangeAt(0);
1549
+ if (element.isEqualNode(range.startContainer) || element.contains(range.startContainer)) {
1550
+ return range;
1551
+ }
1552
+ }
1553
+ if (vditor[vditor.currentMode].range) {
1554
+ return vditor[vditor.currentMode].range;
1555
+ }
1556
+ element.focus();
1557
+ range = element.ownerDocument.createRange();
1558
+ range.setStart(element, 0);
1559
+ range.collapse(true);
1560
+ return range;
1561
+ };
1562
+ var getCursorPosition = function (editor) {
1563
+ var range = window.getSelection().getRangeAt(0);
1564
+ if (!editor.contains(range.startContainer) && !hasClosestByClassName(range.startContainer, "vditor-panel--none")) {
1565
+ return {
1566
+ left: 0,
1567
+ top: 0,
1568
+ };
1569
+ }
1570
+ var parentRect = editor.parentElement.getBoundingClientRect();
1571
+ var cursorRect;
1572
+ if (range.getClientRects().length === 0) {
1573
+ if (range.startContainer.nodeType === 3) {
1574
+ // 空行时,会出现没有 br 的情况,需要根据父元素 <p> 获取位置信息
1575
+ var parent_1 = range.startContainer.parentElement;
1576
+ if (parent_1 && parent_1.getClientRects().length > 0) {
1577
+ cursorRect = parent_1.getClientRects()[0];
1578
+ }
1579
+ else {
1580
+ return {
1581
+ left: 0,
1582
+ top: 0,
1583
+ };
1584
+ }
1585
+ }
1586
+ else {
1587
+ var children = range.startContainer.children;
1588
+ if (children[range.startOffset] &&
1589
+ children[range.startOffset].getClientRects().length > 0) {
1590
+ // markdown 模式回车
1591
+ cursorRect = children[range.startOffset].getClientRects()[0];
1592
+ }
1593
+ else if (range.startContainer.childNodes.length > 0) {
1594
+ // in table or code block
1595
+ var cloneRange = range.cloneRange();
1596
+ range.selectNode(range.startContainer.childNodes[Math.max(0, range.startOffset - 1)]);
1597
+ cursorRect = range.getClientRects()[0];
1598
+ range.setEnd(cloneRange.endContainer, cloneRange.endOffset);
1599
+ range.setStart(cloneRange.startContainer, cloneRange.startOffset);
1600
+ }
1601
+ else {
1602
+ cursorRect = range.startContainer.getClientRects()[0];
1603
+ }
1604
+ if (!cursorRect) {
1605
+ var parentElement = range.startContainer.childNodes[range.startOffset];
1606
+ while (!parentElement.getClientRects ||
1607
+ (parentElement.getClientRects && parentElement.getClientRects().length === 0)) {
1608
+ parentElement = parentElement.parentElement;
1609
+ }
1610
+ cursorRect = parentElement.getClientRects()[0];
1611
+ }
1612
+ }
1613
+ }
1614
+ else {
1615
+ cursorRect = range.getClientRects()[0];
1616
+ }
1617
+ return {
1618
+ left: cursorRect.left - parentRect.left,
1619
+ top: cursorRect.top - parentRect.top,
1620
+ };
1621
+ };
1622
+ var selectIsEditor = function (editor, range) {
1623
+ if (!range) {
1624
+ if (getSelection().rangeCount === 0) {
1625
+ return false;
1626
+ }
1627
+ else {
1628
+ range = getSelection().getRangeAt(0);
1629
+ }
1630
+ }
1631
+ var container = range.commonAncestorContainer;
1632
+ return editor.isEqualNode(container) || editor.contains(container);
1633
+ };
1634
+ var setSelectionFocus = function (range) {
1635
+ var selection = window.getSelection();
1636
+ selection.removeAllRanges();
1637
+ selection.addRange(range);
1638
+ };
1639
+ var getSelectPosition = function (selectElement, editorElement, range) {
1640
+ var position = {
1641
+ end: 0,
1642
+ start: 0,
1643
+ };
1644
+ if (!range) {
1645
+ if (getSelection().rangeCount === 0) {
1646
+ return position;
1647
+ }
1648
+ range = window.getSelection().getRangeAt(0);
1649
+ }
1650
+ if (selectIsEditor(editorElement, range)) {
1651
+ var preSelectionRange = range.cloneRange();
1652
+ if (selectElement.childNodes[0] && selectElement.childNodes[0].childNodes[0]) {
1653
+ preSelectionRange.setStart(selectElement.childNodes[0].childNodes[0], 0);
1654
+ }
1655
+ else {
1656
+ preSelectionRange.selectNodeContents(selectElement);
1657
+ }
1658
+ preSelectionRange.setEnd(range.startContainer, range.startOffset);
1659
+ position.start = preSelectionRange.toString().length;
1660
+ position.end = position.start + range.toString().length;
1661
+ }
1662
+ return position;
1663
+ };
1664
+ var setSelectionByPosition = function (start, end, editor) {
1665
+ var charIndex = 0;
1666
+ var line = 0;
1667
+ var pNode = editor.childNodes[line];
1668
+ var foundStart = false;
1669
+ var stop = false;
1670
+ start = Math.max(0, start);
1671
+ end = Math.max(0, end);
1672
+ var range = editor.ownerDocument.createRange();
1673
+ range.setStart(pNode || editor, 0);
1674
+ range.collapse(true);
1675
+ while (!stop && pNode) {
1676
+ var nextCharIndex = charIndex + pNode.textContent.length;
1677
+ if (!foundStart && start >= charIndex && start <= nextCharIndex) {
1678
+ if (start === 0) {
1679
+ range.setStart(pNode, 0);
1680
+ }
1681
+ else {
1682
+ if (pNode.childNodes[0].nodeType === 3) {
1683
+ range.setStart(pNode.childNodes[0], start - charIndex);
1684
+ }
1685
+ else if (pNode.nextSibling) {
1686
+ range.setStartBefore(pNode.nextSibling);
1687
+ }
1688
+ else {
1689
+ range.setStartAfter(pNode);
1690
+ }
1691
+ }
1692
+ foundStart = true;
1693
+ if (start === end) {
1694
+ stop = true;
1695
+ break;
1696
+ }
1697
+ }
1698
+ if (foundStart && end >= charIndex && end <= nextCharIndex) {
1699
+ if (end === 0) {
1700
+ range.setEnd(pNode, 0);
1701
+ }
1702
+ else {
1703
+ if (pNode.childNodes[0].nodeType === 3) {
1704
+ range.setEnd(pNode.childNodes[0], end - charIndex);
1705
+ }
1706
+ else if (pNode.nextSibling) {
1707
+ range.setEndBefore(pNode.nextSibling);
1708
+ }
1709
+ else {
1710
+ range.setEndAfter(pNode);
1711
+ }
1712
+ }
1713
+ stop = true;
1714
+ }
1715
+ charIndex = nextCharIndex;
1716
+ pNode = editor.childNodes[++line];
1717
+ }
1718
+ if (!stop && editor.childNodes[line - 1]) {
1719
+ range.setStartBefore(editor.childNodes[line - 1]);
1720
+ }
1721
+ setSelectionFocus(range);
1722
+ return range;
1723
+ };
1724
+ var setRangeByWbr = function (element, range) {
1725
+ var wbrElement = element.querySelector("wbr");
1726
+ if (!wbrElement) {
1727
+ return;
1728
+ }
1729
+ if (!wbrElement.previousElementSibling) {
1730
+ if (wbrElement.previousSibling) {
1731
+ // text<wbr>
1732
+ range.setStart(wbrElement.previousSibling, wbrElement.previousSibling.textContent.length);
1733
+ }
1734
+ else if (wbrElement.nextSibling) {
1735
+ if (wbrElement.nextSibling.nodeType === 3) {
1736
+ // <wbr>text
1737
+ range.setStart(wbrElement.nextSibling, 0);
1738
+ }
1739
+ else {
1740
+ // <wbr><br> https://github.com/Vanessa219/vditor/issues/400
1741
+ range.setStartBefore(wbrElement.nextSibling);
1742
+ }
1743
+ }
1744
+ else {
1745
+ // 内容为空
1746
+ range.setStart(wbrElement.parentElement, 0);
1747
+ }
1748
+ }
1749
+ else {
1750
+ if (wbrElement.previousElementSibling.isSameNode(wbrElement.previousSibling)) {
1751
+ if (wbrElement.previousElementSibling.lastChild) {
1752
+ // <em>text</em><wbr>
1753
+ range.setStartBefore(wbrElement);
1754
+ range.collapse(true);
1755
+ setSelectionFocus(range);
1756
+ // fix Chrome set range bug: **c**
1757
+ if (isChrome() && (wbrElement.previousElementSibling.tagName === "EM" ||
1758
+ wbrElement.previousElementSibling.tagName === "STRONG" ||
1759
+ wbrElement.previousElementSibling.tagName === "S")) {
1760
+ range.insertNode(document.createTextNode(Constants.ZWSP));
1761
+ range.collapse(false);
1762
+ }
1763
+ wbrElement.remove();
1764
+ return;
1765
+ }
1766
+ else {
1767
+ // <br><wbr>
1768
+ range.setStartAfter(wbrElement.previousElementSibling);
1769
+ }
1770
+ }
1771
+ else {
1772
+ // <em>text</em>text<wbr>
1773
+ range.setStart(wbrElement.previousSibling, wbrElement.previousSibling.textContent.length);
1774
+ }
1775
+ }
1776
+ range.collapse(true);
1777
+ wbrElement.remove();
1778
+ setSelectionFocus(range);
1779
+ };
1780
+ var insertHTML = function (html, vditor) {
1781
+ // 使用 lute 方法会添加 p 元素,只有一个 p 元素的时候进行删除
1782
+ var tempElement = document.createElement("div");
1783
+ tempElement.innerHTML = html;
1784
+ var tempBlockElement = tempElement.querySelectorAll("p");
1785
+ if (tempBlockElement.length === 1 && !tempBlockElement[0].previousSibling && !tempBlockElement[0].nextSibling &&
1786
+ vditor[vditor.currentMode].element.children.length > 0 && tempElement.firstElementChild.tagName === "P") {
1787
+ html = tempBlockElement[0].innerHTML.trim();
1788
+ }
1789
+ var pasteElement = document.createElement("div");
1790
+ pasteElement.innerHTML = html;
1791
+ var range = getEditorRange(vditor);
1792
+ if (range.toString() !== "") {
1793
+ vditor[vditor.currentMode].preventInput = true;
1794
+ document.execCommand("delete", false, "");
1795
+ }
1796
+ if (pasteElement.firstElementChild &&
1797
+ pasteElement.firstElementChild.getAttribute("data-block") === "0") {
1798
+ // 粘贴内容为块元素时,应在下一段落中插入
1799
+ pasteElement.lastElementChild.insertAdjacentHTML("beforeend", "<wbr>");
1800
+ var blockElement = hasClosestBlock(range.startContainer);
1801
+ if (!blockElement) {
1802
+ vditor[vditor.currentMode].element.insertAdjacentHTML("beforeend", pasteElement.innerHTML);
1803
+ }
1804
+ else {
1805
+ blockElement.insertAdjacentHTML("afterend", pasteElement.innerHTML);
1806
+ }
1807
+ setRangeByWbr(vditor[vditor.currentMode].element, range);
1808
+ }
1809
+ else {
1810
+ var pasteTemplate = document.createElement("template");
1811
+ pasteTemplate.innerHTML = html;
1812
+ range.insertNode(pasteTemplate.content.cloneNode(true));
1813
+ range.collapse(false);
1814
+ setSelectionFocus(range);
1815
+ }
1816
+ };
1817
+
1818
+
1819
+ /***/ })
1820
+
1821
+ /******/ });
1822
+ /************************************************************************/
1823
+ /******/ // The module cache
1824
+ /******/ var __webpack_module_cache__ = {};
1825
+ /******/
1826
+ /******/ // The require function
1827
+ /******/ function __webpack_require__(moduleId) {
1828
+ /******/ // Check if module is in cache
1829
+ /******/ var cachedModule = __webpack_module_cache__[moduleId];
1830
+ /******/ if (cachedModule !== undefined) {
1831
+ /******/ return cachedModule.exports;
1832
+ /******/ }
1833
+ /******/ // Create a new module (and put it into the cache)
1834
+ /******/ var module = __webpack_module_cache__[moduleId] = {
1835
+ /******/ // no module.id needed
1836
+ /******/ // no module.loaded needed
1837
+ /******/ exports: {}
1838
+ /******/ };
1839
+ /******/
1840
+ /******/ // Execute the module function
1841
+ /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
1842
+ /******/
1843
+ /******/ // Return the exports of the module
1844
+ /******/ return module.exports;
1845
+ /******/ }
1846
+ /******/
1847
+ /************************************************************************/
1848
+ /******/ /* webpack/runtime/define property getters */
1849
+ /******/ (() => {
1850
+ /******/ // define getter functions for harmony exports
1851
+ /******/ __webpack_require__.d = (exports, definition) => {
1852
+ /******/ for(var key in definition) {
1853
+ /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
1854
+ /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
1855
+ /******/ }
1856
+ /******/ }
1857
+ /******/ };
1858
+ /******/ })();
1859
+ /******/
1860
+ /******/ /* webpack/runtime/hasOwnProperty shorthand */
1861
+ /******/ (() => {
1862
+ /******/ __webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))
1863
+ /******/ })();
1864
+ /******/
1865
+ /******/ /* webpack/runtime/make namespace object */
1866
+ /******/ (() => {
1867
+ /******/ // define __esModule on exports
1868
+ /******/ __webpack_require__.r = (exports) => {
1869
+ /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
1870
+ /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
1871
+ /******/ }
1872
+ /******/ Object.defineProperty(exports, '__esModule', { value: true });
1873
+ /******/ };
1874
+ /******/ })();
1875
+ /******/
1876
+ /************************************************************************/
1877
+ var __webpack_exports__ = {};
1878
+ // This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
1879
+ (() => {
1880
+
1881
+ // EXPORTS
1882
+ __webpack_require__.d(__webpack_exports__, {
1883
+ "default": () => (/* binding */ method)
1884
+ });
1885
+
1886
+ // EXTERNAL MODULE: ./src/ts/markdown/abcRender.ts
1887
+ var abcRender = __webpack_require__(369);
1888
+ // EXTERNAL MODULE: ./src/ts/markdown/adapterRender.ts
1889
+ var adapterRender = __webpack_require__(46);
1890
+ // EXTERNAL MODULE: ./src/ts/markdown/chartRender.ts
1891
+ var chartRender = __webpack_require__(726);
1892
+ // EXTERNAL MODULE: ./src/ts/markdown/codeRender.ts
1893
+ var codeRender = __webpack_require__(23);
1894
+ // EXTERNAL MODULE: ./src/ts/markdown/flowchartRender.ts
1895
+ var flowchartRender = __webpack_require__(383);
1896
+ // EXTERNAL MODULE: ./src/ts/markdown/graphvizRender.ts
1897
+ var graphvizRender = __webpack_require__(890);
1898
+ // EXTERNAL MODULE: ./src/ts/markdown/highlightRender.ts
1899
+ var highlightRender = __webpack_require__(93);
1900
+ ;// CONCATENATED MODULE: ./src/ts/markdown/lazyLoadImageRender.ts
1901
+ var lazyLoadImageRender = function (element) {
1902
+ if (element === void 0) { element = document; }
1903
+ var loadImg = function (it) {
1904
+ var testImage = document.createElement("img");
1905
+ testImage.src = it.getAttribute("data-src");
1906
+ testImage.addEventListener("load", function () {
1907
+ if (!it.getAttribute("style") && !it.getAttribute("class") &&
1908
+ !it.getAttribute("width") && !it.getAttribute("height")) {
1909
+ if (testImage.naturalHeight > testImage.naturalWidth &&
1910
+ testImage.naturalWidth / testImage.naturalHeight <
1911
+ document.querySelector(".vditor-reset").clientWidth / (window.innerHeight - 40) &&
1912
+ testImage.naturalHeight > (window.innerHeight - 40)) {
1913
+ it.style.height = (window.innerHeight - 40) + "px";
1914
+ }
1915
+ }
1916
+ it.src = testImage.src;
1917
+ });
1918
+ it.removeAttribute("data-src");
1919
+ };
1920
+ if (!("IntersectionObserver" in window)) {
1921
+ element.querySelectorAll("img").forEach(function (imgElement) {
1922
+ if (imgElement.getAttribute("data-src")) {
1923
+ loadImg(imgElement);
1924
+ }
1925
+ });
1926
+ return false;
1927
+ }
1928
+ if (window.vditorImageIntersectionObserver) {
1929
+ window.vditorImageIntersectionObserver.disconnect();
1930
+ element.querySelectorAll("img").forEach(function (imgElement) {
1931
+ window.vditorImageIntersectionObserver.observe(imgElement);
1932
+ });
1933
+ }
1934
+ else {
1935
+ window.vditorImageIntersectionObserver = new IntersectionObserver(function (entries) {
1936
+ entries.forEach(function (entrie) {
1937
+ if ((typeof entrie.isIntersecting === "undefined"
1938
+ ? entrie.intersectionRatio !== 0
1939
+ : entrie.isIntersecting)
1940
+ && entrie.target.getAttribute("data-src")) {
1941
+ loadImg(entrie.target);
1942
+ }
1943
+ });
1944
+ });
1945
+ element.querySelectorAll("img").forEach(function (imgElement) {
1946
+ window.vditorImageIntersectionObserver.observe(imgElement);
1947
+ });
1948
+ }
1949
+ };
1950
+
1951
+ // EXTERNAL MODULE: ./src/ts/markdown/mathRender.ts
1952
+ var mathRender = __webpack_require__(323);
1953
+ // EXTERNAL MODULE: ./src/ts/markdown/mediaRender.ts
1954
+ var mediaRender = __webpack_require__(207);
1955
+ // EXTERNAL MODULE: ./src/ts/markdown/mermaidRender.ts
1956
+ var mermaidRender = __webpack_require__(765);
1957
+ // EXTERNAL MODULE: ./src/ts/markdown/mindmapRender.ts
1958
+ var mindmapRender = __webpack_require__(894);
1959
+ // EXTERNAL MODULE: ./src/ts/markdown/outlineRender.ts
1960
+ var outlineRender = __webpack_require__(198);
1961
+ // EXTERNAL MODULE: ./src/ts/markdown/plantumlRender.ts
1962
+ var plantumlRender = __webpack_require__(583);
1963
+ // EXTERNAL MODULE: ./src/ts/constants.ts
1964
+ var constants = __webpack_require__(260);
1965
+ // EXTERNAL MODULE: ./src/ts/ui/setContentTheme.ts
1966
+ var setContentTheme = __webpack_require__(958);
1967
+ // EXTERNAL MODULE: ./src/ts/util/addScript.ts
1968
+ var addScript = __webpack_require__(228);
1969
+ // EXTERNAL MODULE: ./src/ts/util/hasClosest.ts
1970
+ var hasClosest = __webpack_require__(713);
1971
+ // EXTERNAL MODULE: ./src/ts/util/merge.ts
1972
+ var merge = __webpack_require__(224);
1973
+ ;// CONCATENATED MODULE: ./src/ts/markdown/anchorRender.ts
1974
+ var anchorRender = function (type) {
1975
+ document.querySelectorAll(".vditor-anchor").forEach(function (anchor) {
1976
+ if (type === 1) {
1977
+ anchor.classList.add("vditor-anchor--left");
1978
+ }
1979
+ anchor.onclick = function () {
1980
+ var id = anchor.getAttribute("href").substr(1);
1981
+ var top = document.getElementById("vditorAnchor-" + id).offsetTop;
1982
+ document.querySelector("html").scrollTop = top;
1983
+ };
1984
+ });
1985
+ window.onhashchange = function () {
1986
+ var element = document.getElementById("vditorAnchor-" + decodeURIComponent(window.location.hash.substr(1)));
1987
+ if (element) {
1988
+ document.querySelector("html").scrollTop = element.offsetTop;
1989
+ }
1990
+ };
1991
+ };
1992
+
1993
+ // EXTERNAL MODULE: ./src/ts/markdown/setLute.ts
1994
+ var setLute = __webpack_require__(792);
1995
+ // EXTERNAL MODULE: ./src/ts/util/selection.ts
1996
+ var selection = __webpack_require__(187);
1997
+ ;// CONCATENATED MODULE: ./src/ts/markdown/speechRender.ts
1998
+
1999
+ var speechRender = function (element, lang) {
2000
+ if (lang === void 0) { lang = "zh_CN"; }
2001
+ if (typeof speechSynthesis === "undefined" || typeof SpeechSynthesisUtterance === "undefined") {
2002
+ return;
2003
+ }
2004
+ var playSVG = '<svg><use xlink:href="#vditor-icon-play"></use></svg>';
2005
+ var pauseSVG = '<svg><use xlink:href="#vditor-icon-pause"></use></svg>';
2006
+ var speechDom = document.querySelector(".vditor-speech");
2007
+ if (!speechDom) {
2008
+ speechDom = document.createElement("div");
2009
+ speechDom.className = "vditor-speech";
2010
+ document.body.insertAdjacentElement("beforeend", speechDom);
2011
+ var getVoice = function () {
2012
+ var voices = speechSynthesis.getVoices();
2013
+ var currentVoice;
2014
+ var defaultVoice;
2015
+ voices.forEach(function (item) {
2016
+ if (item.lang === lang.replace("_", "-")) {
2017
+ currentVoice = item;
2018
+ }
2019
+ if (item.default) {
2020
+ defaultVoice = item;
2021
+ }
2022
+ });
2023
+ if (!currentVoice) {
2024
+ currentVoice = defaultVoice;
2025
+ }
2026
+ return currentVoice;
2027
+ };
2028
+ if (speechSynthesis.onvoiceschanged !== undefined) {
2029
+ speechSynthesis.onvoiceschanged = getVoice;
2030
+ }
2031
+ var voice_1 = getVoice();
2032
+ speechDom.onclick = function () {
2033
+ if (speechDom.className === "vditor-speech") {
2034
+ var utterThis = new SpeechSynthesisUtterance(speechDom.getAttribute("data-text"));
2035
+ utterThis.voice = voice_1;
2036
+ utterThis.onend = function () {
2037
+ speechDom.className = "vditor-speech";
2038
+ speechSynthesis.cancel();
2039
+ speechDom.innerHTML = playSVG;
2040
+ };
2041
+ speechSynthesis.speak(utterThis);
2042
+ speechDom.className = "vditor-speech vditor-speech--current";
2043
+ speechDom.innerHTML = pauseSVG;
2044
+ }
2045
+ else {
2046
+ if (speechSynthesis.speaking) {
2047
+ if (speechSynthesis.paused) {
2048
+ speechSynthesis.resume();
2049
+ speechDom.innerHTML = pauseSVG;
2050
+ }
2051
+ else {
2052
+ speechSynthesis.pause();
2053
+ speechDom.innerHTML = playSVG;
2054
+ }
2055
+ }
2056
+ }
2057
+ (0,selection/* setSelectionFocus */.Hc)(window.vditorSpeechRange);
2058
+ };
2059
+ document.body.addEventListener("click", function () {
2060
+ if (getSelection().toString().trim() === "" && speechDom.style.display === "block") {
2061
+ speechDom.className = "vditor-speech";
2062
+ speechSynthesis.cancel();
2063
+ speechDom.style.display = "none";
2064
+ }
2065
+ });
2066
+ }
2067
+ element.addEventListener("mouseup", function (event) {
2068
+ var text = getSelection().toString().trim();
2069
+ speechSynthesis.cancel();
2070
+ if (getSelection().toString().trim() === "") {
2071
+ if (speechDom.style.display === "block") {
2072
+ speechDom.className = "vditor-speech";
2073
+ speechDom.style.display = "none";
2074
+ }
2075
+ return;
2076
+ }
2077
+ window.vditorSpeechRange = getSelection().getRangeAt(0).cloneRange();
2078
+ var rect = getSelection().getRangeAt(0).getBoundingClientRect();
2079
+ speechDom.innerHTML = playSVG;
2080
+ speechDom.style.display = "block";
2081
+ speechDom.style.top = (rect.top + rect.height + document.querySelector("html").scrollTop - 20) + "px";
2082
+ speechDom.style.left = (event.screenX + 2) + "px";
2083
+ speechDom.setAttribute("data-text", text);
2084
+ });
2085
+ };
2086
+
2087
+ ;// CONCATENATED MODULE: ./src/ts/markdown/previewRender.ts
2088
+ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
2089
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
2090
+ return new (P || (P = Promise))(function (resolve, reject) {
2091
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
2092
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
2093
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
2094
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
2095
+ });
2096
+ };
2097
+ var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
2098
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
2099
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
2100
+ function verb(n) { return function (v) { return step([n, v]); }; }
2101
+ function step(op) {
2102
+ if (f) throw new TypeError("Generator is already executing.");
2103
+ while (_) try {
2104
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
2105
+ if (y = 0, t) op = [op[0] & 2, t.value];
2106
+ switch (op[0]) {
2107
+ case 0: case 1: t = op; break;
2108
+ case 4: _.label++; return { value: op[1], done: false };
2109
+ case 5: _.label++; y = op[1]; op = [0]; continue;
2110
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
2111
+ default:
2112
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
2113
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
2114
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
2115
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
2116
+ if (t[2]) _.ops.pop();
2117
+ _.trys.pop(); continue;
2118
+ }
2119
+ op = body.call(thisArg, _);
2120
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
2121
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
2122
+ }
2123
+ };
2124
+
2125
+
2126
+
2127
+
2128
+
2129
+
2130
+
2131
+
2132
+
2133
+
2134
+
2135
+
2136
+
2137
+
2138
+
2139
+
2140
+
2141
+
2142
+
2143
+
2144
+ var mergeOptions = function (options) {
2145
+ var defaultOption = {
2146
+ anchor: 0,
2147
+ cdn: constants/* Constants.CDN */.g.CDN,
2148
+ customEmoji: {},
2149
+ emojiPath: ((options && options.emojiPath) || constants/* Constants.CDN */.g.CDN) + "/dist/images/emoji",
2150
+ hljs: constants/* Constants.HLJS_OPTIONS */.g.HLJS_OPTIONS,
2151
+ icon: "ant",
2152
+ lang: "zh_CN",
2153
+ markdown: constants/* Constants.MARKDOWN_OPTIONS */.g.MARKDOWN_OPTIONS,
2154
+ math: constants/* Constants.MATH_OPTIONS */.g.MATH_OPTIONS,
2155
+ mode: "light",
2156
+ speech: {
2157
+ enable: false,
2158
+ },
2159
+ theme: constants/* Constants.THEME_OPTIONS */.g.THEME_OPTIONS,
2160
+ };
2161
+ return (0,merge/* merge */.T)(defaultOption, options);
2162
+ };
2163
+ var md2html = function (mdText, options) {
2164
+ var mergedOptions = mergeOptions(options);
2165
+ return (0,addScript/* addScript */.G)(mergedOptions.cdn + "/dist/js/lute/lute.min.js", "vditorLuteScript").then(function () {
2166
+ var lute = (0,setLute/* setLute */.X)({
2167
+ autoSpace: mergedOptions.markdown.autoSpace,
2168
+ codeBlockPreview: mergedOptions.markdown.codeBlockPreview,
2169
+ emojiSite: mergedOptions.emojiPath,
2170
+ emojis: mergedOptions.customEmoji,
2171
+ fixTermTypo: mergedOptions.markdown.fixTermTypo,
2172
+ footnotes: mergedOptions.markdown.footnotes,
2173
+ headingAnchor: mergedOptions.anchor !== 0,
2174
+ inlineMathDigit: mergedOptions.math.inlineDigit,
2175
+ lazyLoadImage: mergedOptions.lazyLoadImage,
2176
+ linkBase: mergedOptions.markdown.linkBase,
2177
+ linkPrefix: mergedOptions.markdown.linkPrefix,
2178
+ listStyle: mergedOptions.markdown.listStyle,
2179
+ mark: mergedOptions.markdown.mark,
2180
+ mathBlockPreview: mergedOptions.markdown.mathBlockPreview,
2181
+ paragraphBeginningSpace: mergedOptions.markdown.paragraphBeginningSpace,
2182
+ sanitize: mergedOptions.markdown.sanitize,
2183
+ toc: mergedOptions.markdown.toc,
2184
+ });
2185
+ if (options === null || options === void 0 ? void 0 : options.renderers) {
2186
+ lute.SetJSRenderers({
2187
+ renderers: {
2188
+ Md2HTML: options.renderers,
2189
+ },
2190
+ });
2191
+ }
2192
+ lute.SetHeadingID(true);
2193
+ return lute.Md2HTML(mdText);
2194
+ });
2195
+ };
2196
+ var previewRender = function (previewElement, markdown, options) { return __awaiter(void 0, void 0, void 0, function () {
2197
+ var mergedOptions, html, i18nScriptPrefix, i18nScriptID_1;
2198
+ return __generator(this, function (_a) {
2199
+ switch (_a.label) {
2200
+ case 0:
2201
+ mergedOptions = mergeOptions(options);
2202
+ return [4 /*yield*/, md2html(markdown, mergedOptions)];
2203
+ case 1:
2204
+ html = _a.sent();
2205
+ if (mergedOptions.transform) {
2206
+ html = mergedOptions.transform(html);
2207
+ }
2208
+ previewElement.innerHTML = html;
2209
+ previewElement.classList.add("vditor-reset");
2210
+ if (!mergedOptions.i18n) {
2211
+ if (!["en_US", "ja_JP", "ko_KR", "ru_RU", "zh_CN", "zh_TW"].includes(mergedOptions.lang)) {
2212
+ throw new Error("options.lang error, see https://ld246.com/article/1549638745630#options");
2213
+ }
2214
+ else {
2215
+ i18nScriptPrefix = "vditorI18nScript";
2216
+ i18nScriptID_1 = i18nScriptPrefix + mergedOptions.lang;
2217
+ document.querySelectorAll("head script[id^=\"" + i18nScriptPrefix + "\"]").forEach(function (el) {
2218
+ if (el.id !== i18nScriptID_1) {
2219
+ document.head.removeChild(el);
2220
+ }
2221
+ });
2222
+ (0,addScript/* addScript */.G)(mergedOptions.cdn + "/dist/js/i18n/" + mergedOptions.lang + ".js", i18nScriptID_1);
2223
+ }
2224
+ }
2225
+ else {
2226
+ window.VditorI18n = mergedOptions.i18n;
2227
+ }
2228
+ (0,setContentTheme/* setContentTheme */.Z)(mergedOptions.theme.current, mergedOptions.theme.path);
2229
+ if (mergedOptions.anchor === 1) {
2230
+ previewElement.classList.add("vditor-reset--anchor");
2231
+ }
2232
+ (0,codeRender/* codeRender */.O)(previewElement);
2233
+ (0,highlightRender/* highlightRender */.s)(mergedOptions.hljs, previewElement, mergedOptions.cdn);
2234
+ (0,mathRender/* mathRender */.H)(previewElement, {
2235
+ cdn: mergedOptions.cdn,
2236
+ math: mergedOptions.math,
2237
+ });
2238
+ (0,mermaidRender/* mermaidRender */.i)(previewElement, mergedOptions.cdn, mergedOptions.mode);
2239
+ (0,flowchartRender/* flowchartRender */.P)(previewElement, mergedOptions.cdn);
2240
+ (0,graphvizRender/* graphvizRender */.v)(previewElement, mergedOptions.cdn);
2241
+ (0,chartRender/* chartRender */.p)(previewElement, mergedOptions.cdn, mergedOptions.mode);
2242
+ (0,mindmapRender/* mindmapRender */.P)(previewElement, mergedOptions.cdn, mergedOptions.mode);
2243
+ (0,plantumlRender/* plantumlRender */.B)(previewElement, mergedOptions.cdn);
2244
+ (0,abcRender/* abcRender */.Q)(previewElement, mergedOptions.cdn);
2245
+ (0,mediaRender/* mediaRender */.Y)(previewElement);
2246
+ if (mergedOptions.speech.enable) {
2247
+ speechRender(previewElement);
2248
+ }
2249
+ if (mergedOptions.anchor !== 0) {
2250
+ anchorRender(mergedOptions.anchor);
2251
+ }
2252
+ if (mergedOptions.after) {
2253
+ mergedOptions.after();
2254
+ }
2255
+ if (mergedOptions.lazyLoadImage) {
2256
+ lazyLoadImageRender(previewElement);
2257
+ }
2258
+ if (mergedOptions.icon) {
2259
+ (0,addScript/* addScript */.G)(mergedOptions.cdn + "/dist/js/icons/" + mergedOptions.icon + ".js", "vditorIconScript");
2260
+ }
2261
+ previewElement.addEventListener("click", function (event) {
2262
+ var spanElement = (0,hasClosest/* hasClosestByMatchTag */.lG)(event.target, "SPAN");
2263
+ if (spanElement && (0,hasClosest/* hasClosestByClassName */.fb)(spanElement, "vditor-toc")) {
2264
+ var headingElement = previewElement.querySelector("#" + spanElement.getAttribute("data-target-id"));
2265
+ if (headingElement) {
2266
+ window.scrollTo(window.scrollX, headingElement.offsetTop);
2267
+ }
2268
+ return;
2269
+ }
2270
+ });
2271
+ return [2 /*return*/];
2272
+ }
2273
+ });
2274
+ }); };
2275
+
2276
+ // EXTERNAL MODULE: ./src/ts/preview/image.ts
2277
+ var preview_image = __webpack_require__(264);
2278
+ // EXTERNAL MODULE: ./src/ts/ui/setCodeTheme.ts
2279
+ var setCodeTheme = __webpack_require__(968);
2280
+ ;// CONCATENATED MODULE: ./src/method.ts
2281
+
2282
+
2283
+
2284
+
2285
+
2286
+
2287
+
2288
+
2289
+
2290
+
2291
+
2292
+
2293
+
2294
+
2295
+
2296
+
2297
+
2298
+
2299
+
2300
+ var Vditor = /** @class */ (function () {
2301
+ function Vditor() {
2302
+ }
2303
+ /** 点击图片放大 */
2304
+ Vditor.adapterRender = adapterRender;
2305
+ /** 点击图片放大 */
2306
+ Vditor.previewImage = preview_image/* previewImage */.E;
2307
+ /** 为 element 中的代码块添加复制按钮 */
2308
+ Vditor.codeRender = codeRender/* codeRender */.O;
2309
+ /** 对 graphviz 进行渲染 */
2310
+ Vditor.graphvizRender = graphvizRender/* graphvizRender */.v;
2311
+ /** 为 element 中的代码块进行高亮渲染 */
2312
+ Vditor.highlightRender = highlightRender/* highlightRender */.s;
2313
+ /** 对数学公式进行渲染 */
2314
+ Vditor.mathRender = mathRender/* mathRender */.H;
2315
+ /** 流程图/时序图/甘特图渲染 */
2316
+ Vditor.mermaidRender = mermaidRender/* mermaidRender */.i;
2317
+ /** flowchart.js 渲染 */
2318
+ Vditor.flowchartRender = flowchartRender/* flowchartRender */.P;
2319
+ /** 图表渲染 */
2320
+ Vditor.chartRender = chartRender/* chartRender */.p;
2321
+ /** 五线谱渲染 */
2322
+ Vditor.abcRender = abcRender/* abcRender */.Q;
2323
+ /** 脑图渲染 */
2324
+ Vditor.mindmapRender = mindmapRender/* mindmapRender */.P;
2325
+ /** plantuml渲染 */
2326
+ Vditor.plantumlRender = plantumlRender/* plantumlRender */.B;
2327
+ /** 大纲渲染 */
2328
+ Vditor.outlineRender = outlineRender/* outlineRender */.k;
2329
+ /** 为[特定链接](https://github.com/Vanessa219/vditor/issues/7)分别渲染为视频、音频、嵌入的 iframe */
2330
+ Vditor.mediaRender = mediaRender/* mediaRender */.Y;
2331
+ /** 对选中的文字进行阅读 */
2332
+ Vditor.speechRender = speechRender;
2333
+ /** 对图片进行懒加载 */
2334
+ Vditor.lazyLoadImageRender = lazyLoadImageRender;
2335
+ /** Markdown 文本转换为 HTML,该方法需使用[异步编程](https://ld246.com/article/1546828434083?r=Vaness) */
2336
+ Vditor.md2html = md2html;
2337
+ /** 页面 Markdown 文章渲染 */
2338
+ Vditor.preview = previewRender;
2339
+ /** 设置代码主题 */
2340
+ Vditor.setCodeTheme = setCodeTheme/* setCodeTheme */.Y;
2341
+ /** 设置内容主题 */
2342
+ Vditor.setContentTheme = setContentTheme/* setContentTheme */.Z;
2343
+ return Vditor;
2344
+ }());
2345
+ /* harmony default export */ const method = (Vditor);
2346
+
2347
+ })();
2348
+
2349
+ __webpack_exports__ = __webpack_exports__["default"];
2350
+ /******/ return __webpack_exports__;
2351
+ /******/ })()
2352
+ ;
2353
+ });