@8btc/mditor 0.0.30 → 0.0.32
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/dist/index.css +2 -2
- package/dist/index.js +68 -44
- package/dist/index.min.js +1 -1
- package/dist/method.js +67 -43
- package/dist/method.min.js +1 -1
- package/package.json +1 -1
- package/src/ts/markdown/mathRender.ts +66 -45
- package/src/ts/util/addScript.ts +5 -3
package/dist/method.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Vditor v0.0.
|
|
2
|
+
* Vditor v0.0.32 - 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 && ("0.0.
|
|
48
|
+
var _VDITOR_VERSION = (/* unused pure expression or super */ null && ("0.0.32"));
|
|
49
49
|
|
|
50
50
|
var Constants = /** @class */ (function () {
|
|
51
51
|
function Constants() {
|
|
@@ -347,7 +347,7 @@ var Constants = /** @class */ (function () {
|
|
|
347
347
|
"c#",
|
|
348
348
|
"bat",
|
|
349
349
|
];
|
|
350
|
-
Constants.CDN = "https://webcdn.wujieai.com/vditor@".concat("0.0.
|
|
350
|
+
Constants.CDN = "https://webcdn.wujieai.com/vditor@".concat("0.0.32");
|
|
351
351
|
Constants.MARKDOWN_OPTIONS = {
|
|
352
352
|
autoSpace: false,
|
|
353
353
|
gfmAutoLink: true,
|
|
@@ -2669,15 +2669,15 @@ var mathRender = function (element, options) {
|
|
|
2669
2669
|
next();
|
|
2670
2670
|
};
|
|
2671
2671
|
if (!window.MathJax) {
|
|
2672
|
-
//
|
|
2672
|
+
// typeset 设为 true 以正常完成公式渲染;elements 限定为传入的容器,外部使用本包时仅处理该容器,不影响编辑器以外的公式。
|
|
2673
2673
|
// 渲染时会将 startup.elements 临时设为传入的 element(当前预览/编辑容器),再 clear/updateDocument。
|
|
2674
2674
|
window.MathJax = {
|
|
2675
2675
|
loader: {
|
|
2676
2676
|
paths: { mathjax: "".concat(options.cdn, "/dist/js/mathjax") },
|
|
2677
2677
|
},
|
|
2678
2678
|
startup: {
|
|
2679
|
-
typeset:
|
|
2680
|
-
elements: [],
|
|
2679
|
+
typeset: true,
|
|
2680
|
+
elements: element instanceof HTMLElement ? [element] : [],
|
|
2681
2681
|
},
|
|
2682
2682
|
tex: {
|
|
2683
2683
|
inlineMath: [
|
|
@@ -2701,8 +2701,48 @@ var mathRender = function (element, options) {
|
|
|
2701
2701
|
// https://github.com/Vanessa219/vditor/issues/1453
|
|
2702
2702
|
Object.assign(window.MathJax, options.math.mathJaxOptions);
|
|
2703
2703
|
}
|
|
2704
|
-
|
|
2705
|
-
|
|
2704
|
+
var mathJaxScriptUrl = "".concat(options.cdn, "/dist/js/mathjax/tex-svg-full.js");
|
|
2705
|
+
var mathJaxScriptId = "protyleMathJaxScript";
|
|
2706
|
+
// Qt WebView 中同步 XHR 被限制,addScriptSync 无法加载脚本,改为异步 addScript
|
|
2707
|
+
var isQtWebView_1 = typeof navigator !== "undefined" &&
|
|
2708
|
+
/Qt|QtWebEngine/i.test(navigator.userAgent);
|
|
2709
|
+
var runRenderChain = function () {
|
|
2710
|
+
window.MathJax.startup.promise.then(function () {
|
|
2711
|
+
if (window.MathJax.startup) {
|
|
2712
|
+
window.MathJax.startup.typeset = true;
|
|
2713
|
+
window.MathJax.startup.elements =
|
|
2714
|
+
element instanceof HTMLElement ? [element] : [];
|
|
2715
|
+
}
|
|
2716
|
+
var chains = [];
|
|
2717
|
+
var _loop_1 = function (i) {
|
|
2718
|
+
var mathElement = mathElements[i];
|
|
2719
|
+
if (!mathElement.parentElement.classList.contains("vditor-wysiwyg__pre") &&
|
|
2720
|
+
!mathElement.parentElement.classList.contains("vditor-ir__marker--pre") &&
|
|
2721
|
+
!mathElement.getAttribute("data-math") &&
|
|
2722
|
+
(0,_util_code160to32__WEBPACK_IMPORTED_MODULE_5__/* .code160to32 */ .X)(mathElement.textContent).trim()) {
|
|
2723
|
+
chains.push(function (next) {
|
|
2724
|
+
if (i === mathElements.length - 1) {
|
|
2725
|
+
renderMath_1(mathElement);
|
|
2726
|
+
}
|
|
2727
|
+
else {
|
|
2728
|
+
renderMath_1(mathElement, next);
|
|
2729
|
+
}
|
|
2730
|
+
});
|
|
2731
|
+
}
|
|
2732
|
+
};
|
|
2733
|
+
for (var i = 0; i < mathElements.length; i++) {
|
|
2734
|
+
_loop_1(i);
|
|
2735
|
+
}
|
|
2736
|
+
chainAsync_1(chains);
|
|
2737
|
+
});
|
|
2738
|
+
};
|
|
2739
|
+
if (isQtWebView_1) {
|
|
2740
|
+
(0,_util_addScript__WEBPACK_IMPORTED_MODULE_4__/* .addScript */ .G)(mathJaxScriptUrl, mathJaxScriptId).then(runRenderChain);
|
|
2741
|
+
}
|
|
2742
|
+
else {
|
|
2743
|
+
(0,_util_addScript__WEBPACK_IMPORTED_MODULE_4__/* .addScriptSync */ .J)(mathJaxScriptUrl, mathJaxScriptId);
|
|
2744
|
+
runRenderChain();
|
|
2745
|
+
}
|
|
2706
2746
|
var renderMath_1 = function (mathElement, next) {
|
|
2707
2747
|
var rawText = (0,_util_code160to32__WEBPACK_IMPORTED_MODULE_5__/* .code160to32 */ .X)(mathElement.textContent).trim();
|
|
2708
2748
|
var math = normalizeTex(rawText);
|
|
@@ -2711,6 +2751,7 @@ var mathRender = function (element, options) {
|
|
|
2711
2751
|
var mathOptions = window.MathJax.getMetricsFor(mathElement);
|
|
2712
2752
|
mathOptions.display = inPreviewPre || mathElement.tagName === "DIV";
|
|
2713
2753
|
window.MathJax.tex2svgPromise(math, mathOptions).then(function (node) {
|
|
2754
|
+
var _a, _b;
|
|
2714
2755
|
mathElement.innerHTML = "";
|
|
2715
2756
|
mathElement.setAttribute("data-math", math);
|
|
2716
2757
|
mathElement.append(node);
|
|
@@ -2721,14 +2762,25 @@ var mathRender = function (element, options) {
|
|
|
2721
2762
|
// 绑定自定义右键菜单(编辑区生效,预览区自动跳过)
|
|
2722
2763
|
(0,_mathContextMenu__WEBPACK_IMPORTED_MODULE_2__/* .bindMathContextMenu */ .xX)(mathElement);
|
|
2723
2764
|
// 限定 document 范围为当前容器后再 clear/updateDocument,避免处理整页导致编辑器外的 $...$ 被重新渲染;不调用会导致同一公式被渲染 2 次
|
|
2724
|
-
|
|
2725
|
-
|
|
2726
|
-
|
|
2727
|
-
|
|
2765
|
+
// Qt WebView 中 clear/updateDocument 可能清掉刚插入的节点或抛错,故跳过
|
|
2766
|
+
if (!isQtWebView_1) {
|
|
2767
|
+
try {
|
|
2768
|
+
var startup = window.MathJax.startup;
|
|
2769
|
+
var prevElements = startup.elements;
|
|
2770
|
+
if (element instanceof HTMLElement) {
|
|
2771
|
+
startup.elements = [element];
|
|
2772
|
+
}
|
|
2773
|
+
startup.document.clear();
|
|
2774
|
+
startup.document.updateDocument();
|
|
2775
|
+
startup.elements =
|
|
2776
|
+
prevElements !== undefined ? prevElements : [];
|
|
2777
|
+
}
|
|
2778
|
+
catch (_) {
|
|
2779
|
+
if (((_b = (_a = window.MathJax) === null || _a === void 0 ? void 0 : _a.startup) === null || _b === void 0 ? void 0 : _b.elements) !== undefined) {
|
|
2780
|
+
window.MathJax.startup.elements = [];
|
|
2781
|
+
}
|
|
2782
|
+
}
|
|
2728
2783
|
}
|
|
2729
|
-
startup.document.clear();
|
|
2730
|
-
startup.document.updateDocument();
|
|
2731
|
-
startup.elements = prevElements !== undefined ? prevElements : [];
|
|
2732
2784
|
var errorTextElement = node.querySelector('[data-mml-node="merror"]');
|
|
2733
2785
|
if (errorTextElement &&
|
|
2734
2786
|
errorTextElement.textContent.trim() !== "") {
|
|
@@ -2741,34 +2793,6 @@ var mathRender = function (element, options) {
|
|
|
2741
2793
|
}
|
|
2742
2794
|
});
|
|
2743
2795
|
};
|
|
2744
|
-
window.MathJax.startup.promise.then(function () {
|
|
2745
|
-
// 脚本加载后再次强制不自动 typeset、不指定 elements,避免组件内部或用户配置导致处理整页
|
|
2746
|
-
if (window.MathJax.startup) {
|
|
2747
|
-
window.MathJax.startup.typeset = false;
|
|
2748
|
-
window.MathJax.startup.elements = [];
|
|
2749
|
-
}
|
|
2750
|
-
var chains = [];
|
|
2751
|
-
var _loop_1 = function (i) {
|
|
2752
|
-
var mathElement = mathElements[i];
|
|
2753
|
-
if (!mathElement.parentElement.classList.contains("vditor-wysiwyg__pre") &&
|
|
2754
|
-
!mathElement.parentElement.classList.contains("vditor-ir__marker--pre") &&
|
|
2755
|
-
!mathElement.getAttribute("data-math") &&
|
|
2756
|
-
(0,_util_code160to32__WEBPACK_IMPORTED_MODULE_5__/* .code160to32 */ .X)(mathElement.textContent).trim()) {
|
|
2757
|
-
chains.push(function (next) {
|
|
2758
|
-
if (i === mathElements.length - 1) {
|
|
2759
|
-
renderMath_1(mathElement);
|
|
2760
|
-
}
|
|
2761
|
-
else {
|
|
2762
|
-
renderMath_1(mathElement, next);
|
|
2763
|
-
}
|
|
2764
|
-
});
|
|
2765
|
-
}
|
|
2766
|
-
};
|
|
2767
|
-
for (var i = 0; i < mathElements.length; i++) {
|
|
2768
|
-
_loop_1(i);
|
|
2769
|
-
}
|
|
2770
|
-
chainAsync_1(chains);
|
|
2771
|
-
});
|
|
2772
2796
|
}
|
|
2773
2797
|
};
|
|
2774
2798
|
|