ds-markdown 0.1.0 → 0.1.1

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.
@@ -14,13 +14,26 @@ const remarkMathBracket = () => (tree, file) => {
14
14
  });
15
15
  };
16
16
  const replaceMathBracket = (value) => {
17
- return value
18
- .replace(/\[([\s\S]+?)\]/g, (_match, p1) => {
19
- return `$$${p1}$$`;
20
- })
21
- .replace(/\(([\s\S]+?)\)/g, (_match, p1) => {
22
- return `$${p1}$`;
17
+ // 1. 提取所有块级公式内容,临时替换为占位符, [...]
18
+ const blockMatches = [];
19
+ let replaced = value.replace(/\\*\[([\s\S]+?)\\*\]/g, (_m, p1) => {
20
+ blockMatches.push(p1);
21
+ return `__BLOCK_MATH_${blockMatches.length - 1}__`;
23
22
  });
23
+ // 也需要兼容 $$ xxxx $$ 这种写法
24
+ replaced = replaced.replace(/\$\$([\s\S]+?)\$\$/g, (_m, p1) => {
25
+ blockMatches.push(p1);
26
+ return `__BLOCK_MATH_${blockMatches.length - 1}__`;
27
+ });
28
+ // 2. 替换块级公式外部的 ( ... ) 为 $...$
29
+ replaced = replaced.replace(/\\*\(([^)]+?)\\*\)/g, (_m, p1) => {
30
+ return '$' + p1 + '$';
31
+ });
32
+ // 3. 还原块级公式内容,保持其内部小括号原样
33
+ replaced = replaced.replace(/__BLOCK_MATH_(\d+)__/g, (_m, idx) => {
34
+ return '$$' + blockMatches[Number(idx)] + '$$';
35
+ });
36
+ return replaced;
24
37
  };
25
38
  exports.replaceMathBracket = replaceMathBracket;
26
39
  exports.default = remarkMathBracket;
@@ -1 +1 @@
1
- {"version":3,"file":"remarkMathBracket.js","sourceRoot":"","sources":["../../../src/utils/remarkMathBracket.ts"],"names":[],"mappings":";;;AACA,uDAAyC;AAEzC;;GAEG;AACH,MAAM,iBAAiB,GAAW,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IACrD,IAAA,wBAAK,EAAC,IAAI,EAAE,MAAM,EAAE,CAAC,IAAS,EAAE,EAAE;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAEzB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,GAAG,IAAA,0BAAkB,EAAC,KAAK,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEK,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAE,EAAE;IAClD,OAAO,KAAK;SACT,OAAO,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;QACzC,OAAO,KAAK,EAAE,IAAI,CAAC;IACrB,CAAC,CAAC;SACD,OAAO,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;QACzC,OAAO,IAAI,EAAE,GAAG,CAAC;IACnB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AARW,QAAA,kBAAkB,sBAQ7B;AAEF,kBAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"remarkMathBracket.js","sourceRoot":"","sources":["../../../src/utils/remarkMathBracket.ts"],"names":[],"mappings":";;;AACA,uDAAyC;AAEzC;;GAEG;AACH,MAAM,iBAAiB,GAAW,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IACrD,IAAA,wBAAK,EAAC,IAAI,EAAE,MAAM,EAAE,CAAC,IAAuB,EAAE,EAAE;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAEzB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,GAAG,IAAA,0BAAkB,EAAC,KAAK,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEK,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAE,EAAE;IAClD,gCAAgC;IAChC,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,IAAI,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QAC/D,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtB,OAAO,gBAAgB,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,wBAAwB;IACxB,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QAC5D,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtB,OAAO,gBAAgB,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,+BAA+B;IAC/B,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QAC5D,OAAO,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,yBAAyB;IACzB,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE;QAC/D,OAAO,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAzBW,QAAA,kBAAkB,sBAyB7B;AAEF,kBAAe,iBAAiB,CAAC"}
@@ -11,13 +11,26 @@ const remarkMathBracket = () => (tree, file) => {
11
11
  });
12
12
  };
13
13
  export const replaceMathBracket = (value) => {
14
- return value
15
- .replace(/\[([\s\S]+?)\]/g, (_match, p1) => {
16
- return `$$${p1}$$`;
17
- })
18
- .replace(/\(([\s\S]+?)\)/g, (_match, p1) => {
19
- return `$${p1}$`;
14
+ // 1. 提取所有块级公式内容,临时替换为占位符, [...]
15
+ const blockMatches = [];
16
+ let replaced = value.replace(/\\*\[([\s\S]+?)\\*\]/g, (_m, p1) => {
17
+ blockMatches.push(p1);
18
+ return `__BLOCK_MATH_${blockMatches.length - 1}__`;
20
19
  });
20
+ // 也需要兼容 $$ xxxx $$ 这种写法
21
+ replaced = replaced.replace(/\$\$([\s\S]+?)\$\$/g, (_m, p1) => {
22
+ blockMatches.push(p1);
23
+ return `__BLOCK_MATH_${blockMatches.length - 1}__`;
24
+ });
25
+ // 2. 替换块级公式外部的 ( ... ) 为 $...$
26
+ replaced = replaced.replace(/\\*\(([^)]+?)\\*\)/g, (_m, p1) => {
27
+ return '$' + p1 + '$';
28
+ });
29
+ // 3. 还原块级公式内容,保持其内部小括号原样
30
+ replaced = replaced.replace(/__BLOCK_MATH_(\d+)__/g, (_m, idx) => {
31
+ return '$$' + blockMatches[Number(idx)] + '$$';
32
+ });
33
+ return replaced;
21
34
  };
22
35
  export default remarkMathBracket;
23
36
  //# sourceMappingURL=remarkMathBracket.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"remarkMathBracket.js","sourceRoot":"","sources":["../../../src/utils/remarkMathBracket.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC;;GAEG;AACH,MAAM,iBAAiB,GAAW,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IACrD,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,IAAS,EAAE,EAAE;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAEzB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAE,EAAE;IAClD,OAAO,KAAK;SACT,OAAO,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;QACzC,OAAO,KAAK,EAAE,IAAI,CAAC;IACrB,CAAC,CAAC;SACD,OAAO,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE;QACzC,OAAO,IAAI,EAAE,GAAG,CAAC;IACnB,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"remarkMathBracket.js","sourceRoot":"","sources":["../../../src/utils/remarkMathBracket.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAEzC;;GAEG;AACH,MAAM,iBAAiB,GAAW,GAAG,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IACrD,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,IAAuB,EAAE,EAAE;QAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAEzB,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,IAAI,CAAC,KAAK,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAE,EAAE;IAClD,gCAAgC;IAChC,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,IAAI,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QAC/D,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtB,OAAO,gBAAgB,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,wBAAwB;IACxB,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QAC5D,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACtB,OAAO,gBAAgB,YAAY,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,+BAA+B;IAC/B,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;QAC5D,OAAO,GAAG,GAAG,EAAE,GAAG,GAAG,CAAC;IACxB,CAAC,CAAC,CAAC;IAEH,yBAAyB;IACzB,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,EAAE;QAC/D,OAAO,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "ds-markdown",
3
3
  "private": false,
4
- "version": "0.1.0",
4
+ "version": "0.1.1",
5
5
  "main": "./dist/cjs/index.js",
6
6
  "types": "./dist/cjs/index.d.ts",
7
7
  "module": "./dist/esm/index.js",