vditor 3.11.2 → 3.11.3

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 (47) hide show
  1. package/README.md +11 -1
  2. package/dist/css/content-theme/ant-design.css +10 -0
  3. package/dist/css/content-theme/dark.css +10 -0
  4. package/dist/css/content-theme/light.css +13 -0
  5. package/dist/css/content-theme/wechat.css +10 -0
  6. package/dist/index.css +133 -4
  7. package/dist/index.js +587 -36
  8. package/dist/index.min.js +1 -1
  9. package/dist/js/i18n/ja_JP.js +2 -2
  10. package/dist/js/i18n/zh_TW.js +8 -8
  11. package/dist/js/lute/lute.min.js +75 -60
  12. package/dist/js/mermaid/mermaid.min.js +2027 -1047
  13. package/dist/js/wavedrom/LICENSE.WaveDrom +21 -0
  14. package/dist/js/wavedrom/wavedrom.min.js +9 -0
  15. package/dist/method.d.ts +2 -0
  16. package/dist/method.js +311 -6
  17. package/dist/method.min.js +1 -1
  18. package/dist/ts/constants.d.ts +4 -0
  19. package/dist/ts/markdown/adapterRender.d.ts +4 -0
  20. package/dist/ts/markdown/imageCaptionRender.d.ts +2 -0
  21. package/dist/ts/markdown/wavedromRender.d.ts +1 -0
  22. package/dist/ts/util/fixBrowserBehavior.d.ts +1 -0
  23. package/dist/types/index.d.ts +15 -0
  24. package/package.json +7 -4
  25. package/src/assets/less/_reset.less +103 -2
  26. package/src/assets/less/index.less +20 -0
  27. package/src/index.ts +3 -0
  28. package/src/method.ts +3 -0
  29. package/src/ts/constants.ts +5 -1
  30. package/src/ts/export/index.ts +2 -0
  31. package/src/ts/ir/index.ts +26 -0
  32. package/src/ts/ir/process.ts +24 -1
  33. package/src/ts/markdown/adapterRender.ts +4 -0
  34. package/src/ts/markdown/getHTML.ts +6 -3
  35. package/src/ts/markdown/imageCaptionRender.ts +175 -0
  36. package/src/ts/markdown/mermaidRender.ts +1 -1
  37. package/src/ts/markdown/previewRender.ts +7 -1
  38. package/src/ts/markdown/setLute.ts +3 -0
  39. package/src/ts/markdown/wavedromRender.ts +54 -0
  40. package/src/ts/preview/index.ts +5 -0
  41. package/src/ts/util/Options.ts +1 -1
  42. package/src/ts/util/fixBrowserBehavior.ts +91 -15
  43. package/src/ts/util/processCode.ts +3 -0
  44. package/src/ts/wysiwyg/afterRenderEvent.ts +2 -0
  45. package/src/ts/wysiwyg/highlightToolbarWYSIWYG.ts +5 -1
  46. package/src/ts/wysiwyg/input.ts +5 -0
  47. package/src/ts/wysiwyg/setHeading.ts +110 -6
package/dist/method.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vditor v3.11.2 - A markdown editor written in TypeScript.
2
+ * Vditor v3.11.3 - A markdown editor written in TypeScript.
3
3
  *
4
4
  * MIT License
5
5
  *
@@ -45,7 +45,7 @@ return /******/ (() => { // webpackBootstrap
45
45
  /* harmony export */ "g": () => (/* binding */ Constants)
46
46
  /* harmony export */ });
47
47
  /* unused harmony export VDITOR_VERSION */
48
- var _VDITOR_VERSION = (/* unused pure expression or super */ null && ("3.11.2"));
48
+ var _VDITOR_VERSION = (/* unused pure expression or super */ null && ("3.11.3"));
49
49
 
50
50
  var Constants = /** @class */ (function () {
51
51
  function Constants() {
@@ -89,17 +89,19 @@ var Constants = /** @class */ (function () {
89
89
  "stackoverflow-light", "tokyo-night-light", "vs", "xcode", "default"];
90
90
  Constants.ALIAS_CODE_LANGUAGES = [
91
91
  // 自定义
92
- "abc", "plantuml", "mermaid", "flowchart", "echarts", "mindmap", "graphviz", "math", "markmap", "smiles",
92
+ "abc", "plantuml", "mermaid", "flowchart", "echarts", "mindmap", "graphviz", "wavedrom", "math", "markmap", "smiles",
93
93
  // 别名
94
94
  "js", "ts", "html", "toml", "c#", "bat"
95
95
  ];
96
- Constants.CDN = "https://unpkg.com/vditor@".concat("3.11.2");
96
+ Constants.CDN = "https://unpkg.com/vditor@".concat("3.11.3");
97
97
  Constants.MARKDOWN_OPTIONS = {
98
98
  autoSpace: false,
99
+ callout: true,
99
100
  gfmAutoLink: true,
100
101
  codeBlockPreview: true,
101
102
  fixTermTypo: false,
102
103
  footnotes: true,
104
+ imageCaption: false,
103
105
  linkBase: "",
104
106
  linkPrefix: "",
105
107
  listStyle: false,
@@ -107,6 +109,8 @@ var Constants = /** @class */ (function () {
107
109
  mathBlockPreview: true,
108
110
  paragraphBeginningSpace: false,
109
111
  sanitize: true,
112
+ sub: false,
113
+ sup: false,
110
114
  toc: false,
111
115
  };
112
116
  Constants.HLJS_OPTIONS = {
@@ -225,6 +229,7 @@ __webpack_require__.r(__webpack_exports__);
225
229
  /* harmony export */ "chartRenderAdapter": () => (/* binding */ chartRenderAdapter),
226
230
  /* harmony export */ "abcRenderAdapter": () => (/* binding */ abcRenderAdapter),
227
231
  /* harmony export */ "graphvizRenderAdapter": () => (/* binding */ graphvizRenderAdapter),
232
+ /* harmony export */ "wavedromRenderAdapter": () => (/* binding */ wavedromRenderAdapter),
228
233
  /* harmony export */ "flowchartRenderAdapter": () => (/* binding */ flowchartRenderAdapter),
229
234
  /* harmony export */ "plantumlRenderAdapter": () => (/* binding */ plantumlRenderAdapter)
230
235
  /* harmony export */ });
@@ -261,6 +266,10 @@ var graphvizRenderAdapter = {
261
266
  getCode: function (el) { return el.textContent; },
262
267
  getElements: function (el) { return el.querySelectorAll(".language-graphviz"); },
263
268
  };
269
+ var wavedromRenderAdapter = {
270
+ getCode: function (el) { return el.textContent; },
271
+ getElements: function (el) { return el.querySelectorAll(".language-wavedrom"); },
272
+ };
264
273
  var flowchartRenderAdapter = {
265
274
  getCode: function (el) { return el.textContent; },
266
275
  getElements: function (el) { return el.querySelectorAll(".language-flowchart"); },
@@ -617,6 +626,178 @@ var highlightRender = function (hljsOption, element, cdn) {
617
626
  };
618
627
 
619
628
 
629
+ /***/ }),
630
+
631
+ /***/ 161:
632
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
633
+
634
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
635
+ /* harmony export */ "V": () => (/* binding */ renderImageCaptionHTML)
636
+ /* harmony export */ });
637
+ /* unused harmony export renderImageCaptions */
638
+ var getContentNodes = function (element, ignoreIRMarkers) {
639
+ if (ignoreIRMarkers === void 0) { ignoreIRMarkers = false; }
640
+ return Array.from(element.childNodes).filter(function (node) {
641
+ if (node.nodeType === Node.COMMENT_NODE) {
642
+ return false;
643
+ }
644
+ if (node.nodeType === Node.TEXT_NODE) {
645
+ return node.textContent.replace(/\u200b/g, "").trim() !== "";
646
+ }
647
+ if (!(node instanceof HTMLElement)) {
648
+ return true;
649
+ }
650
+ if (node.tagName === "WBR") {
651
+ return false;
652
+ }
653
+ return !ignoreIRMarkers || !node.classList.contains("vditor-ir__marker");
654
+ });
655
+ };
656
+ var getWYSIWYGImage = function (paragraph) {
657
+ var nodes = getContentNodes(paragraph);
658
+ if (nodes.length !== 1 || !(nodes[0] instanceof HTMLElement)) {
659
+ return undefined;
660
+ }
661
+ var container = nodes[0];
662
+ if (container instanceof HTMLImageElement) {
663
+ return {
664
+ container: container,
665
+ image: container,
666
+ };
667
+ }
668
+ if (container instanceof HTMLAnchorElement) {
669
+ var linkNodes = getContentNodes(container);
670
+ if (linkNodes.length === 1 && linkNodes[0] instanceof HTMLImageElement) {
671
+ return {
672
+ container: container,
673
+ image: linkNodes[0],
674
+ };
675
+ }
676
+ }
677
+ return undefined;
678
+ };
679
+ var getIRImage = function (paragraph) {
680
+ var nodes = getContentNodes(paragraph);
681
+ if (nodes.length !== 1 || !(nodes[0] instanceof HTMLElement)) {
682
+ return undefined;
683
+ }
684
+ var imageNode = nodes[0];
685
+ if (imageNode.getAttribute("data-type") === "a") {
686
+ var linkNodes = getContentNodes(imageNode, true);
687
+ if (linkNodes.length !== 1 || !(linkNodes[0] instanceof HTMLElement)) {
688
+ return undefined;
689
+ }
690
+ imageNode = linkNodes[0];
691
+ }
692
+ if (imageNode.getAttribute("data-type") !== "img") {
693
+ return undefined;
694
+ }
695
+ var image = imageNode.querySelector(":scope > img");
696
+ var titleMarker = imageNode.querySelector(":scope > .vditor-ir__marker--title");
697
+ if (!(image instanceof HTMLImageElement) || !titleMarker) {
698
+ return undefined;
699
+ }
700
+ var markerText = titleMarker.textContent.trim();
701
+ var closeMarker = markerText[0] === "(" ? ")" : markerText[0];
702
+ if (markerText.length < 2 || !["\"", "'", "("].includes(markerText[0]) ||
703
+ markerText[markerText.length - 1] !== closeMarker) {
704
+ return undefined;
705
+ }
706
+ return {
707
+ caption: markerText.slice(1, -1).trim(),
708
+ container: imageNode,
709
+ image: image,
710
+ };
711
+ };
712
+ var unwrapWYSIWYGCaptions = function (element) {
713
+ element.querySelectorAll("span.vditor-image[data-image-caption]").forEach(function (wrapper) {
714
+ while (wrapper.firstChild) {
715
+ wrapper.parentNode.insertBefore(wrapper.firstChild, wrapper);
716
+ }
717
+ wrapper.remove();
718
+ });
719
+ };
720
+ var resetIRCaptions = function (element) {
721
+ element.querySelectorAll(".vditor-image[data-image-caption]").forEach(function (imageNode) {
722
+ imageNode.classList.remove("vditor-image");
723
+ imageNode.removeAttribute("data-image-caption");
724
+ });
725
+ };
726
+ var renderPreviewCaptions = function (element) {
727
+ element.querySelectorAll("p").forEach(function (paragraph) {
728
+ var _a;
729
+ var imageData = getWYSIWYGImage(paragraph);
730
+ var caption = (_a = imageData === null || imageData === void 0 ? void 0 : imageData.image.getAttribute("title")) === null || _a === void 0 ? void 0 : _a.trim();
731
+ if (!imageData || !caption) {
732
+ return;
733
+ }
734
+ var figure = document.createElement("figure");
735
+ Array.from(paragraph.attributes).forEach(function (attribute) {
736
+ figure.setAttribute(attribute.name, attribute.value);
737
+ });
738
+ figure.classList.add("vditor-image");
739
+ var figcaption = document.createElement("figcaption");
740
+ figcaption.textContent = caption;
741
+ figure.append(imageData.container, figcaption);
742
+ paragraph.replaceWith(figure);
743
+ });
744
+ };
745
+ var renderWYSIWYGCaptions = function (element) {
746
+ element.querySelectorAll("p").forEach(function (paragraph) {
747
+ var _a;
748
+ var imageData = getWYSIWYGImage(paragraph);
749
+ var caption = (_a = imageData === null || imageData === void 0 ? void 0 : imageData.image.getAttribute("title")) === null || _a === void 0 ? void 0 : _a.trim();
750
+ if (!imageData || !caption) {
751
+ return;
752
+ }
753
+ var wrapper = document.createElement("span");
754
+ wrapper.className = "vditor-image";
755
+ wrapper.setAttribute("data-image-caption", caption);
756
+ imageData.container.replaceWith(wrapper);
757
+ wrapper.append(imageData.container);
758
+ });
759
+ };
760
+ var renderIRCaptions = function (element) {
761
+ element.querySelectorAll("p").forEach(function (paragraph) {
762
+ var imageData = getIRImage(paragraph);
763
+ if (!(imageData === null || imageData === void 0 ? void 0 : imageData.caption)) {
764
+ return;
765
+ }
766
+ imageData.container.classList.add("vditor-image");
767
+ imageData.container.setAttribute("data-image-caption", imageData.caption);
768
+ });
769
+ };
770
+ var renderImageCaptions = function (element, mode, enable) {
771
+ if (mode === "wysiwyg") {
772
+ unwrapWYSIWYGCaptions(element);
773
+ }
774
+ else if (mode === "ir") {
775
+ resetIRCaptions(element);
776
+ }
777
+ if (!enable) {
778
+ return;
779
+ }
780
+ if (mode === "preview") {
781
+ renderPreviewCaptions(element);
782
+ }
783
+ else if (mode === "wysiwyg") {
784
+ renderWYSIWYGCaptions(element);
785
+ }
786
+ else {
787
+ renderIRCaptions(element);
788
+ }
789
+ };
790
+ var renderImageCaptionHTML = function (html, enable) {
791
+ if (!enable) {
792
+ return html;
793
+ }
794
+ var container = document.createElement("div");
795
+ container.innerHTML = html;
796
+ renderImageCaptions(container, "preview", true);
797
+ return container.innerHTML;
798
+ };
799
+
800
+
620
801
  /***/ }),
621
802
 
622
803
  /***/ 11:
@@ -1000,7 +1181,7 @@ var mermaidRender = function (element, cdn, theme) {
1000
1181
  if (mermaidElements.length === 0) {
1001
1182
  return;
1002
1183
  }
1003
- (0,_util_addScript__WEBPACK_IMPORTED_MODULE_2__/* .addScript */ .G)("".concat(cdn, "/dist/js/mermaid/mermaid.min.js?v=11.6.0"), "vditorMermaidScript").then(function () {
1184
+ (0,_util_addScript__WEBPACK_IMPORTED_MODULE_2__/* .addScript */ .G)("".concat(cdn, "/dist/js/mermaid/mermaid.min.js?v=11.16.1"), "vditorMermaidScript").then(function () {
1004
1185
  var config = {
1005
1186
  securityLevel: "loose",
1006
1187
  altFontFamily: "sans-serif",
@@ -1335,6 +1516,7 @@ var setLute = function (options) {
1335
1516
  lute.SetHeadingAnchor(options.headingAnchor);
1336
1517
  lute.SetInlineMathAllowDigitAfterOpenMarker(options.inlineMathDigit);
1337
1518
  lute.SetAutoSpace(options.autoSpace);
1519
+ lute.SetCallout(options.callout);
1338
1520
  lute.SetToC(options.toc);
1339
1521
  lute.SetFootnotes(options.footnotes);
1340
1522
  lute.SetFixTermTypo(options.fixTermTypo);
@@ -1350,10 +1532,120 @@ var setLute = function (options) {
1350
1532
  if (options.lazyLoadImage) {
1351
1533
  lute.SetImageLazyLoading(options.lazyLoadImage);
1352
1534
  }
1535
+ lute.SetSup(options.sup);
1536
+ lute.SetSub(options.sub);
1353
1537
  return lute;
1354
1538
  };
1355
1539
 
1356
1540
 
1541
+ /***/ }),
1542
+
1543
+ /***/ 497:
1544
+ /***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
1545
+
1546
+ /* harmony export */ __webpack_require__.d(__webpack_exports__, {
1547
+ /* harmony export */ "F": () => (/* binding */ wavedromRender)
1548
+ /* harmony export */ });
1549
+ /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(145);
1550
+ /* harmony import */ var _util_addScript__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(413);
1551
+ /* harmony import */ var _util_function__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(494);
1552
+ /* harmony import */ var _adapterRender__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(840);
1553
+ var __awaiter = (undefined && undefined.__awaiter) || function (thisArg, _arguments, P, generator) {
1554
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
1555
+ return new (P || (P = Promise))(function (resolve, reject) {
1556
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
1557
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
1558
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
1559
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
1560
+ });
1561
+ };
1562
+ var __generator = (undefined && undefined.__generator) || function (thisArg, body) {
1563
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
1564
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
1565
+ function verb(n) { return function (v) { return step([n, v]); }; }
1566
+ function step(op) {
1567
+ if (f) throw new TypeError("Generator is already executing.");
1568
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
1569
+ 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;
1570
+ if (y = 0, t) op = [op[0] & 2, t.value];
1571
+ switch (op[0]) {
1572
+ case 0: case 1: t = op; break;
1573
+ case 4: _.label++; return { value: op[1], done: false };
1574
+ case 5: _.label++; y = op[1]; op = [0]; continue;
1575
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
1576
+ default:
1577
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
1578
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
1579
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
1580
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
1581
+ if (t[2]) _.ops.pop();
1582
+ _.trys.pop(); continue;
1583
+ }
1584
+ op = body.call(thisArg, _);
1585
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
1586
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
1587
+ }
1588
+ };
1589
+
1590
+
1591
+
1592
+
1593
+ var wavedromIndex = 0;
1594
+ var wavedromRender = function (element, cdn) {
1595
+ if (element === void 0) { element = document; }
1596
+ if (cdn === void 0) { cdn = _constants__WEBPACK_IMPORTED_MODULE_0__/* .Constants.CDN */ .g.CDN; }
1597
+ var wavedromElements = _adapterRender__WEBPACK_IMPORTED_MODULE_1__.wavedromRenderAdapter.getElements(element);
1598
+ if (wavedromElements.length === 0) {
1599
+ return;
1600
+ }
1601
+ (0,_util_addScript__WEBPACK_IMPORTED_MODULE_2__/* .addScript */ .G)("".concat(cdn, "/dist/js/wavedrom/wavedrom.min.js?v=3.6.2"), "vditorWavedromScript").then(function () {
1602
+ wavedromElements.forEach(function (item) { return __awaiter(void 0, void 0, void 0, function () {
1603
+ var code, renderElement, source, error_1, message, lineBreak;
1604
+ return __generator(this, function (_a) {
1605
+ switch (_a.label) {
1606
+ case 0:
1607
+ if (item.parentElement.classList.contains("vditor-wysiwyg__pre") ||
1608
+ item.parentElement.classList.contains("vditor-ir__marker--pre")) {
1609
+ return [2 /*return*/];
1610
+ }
1611
+ code = _adapterRender__WEBPACK_IMPORTED_MODULE_1__.wavedromRenderAdapter.getCode(item);
1612
+ if (item.getAttribute("data-processed") === "true" || code.trim() === "") {
1613
+ return [2 /*return*/];
1614
+ }
1615
+ renderElement = item;
1616
+ if (item.tagName === "CODE") {
1617
+ renderElement = document.createElement("div");
1618
+ Array.from(item.attributes).forEach(function (attribute) {
1619
+ renderElement.setAttribute(attribute.name, attribute.value);
1620
+ });
1621
+ item.replaceWith(renderElement);
1622
+ }
1623
+ _a.label = 1;
1624
+ case 1:
1625
+ _a.trys.push([1, 3, , 4]);
1626
+ return [4 /*yield*/, (0,_util_function__WEBPACK_IMPORTED_MODULE_3__/* .looseJsonParse */ .Qf)(code)];
1627
+ case 2:
1628
+ source = _a.sent();
1629
+ wavedrom.renderWaveElement(wavedromIndex, source, renderElement, wavedrom.waveSkin, false);
1630
+ wavedromIndex++;
1631
+ return [3 /*break*/, 4];
1632
+ case 3:
1633
+ error_1 = _a.sent();
1634
+ message = error_1 instanceof Error ? error_1.message : String(error_1);
1635
+ lineBreak = document.createElement("br");
1636
+ renderElement.replaceChildren(document.createTextNode("wavedrom render error:"), lineBreak, document.createTextNode(message));
1637
+ renderElement.classList.add("vditor-reset--error");
1638
+ return [3 /*break*/, 4];
1639
+ case 4:
1640
+ renderElement.setAttribute("data-processed", "true");
1641
+ return [2 /*return*/];
1642
+ }
1643
+ });
1644
+ }); });
1645
+ });
1646
+ };
1647
+
1648
+
1357
1649
  /***/ }),
1358
1650
 
1359
1651
  /***/ 190:
@@ -2238,6 +2530,8 @@ var mindmapRender = __webpack_require__(194);
2238
2530
  var outlineRender = __webpack_require__(436);
2239
2531
  // EXTERNAL MODULE: ./src/ts/markdown/plantumlRender.ts
2240
2532
  var plantumlRender = __webpack_require__(229);
2533
+ // EXTERNAL MODULE: ./src/ts/markdown/wavedromRender.ts
2534
+ var wavedromRender = __webpack_require__(497);
2241
2535
  // EXTERNAL MODULE: ./src/ts/constants.ts
2242
2536
  var constants = __webpack_require__(145);
2243
2537
  // EXTERNAL MODULE: ./src/ts/ui/setContentTheme.ts
@@ -2268,6 +2562,8 @@ var anchorRender = function (type) {
2268
2562
  };
2269
2563
  };
2270
2564
 
2565
+ // EXTERNAL MODULE: ./src/ts/markdown/imageCaptionRender.ts
2566
+ var imageCaptionRender = __webpack_require__(161);
2271
2567
  // EXTERNAL MODULE: ./src/ts/markdown/setLute.ts
2272
2568
  var setLute = __webpack_require__(214);
2273
2569
  // EXTERNAL MODULE: ./src/ts/util/selection.ts
@@ -2428,6 +2724,8 @@ var __generator = (undefined && undefined.__generator) || function (thisArg, bod
2428
2724
 
2429
2725
 
2430
2726
 
2727
+
2728
+
2431
2729
 
2432
2730
 
2433
2731
 
@@ -2469,6 +2767,7 @@ var md2html = function (mdText, options) {
2469
2767
  return (0,addScript/* addScript */.G)("".concat(mergedOptions.cdn, "/dist/js/lute/lute.min.js"), "vditorLuteScript").then(function () {
2470
2768
  var lute = (0,setLute/* setLute */.X)({
2471
2769
  autoSpace: mergedOptions.markdown.autoSpace,
2770
+ callout: mergedOptions.markdown.callout,
2472
2771
  gfmAutoLink: mergedOptions.markdown.gfmAutoLink,
2473
2772
  codeBlockPreview: mergedOptions.markdown.codeBlockPreview,
2474
2773
  emojiSite: mergedOptions.emojiPath,
@@ -2485,6 +2784,8 @@ var md2html = function (mdText, options) {
2485
2784
  mathBlockPreview: mergedOptions.markdown.mathBlockPreview,
2486
2785
  paragraphBeginningSpace: mergedOptions.markdown.paragraphBeginningSpace,
2487
2786
  sanitize: mergedOptions.markdown.sanitize,
2787
+ sub: mergedOptions.markdown.sub,
2788
+ sup: mergedOptions.markdown.sup,
2488
2789
  toc: mergedOptions.markdown.toc,
2489
2790
  });
2490
2791
  if (options === null || options === void 0 ? void 0 : options.renderers) {
@@ -2495,7 +2796,7 @@ var md2html = function (mdText, options) {
2495
2796
  });
2496
2797
  }
2497
2798
  lute.SetHeadingID(true);
2498
- return lute.Md2HTML(mdText);
2799
+ return (0,imageCaptionRender/* renderImageCaptionHTML */.V)(lute.Md2HTML(mdText), mergedOptions.markdown.imageCaption);
2499
2800
  });
2500
2801
  };
2501
2802
  var previewRender = function (previewElement, markdown, options) { return __awaiter(void 0, void 0, void 0, function () {
@@ -2553,6 +2854,7 @@ var previewRender = function (previewElement, markdown, options) { return __awai
2553
2854
  (0,markmapRender/* markmapRender */.K)(previewElement, mergedOptions.cdn);
2554
2855
  (0,flowchartRender/* flowchartRender */.P)(previewElement, mergedOptions.cdn);
2555
2856
  (0,graphvizRender/* graphvizRender */.v)(previewElement, mergedOptions.cdn);
2857
+ (0,wavedromRender/* wavedromRender */.F)(previewElement, mergedOptions.cdn);
2556
2858
  (0,chartRender/* chartRender */.p)(previewElement, mergedOptions.cdn, mergedOptions.mode);
2557
2859
  (0,mindmapRender/* mindmapRender */.P)(previewElement, mergedOptions.cdn, mergedOptions.mode);
2558
2860
  (0,plantumlRender/* plantumlRender */.B)(previewElement, mergedOptions.cdn);
@@ -2611,6 +2913,7 @@ var setCodeTheme = __webpack_require__(580);
2611
2913
 
2612
2914
 
2613
2915
 
2916
+
2614
2917
 
2615
2918
 
2616
2919
  var Vditor = /** @class */ (function () {
@@ -2624,6 +2927,8 @@ var Vditor = /** @class */ (function () {
2624
2927
  Vditor.codeRender = codeRender/* codeRender */.O;
2625
2928
  /** 对 graphviz 进行渲染 */
2626
2929
  Vditor.graphvizRender = graphvizRender/* graphvizRender */.v;
2930
+ /** 对数字波形图进行渲染 */
2931
+ Vditor.wavedromRender = wavedromRender/* wavedromRender */.F;
2627
2932
  /** 为 element 中的代码块进行高亮渲染 */
2628
2933
  Vditor.highlightRender = highlightRender/* highlightRender */.s;
2629
2934
  /** 对数学公式进行渲染 */