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
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
.
|
|
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,
|
|
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
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
.
|
|
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,
|
|
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"}
|