@8btc/mditor 0.0.28 → 0.0.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -284,6 +284,8 @@ new Vditor("vditor", {
284
284
  | engine | 数学公式渲染引擎:KaTeX, MathJax | 'KaTeX' |
285
285
  | mathJaxOptions | 数学公式渲染引擎为 MathJax 时的参数 | - |
286
286
 
287
+ 使用 MathJax 时,**无需配置 `startup.elements`**:包内会将公式渲染范围限定为当前预览/编辑容器,不会处理页面其他区域;`mathJaxOptions` 中若传入 `startup.typeset` 或 `startup.elements`,会在加载后被包内强制覆盖以保证作用域正确。
288
+
287
289
  #### options.preview.actions?: Array<IPreviewAction | IPreviewActionCustom>
288
290
 
289
291
  默认值为 ["desktop", "tablet", "mobile", "mp-wechat", "zhihu"]。
package/dist/index.css CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vditor v0.0.28 - A markdown editor written in TypeScript.
2
+ * Vditor v0.0.29 - A markdown editor written in TypeScript.
3
3
  *
4
4
  * MIT License
5
5
  *
@@ -25,7 +25,7 @@
25
25
  *
26
26
  */
27
27
  /*!
28
- * Vditor v0.0.28 - A markdown editor written in TypeScript.
28
+ * Vditor v0.0.29 - A markdown editor written in TypeScript.
29
29
  *
30
30
  * MIT License
31
31
  *
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vditor v0.0.28 - A markdown editor written in TypeScript.
2
+ * Vditor v0.0.29 - A markdown editor written in TypeScript.
3
3
  *
4
4
  * MIT License
5
5
  *
@@ -2923,7 +2923,7 @@ var Vditor = /** @class */ (function () {
2923
2923
  /* harmony export */ "H": () => (/* binding */ _VDITOR_VERSION),
2924
2924
  /* harmony export */ "g": () => (/* binding */ Constants)
2925
2925
  /* harmony export */ });
2926
- var _VDITOR_VERSION = "0.0.28";
2926
+ var _VDITOR_VERSION = "0.0.29";
2927
2927
 
2928
2928
  var Constants = /** @class */ (function () {
2929
2929
  function Constants() {
@@ -3225,7 +3225,7 @@ var Constants = /** @class */ (function () {
3225
3225
  "c#",
3226
3226
  "bat",
3227
3227
  ];
3228
- Constants.CDN = "https://webcdn.wujieai.com/vditor@".concat("0.0.28");
3228
+ Constants.CDN = "https://webcdn.wujieai.com/vditor@".concat("0.0.29");
3229
3229
  Constants.MARKDOWN_OPTIONS = {
3230
3230
  autoSpace: false,
3231
3231
  gfmAutoLink: true,
@@ -5560,8 +5560,8 @@ var mathRender = function (element, options) {
5560
5560
  next();
5561
5561
  };
5562
5562
  if (!window.MathJax) {
5563
- // 关闭自动 typeset,避免处理整个 document 导致页面其他区域(如用户消息)中的 $...$ 被重新渲染。
5564
- // 公式仅由本函数内对 tex2svgPromise 的显式调用渲染,且仅针对传入的 element 内的节点。
5563
+ // 关闭自动 typeset、不指定 elements,避免处理整个 document。外部使用本包时无需配置 startup.elements:
5564
+ // 渲染时会将 startup.elements 临时设为传入的 element(当前预览/编辑容器),再 clear/updateDocument。
5565
5565
  window.MathJax = {
5566
5566
  loader: {
5567
5567
  paths: { mathjax: "".concat(options.cdn, "/dist/js/mathjax") },
@@ -5611,8 +5611,15 @@ var mathRender = function (element, options) {
5611
5611
  }
5612
5612
  // 绑定自定义右键菜单(编辑区生效,预览区自动跳过)
5613
5613
  (0,_mathContextMenu__WEBPACK_IMPORTED_MODULE_2__/* .bindMathContextMenu */ .xX)(mathElement);
5614
- window.MathJax.startup.document.clear();
5615
- window.MathJax.startup.document.updateDocument();
5614
+ // 限定 document 范围为当前容器后再 clear/updateDocument,避免处理整页导致编辑器外的 $...$ 被重新渲染;不调用会导致同一公式被渲染 2 次
5615
+ var startup = window.MathJax.startup;
5616
+ var prevElements = startup.elements;
5617
+ if (element instanceof HTMLElement) {
5618
+ startup.elements = [element];
5619
+ }
5620
+ startup.document.clear();
5621
+ startup.document.updateDocument();
5622
+ startup.elements = prevElements !== undefined ? prevElements : [];
5616
5623
  var errorTextElement = node.querySelector('[data-mml-node="merror"]');
5617
5624
  if (errorTextElement &&
5618
5625
  errorTextElement.textContent.trim() !== "") {
@@ -5626,6 +5633,11 @@ var mathRender = function (element, options) {
5626
5633
  });
5627
5634
  };
5628
5635
  window.MathJax.startup.promise.then(function () {
5636
+ // 脚本加载后再次强制不自动 typeset、不指定 elements,避免组件内部或用户配置导致处理整页
5637
+ if (window.MathJax.startup) {
5638
+ window.MathJax.startup.typeset = false;
5639
+ window.MathJax.startup.elements = [];
5640
+ }
5629
5641
  var chains = [];
5630
5642
  var _loop_1 = function (i) {
5631
5643
  var mathElement = mathElements[i];