vditor 3.11.2 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -1
- package/dist/css/content-theme/ant-design.css +10 -0
- package/dist/css/content-theme/dark.css +10 -0
- package/dist/css/content-theme/light.css +13 -0
- package/dist/css/content-theme/wechat.css +10 -0
- package/dist/index.css +163 -81
- package/dist/index.js +3035 -2715
- package/dist/index.min.js +1 -1
- package/dist/js/i18n/ja_JP.js +2 -2
- package/dist/js/i18n/zh_TW.js +8 -8
- package/dist/js/lute/lute.min.js +75 -60
- package/dist/js/mermaid/mermaid.min.js +2027 -1047
- package/dist/js/wavedrom/LICENSE.WaveDrom +21 -0
- package/dist/js/wavedrom/wavedrom.min.js +9 -0
- package/dist/method.d.ts +2 -0
- package/dist/method.js +323 -9
- package/dist/method.min.js +1 -1
- package/dist/ts/constants.d.ts +4 -0
- package/dist/ts/markdown/adapterRender.d.ts +4 -0
- package/dist/ts/markdown/imageCaptionRender.d.ts +2 -0
- package/dist/ts/markdown/wavedromRender.d.ts +1 -0
- package/dist/ts/sv/index.d.ts +1 -5
- package/dist/ts/sv/process.d.ts +1 -3
- package/dist/ts/upload/getElement.d.ts +1 -1
- package/dist/ts/upload/index.d.ts +2 -0
- package/dist/ts/util/editorCommonEvent.d.ts +1 -1
- package/dist/ts/util/fixBrowserBehavior.d.ts +1 -0
- package/dist/types/index.d.ts +22 -5
- package/package.json +7 -4
- package/src/assets/less/_reset.less +103 -2
- package/src/assets/less/_sv.less +2 -98
- package/src/assets/less/_wysiwyg.less +30 -0
- package/src/assets/less/index.less +20 -0
- package/src/index.ts +48 -14
- package/src/method.ts +3 -0
- package/src/ts/constants.ts +5 -1
- package/src/ts/export/index.ts +2 -0
- package/src/ts/hint/index.ts +9 -4
- package/src/ts/ir/highlightToolbarIR.ts +4 -4
- package/src/ts/ir/index.ts +26 -0
- package/src/ts/ir/process.ts +24 -1
- package/src/ts/markdown/adapterRender.ts +4 -0
- package/src/ts/markdown/getHTML.ts +6 -3
- package/src/ts/markdown/getMarkdown.ts +3 -3
- package/src/ts/markdown/imageCaptionRender.ts +175 -0
- package/src/ts/markdown/mermaidRender.ts +1 -1
- package/src/ts/markdown/previewRender.ts +7 -1
- package/src/ts/markdown/setLute.ts +3 -0
- package/src/ts/markdown/wavedromRender.ts +54 -0
- package/src/ts/preview/index.ts +5 -0
- package/src/ts/sv/index.ts +37 -76
- package/src/ts/sv/process.ts +48 -164
- package/src/ts/sv/processKeydown.ts +19 -186
- package/src/ts/toolbar/EditMode.ts +3 -10
- package/src/ts/toolbar/Emoji.ts +8 -1
- package/src/ts/toolbar/Record.ts +10 -2
- package/src/ts/toolbar/index.ts +3 -0
- package/src/ts/ui/initUI.ts +7 -3
- package/src/ts/undo/index.ts +32 -17
- package/src/ts/upload/index.ts +42 -10
- package/src/ts/util/Options.ts +1 -1
- package/src/ts/util/editorCommonEvent.ts +18 -9
- package/src/ts/util/fixBrowserBehavior.ts +197 -51
- package/src/ts/util/processCode.ts +3 -0
- package/src/ts/util/selection.ts +11 -3
- package/src/ts/wysiwyg/afterRenderEvent.ts +2 -0
- package/src/ts/wysiwyg/highlightToolbarWYSIWYG.ts +58 -2
- package/src/ts/wysiwyg/input.ts +5 -0
- package/src/ts/wysiwyg/processKeydown.ts +47 -0
- package/src/ts/wysiwyg/setHeading.ts +110 -6
- package/dist/ts/sv/combineFootnote.d.ts +0 -6
- package/dist/ts/sv/inputEvent.d.ts +0 -1
- package/src/ts/sv/combineFootnote.ts +0 -27
- package/src/ts/sv/inputEvent.ts +0 -188
package/dist/method.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vditor
|
|
2
|
+
* Vditor v4.0.0 - 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 && ("
|
|
48
|
+
var _VDITOR_VERSION = (/* unused pure expression or super */ null && ("4.0.0"));
|
|
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("
|
|
96
|
+
Constants.CDN = "https://unpkg.com/vditor@".concat("4.0.0");
|
|
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.
|
|
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:
|
|
@@ -1810,6 +2102,9 @@ var merge = function () {
|
|
|
1810
2102
|
|
|
1811
2103
|
|
|
1812
2104
|
var getEditorRange = function (vditor) {
|
|
2105
|
+
if (vditor.currentMode === "sv") {
|
|
2106
|
+
throw new Error("SV mode uses textarea selection");
|
|
2107
|
+
}
|
|
1813
2108
|
var range;
|
|
1814
2109
|
var element = vditor[vditor.currentMode].element;
|
|
1815
2110
|
if (getSelection().rangeCount > 0) {
|
|
@@ -1818,8 +2113,9 @@ var getEditorRange = function (vditor) {
|
|
|
1818
2113
|
return range;
|
|
1819
2114
|
}
|
|
1820
2115
|
}
|
|
1821
|
-
|
|
1822
|
-
|
|
2116
|
+
var lastRange = vditor.currentMode === "ir" ? vditor.ir.range : vditor.wysiwyg.range;
|
|
2117
|
+
if (lastRange) {
|
|
2118
|
+
return lastRange;
|
|
1823
2119
|
}
|
|
1824
2120
|
element.focus();
|
|
1825
2121
|
range = element.ownerDocument.createRange();
|
|
@@ -2058,7 +2354,12 @@ var insertHTML = function (html, vditor) {
|
|
|
2058
2354
|
pasteElement.innerHTML = html;
|
|
2059
2355
|
var range = getEditorRange(vditor);
|
|
2060
2356
|
if (range.toString() !== "") {
|
|
2061
|
-
vditor
|
|
2357
|
+
if (vditor.currentMode === "ir") {
|
|
2358
|
+
vditor.ir.preventInput = true;
|
|
2359
|
+
}
|
|
2360
|
+
else if (vditor.currentMode === "wysiwyg") {
|
|
2361
|
+
vditor.wysiwyg.preventInput = true;
|
|
2362
|
+
}
|
|
2062
2363
|
document.execCommand("delete", false, "");
|
|
2063
2364
|
}
|
|
2064
2365
|
if (pasteElement.firstElementChild &&
|
|
@@ -2238,6 +2539,8 @@ var mindmapRender = __webpack_require__(194);
|
|
|
2238
2539
|
var outlineRender = __webpack_require__(436);
|
|
2239
2540
|
// EXTERNAL MODULE: ./src/ts/markdown/plantumlRender.ts
|
|
2240
2541
|
var plantumlRender = __webpack_require__(229);
|
|
2542
|
+
// EXTERNAL MODULE: ./src/ts/markdown/wavedromRender.ts
|
|
2543
|
+
var wavedromRender = __webpack_require__(497);
|
|
2241
2544
|
// EXTERNAL MODULE: ./src/ts/constants.ts
|
|
2242
2545
|
var constants = __webpack_require__(145);
|
|
2243
2546
|
// EXTERNAL MODULE: ./src/ts/ui/setContentTheme.ts
|
|
@@ -2268,6 +2571,8 @@ var anchorRender = function (type) {
|
|
|
2268
2571
|
};
|
|
2269
2572
|
};
|
|
2270
2573
|
|
|
2574
|
+
// EXTERNAL MODULE: ./src/ts/markdown/imageCaptionRender.ts
|
|
2575
|
+
var imageCaptionRender = __webpack_require__(161);
|
|
2271
2576
|
// EXTERNAL MODULE: ./src/ts/markdown/setLute.ts
|
|
2272
2577
|
var setLute = __webpack_require__(214);
|
|
2273
2578
|
// EXTERNAL MODULE: ./src/ts/util/selection.ts
|
|
@@ -2428,6 +2733,8 @@ var __generator = (undefined && undefined.__generator) || function (thisArg, bod
|
|
|
2428
2733
|
|
|
2429
2734
|
|
|
2430
2735
|
|
|
2736
|
+
|
|
2737
|
+
|
|
2431
2738
|
|
|
2432
2739
|
|
|
2433
2740
|
|
|
@@ -2469,6 +2776,7 @@ var md2html = function (mdText, options) {
|
|
|
2469
2776
|
return (0,addScript/* addScript */.G)("".concat(mergedOptions.cdn, "/dist/js/lute/lute.min.js"), "vditorLuteScript").then(function () {
|
|
2470
2777
|
var lute = (0,setLute/* setLute */.X)({
|
|
2471
2778
|
autoSpace: mergedOptions.markdown.autoSpace,
|
|
2779
|
+
callout: mergedOptions.markdown.callout,
|
|
2472
2780
|
gfmAutoLink: mergedOptions.markdown.gfmAutoLink,
|
|
2473
2781
|
codeBlockPreview: mergedOptions.markdown.codeBlockPreview,
|
|
2474
2782
|
emojiSite: mergedOptions.emojiPath,
|
|
@@ -2485,6 +2793,8 @@ var md2html = function (mdText, options) {
|
|
|
2485
2793
|
mathBlockPreview: mergedOptions.markdown.mathBlockPreview,
|
|
2486
2794
|
paragraphBeginningSpace: mergedOptions.markdown.paragraphBeginningSpace,
|
|
2487
2795
|
sanitize: mergedOptions.markdown.sanitize,
|
|
2796
|
+
sub: mergedOptions.markdown.sub,
|
|
2797
|
+
sup: mergedOptions.markdown.sup,
|
|
2488
2798
|
toc: mergedOptions.markdown.toc,
|
|
2489
2799
|
});
|
|
2490
2800
|
if (options === null || options === void 0 ? void 0 : options.renderers) {
|
|
@@ -2495,7 +2805,7 @@ var md2html = function (mdText, options) {
|
|
|
2495
2805
|
});
|
|
2496
2806
|
}
|
|
2497
2807
|
lute.SetHeadingID(true);
|
|
2498
|
-
return lute.Md2HTML(mdText);
|
|
2808
|
+
return (0,imageCaptionRender/* renderImageCaptionHTML */.V)(lute.Md2HTML(mdText), mergedOptions.markdown.imageCaption);
|
|
2499
2809
|
});
|
|
2500
2810
|
};
|
|
2501
2811
|
var previewRender = function (previewElement, markdown, options) { return __awaiter(void 0, void 0, void 0, function () {
|
|
@@ -2553,6 +2863,7 @@ var previewRender = function (previewElement, markdown, options) { return __awai
|
|
|
2553
2863
|
(0,markmapRender/* markmapRender */.K)(previewElement, mergedOptions.cdn);
|
|
2554
2864
|
(0,flowchartRender/* flowchartRender */.P)(previewElement, mergedOptions.cdn);
|
|
2555
2865
|
(0,graphvizRender/* graphvizRender */.v)(previewElement, mergedOptions.cdn);
|
|
2866
|
+
(0,wavedromRender/* wavedromRender */.F)(previewElement, mergedOptions.cdn);
|
|
2556
2867
|
(0,chartRender/* chartRender */.p)(previewElement, mergedOptions.cdn, mergedOptions.mode);
|
|
2557
2868
|
(0,mindmapRender/* mindmapRender */.P)(previewElement, mergedOptions.cdn, mergedOptions.mode);
|
|
2558
2869
|
(0,plantumlRender/* plantumlRender */.B)(previewElement, mergedOptions.cdn);
|
|
@@ -2611,6 +2922,7 @@ var setCodeTheme = __webpack_require__(580);
|
|
|
2611
2922
|
|
|
2612
2923
|
|
|
2613
2924
|
|
|
2925
|
+
|
|
2614
2926
|
|
|
2615
2927
|
|
|
2616
2928
|
var Vditor = /** @class */ (function () {
|
|
@@ -2624,6 +2936,8 @@ var Vditor = /** @class */ (function () {
|
|
|
2624
2936
|
Vditor.codeRender = codeRender/* codeRender */.O;
|
|
2625
2937
|
/** 对 graphviz 进行渲染 */
|
|
2626
2938
|
Vditor.graphvizRender = graphvizRender/* graphvizRender */.v;
|
|
2939
|
+
/** 对数字波形图进行渲染 */
|
|
2940
|
+
Vditor.wavedromRender = wavedromRender/* wavedromRender */.F;
|
|
2627
2941
|
/** 为 element 中的代码块进行高亮渲染 */
|
|
2628
2942
|
Vditor.highlightRender = highlightRender/* highlightRender */.s;
|
|
2629
2943
|
/** 对数学公式进行渲染 */
|