ds-markdown 0.1.3 → 0.1.4-beta.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.
Files changed (92) hide show
  1. package/dist/cjs/index.d.ts +98 -6
  2. package/dist/cjs/index.js +670 -12
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/cjs/plugins/index.d.ts +8 -1
  5. package/dist/cjs/plugins/index.js +15 -14
  6. package/dist/cjs/plugins/index.js.map +1 -1
  7. package/dist/esm/index.d.ts +98 -6
  8. package/dist/esm/index.js +664 -5
  9. package/dist/esm/index.js.map +1 -1
  10. package/dist/esm/plugins/index.d.ts +8 -1
  11. package/dist/esm/plugins/index.js +7 -2
  12. package/dist/esm/plugins/index.js.map +1 -1
  13. package/package.json +16 -6
  14. package/dist/cjs/AutoScroll/index.d.ts +0 -6
  15. package/dist/cjs/AutoScroll/index.js +0 -9
  16. package/dist/cjs/AutoScroll/index.js.map +0 -1
  17. package/dist/cjs/Markdown/index.d.ts +0 -4
  18. package/dist/cjs/Markdown/index.js +0 -70
  19. package/dist/cjs/Markdown/index.js.map +0 -1
  20. package/dist/cjs/MarkdownCMD/index.d.ts +0 -3
  21. package/dist/cjs/MarkdownCMD/index.js +0 -197
  22. package/dist/cjs/MarkdownCMD/index.js.map +0 -1
  23. package/dist/cjs/components/BlockWrap/index.d.ts +0 -9
  24. package/dist/cjs/components/BlockWrap/index.js +0 -8
  25. package/dist/cjs/components/BlockWrap/index.js.map +0 -1
  26. package/dist/cjs/components/HighReactMarkdown/index.d.ts +0 -11
  27. package/dist/cjs/components/HighReactMarkdown/index.js +0 -58
  28. package/dist/cjs/components/HighReactMarkdown/index.js.map +0 -1
  29. package/dist/cjs/constant.d.ts +0 -3
  30. package/dist/cjs/constant.js +0 -7
  31. package/dist/cjs/constant.js.map +0 -1
  32. package/dist/cjs/defined.d.ts +0 -132
  33. package/dist/cjs/defined.js +0 -3
  34. package/dist/cjs/defined.js.map +0 -1
  35. package/dist/cjs/hooks/useTypingTask.d.ts +0 -32
  36. package/dist/cjs/hooks/useTypingTask.js +0 -339
  37. package/dist/cjs/hooks/useTypingTask.js.map +0 -1
  38. package/dist/cjs/package.json +0 -1
  39. package/dist/cjs/utils/Tokenizer.d.ts +0 -47
  40. package/dist/cjs/utils/Tokenizer.js +0 -196
  41. package/dist/cjs/utils/Tokenizer.js.map +0 -1
  42. package/dist/cjs/utils/compiler.d.ts +0 -4
  43. package/dist/cjs/utils/compiler.js +0 -65
  44. package/dist/cjs/utils/compiler.js.map +0 -1
  45. package/dist/cjs/utils/methods/deepClone.d.ts +0 -1
  46. package/dist/cjs/utils/methods/deepClone.js +0 -7
  47. package/dist/cjs/utils/methods/deepClone.js.map +0 -1
  48. package/dist/cjs/utils/remarkMathBracket.d.ts +0 -7
  49. package/dist/cjs/utils/remarkMathBracket.js +0 -40
  50. package/dist/cjs/utils/remarkMathBracket.js.map +0 -1
  51. package/dist/cjs/utils/rule.d.ts +0 -25
  52. package/dist/cjs/utils/rule.js +0 -72
  53. package/dist/cjs/utils/rule.js.map +0 -1
  54. package/dist/esm/AutoScroll/index.d.ts +0 -6
  55. package/dist/esm/AutoScroll/index.js +0 -7
  56. package/dist/esm/AutoScroll/index.js.map +0 -1
  57. package/dist/esm/Markdown/index.d.ts +0 -4
  58. package/dist/esm/Markdown/index.js +0 -65
  59. package/dist/esm/Markdown/index.js.map +0 -1
  60. package/dist/esm/MarkdownCMD/index.d.ts +0 -3
  61. package/dist/esm/MarkdownCMD/index.js +0 -192
  62. package/dist/esm/MarkdownCMD/index.js.map +0 -1
  63. package/dist/esm/components/BlockWrap/index.d.ts +0 -9
  64. package/dist/esm/components/BlockWrap/index.js +0 -6
  65. package/dist/esm/components/BlockWrap/index.js.map +0 -1
  66. package/dist/esm/components/HighReactMarkdown/index.d.ts +0 -11
  67. package/dist/esm/components/HighReactMarkdown/index.js +0 -53
  68. package/dist/esm/components/HighReactMarkdown/index.js.map +0 -1
  69. package/dist/esm/constant.d.ts +0 -3
  70. package/dist/esm/constant.js +0 -4
  71. package/dist/esm/constant.js.map +0 -1
  72. package/dist/esm/defined.d.ts +0 -132
  73. package/dist/esm/defined.js +0 -2
  74. package/dist/esm/defined.js.map +0 -1
  75. package/dist/esm/hooks/useTypingTask.d.ts +0 -32
  76. package/dist/esm/hooks/useTypingTask.js +0 -335
  77. package/dist/esm/hooks/useTypingTask.js.map +0 -1
  78. package/dist/esm/utils/Tokenizer.d.ts +0 -47
  79. package/dist/esm/utils/Tokenizer.js +0 -191
  80. package/dist/esm/utils/Tokenizer.js.map +0 -1
  81. package/dist/esm/utils/compiler.d.ts +0 -4
  82. package/dist/esm/utils/compiler.js +0 -62
  83. package/dist/esm/utils/compiler.js.map +0 -1
  84. package/dist/esm/utils/methods/deepClone.d.ts +0 -1
  85. package/dist/esm/utils/methods/deepClone.js +0 -4
  86. package/dist/esm/utils/methods/deepClone.js.map +0 -1
  87. package/dist/esm/utils/remarkMathBracket.d.ts +0 -7
  88. package/dist/esm/utils/remarkMathBracket.js +0 -36
  89. package/dist/esm/utils/remarkMathBracket.js.map +0 -1
  90. package/dist/esm/utils/rule.d.ts +0 -25
  91. package/dist/esm/utils/rule.js +0 -69
  92. package/dist/esm/utils/rule.js.map +0 -1
@@ -1 +0,0 @@
1
- export default function deepClone<T>(obj: T): T;
@@ -1,4 +0,0 @@
1
- export default function deepClone(obj) {
2
- return JSON.parse(JSON.stringify(obj));
3
- }
4
- //# sourceMappingURL=deepClone.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deepClone.js","sourceRoot":"","sources":["../../../../src/utils/methods/deepClone.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,UAAU,SAAS,CAAI,GAAM;IACzC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AACzC,CAAC"}
@@ -1,7 +0,0 @@
1
- import { Plugin } from 'unified';
2
- /**
3
- * remark 插件:将 \[...\] 转换为 $$...$$,\(...\) 转换为 $...$,以便 remark-math 能识别。
4
- */
5
- declare const remarkMathBracket: Plugin;
6
- export declare const replaceMathBracket: (value: string) => string;
7
- export default remarkMathBracket;
@@ -1,36 +0,0 @@
1
- import { visit } from 'unist-util-visit';
2
- /**
3
- * remark 插件:将 \[...\] 转换为 $$...$$,\(...\) 转换为 $...$,以便 remark-math 能识别。
4
- */
5
- const remarkMathBracket = () => (tree, file) => {
6
- visit(tree, 'text', (node) => {
7
- const value = node.value;
8
- if (typeof value === 'string') {
9
- node.value = replaceMathBracket(value);
10
- }
11
- });
12
- };
13
- export const replaceMathBracket = (value) => {
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}__`;
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;
34
- };
35
- export default remarkMathBracket;
36
- //# sourceMappingURL=remarkMathBracket.js.map
@@ -1 +0,0 @@
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"}
@@ -1,25 +0,0 @@
1
- /** 此文件借鉴 marked 的部分代码 */
2
- export declare const rules: {
3
- block: {
4
- newline: RegExp;
5
- fences: RegExp;
6
- segment: RegExp;
7
- list: RegExp;
8
- hr: RegExp;
9
- };
10
- other: {
11
- caret: RegExp;
12
- listItemRegex: (bull: string) => RegExp;
13
- nextBulletRegex: (indent: number) => RegExp;
14
- listReplaceTabs: RegExp;
15
- nonSpaceChar: RegExp;
16
- blankLine: RegExp;
17
- listIsTask: RegExp;
18
- listReplaceTask: RegExp;
19
- tabCharGlobal: RegExp;
20
- hrRegex: (indent: number) => RegExp;
21
- headingBeginRegex: (indent: number) => RegExp;
22
- htmlBeginRegex: (indent: number) => RegExp;
23
- fencesBeginRegex: (indent: number) => RegExp;
24
- };
25
- };
@@ -1,69 +0,0 @@
1
- /** 此文件借鉴 marked 的部分代码 */
2
- const other = {
3
- caret: /(^|[^[])\^/g,
4
- listItemRegex: (bull) => new RegExp(`^( {0,3}${bull})((?:[\t ][^\\n]*)?(?:\\n|$))`),
5
- nextBulletRegex: (indent) => new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))`),
6
- listReplaceTabs: /^\t+/,
7
- nonSpaceChar: /[^ ]/,
8
- blankLine: /^[ \t]*$/,
9
- listIsTask: /^\[[ xX]\] /,
10
- listReplaceTask: /^\[[ xX]\] +/,
11
- tabCharGlobal: /\t/g,
12
- hrRegex: (indent) => new RegExp(`^ {0,${Math.min(3, indent - 1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),
13
- headingBeginRegex: (indent) => new RegExp(`^ {0,${Math.min(3, indent - 1)}}#`),
14
- htmlBeginRegex: (indent) => new RegExp(`^ {0,${Math.min(3, indent - 1)}}<(?:[a-z].*>|!--)`, 'i'),
15
- fencesBeginRegex: (indent) => new RegExp(`^ {0,${Math.min(3, indent - 1)}}(?:\`\`\`|~~~)`),
16
- };
17
- /**
18
- * 编辑正则表达式
19
- * @param regex 正则表达式
20
- * @param opt 正则表达式选项
21
- * @returns 编辑后的正则表达式
22
- */
23
- function edit(regex, opt = '') {
24
- let source = typeof regex === 'string' ? regex : regex.source;
25
- const obj = {
26
- replace: (name, val) => {
27
- let valSource = typeof val === 'string' ? val : val.source;
28
- valSource = valSource.replace(other.caret, '$1');
29
- source = source.replace(name, valSource);
30
- return obj;
31
- },
32
- getRegex: () => {
33
- return new RegExp(source, opt);
34
- },
35
- };
36
- return obj;
37
- }
38
- const newline = /^(?:[ \t]*(?:\n|$))+/;
39
- const hr = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/;
40
- /** 列表 */
41
- const bullet = /(?:[*+-]|\d{1,9}[.)])/;
42
- /** 列表 */
43
- const list = edit(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/)
44
- .replace(/bull/g, bullet)
45
- .getRegex();
46
- /** 围栏 fence
47
- * 什么是围栏: 围栏是用来包裹代码块的,比如 ```javascript 和 ``` 之间就是围栏
48
- */
49
- const fences = /^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/;
50
- // 一个块
51
- // const _segment = /^([^\n]+(?:\n(?!fences|list|hr| +\n)[^\n]+)*)/;
52
- const _segment = /^([^\n]+(?:\n(?!fences|list|hr| +\n|\n)[^\n]+)*\n?)/;
53
- const segment = edit(_segment)
54
- .replace(/fences/, fences)
55
- .replace(/list/, list)
56
- .replace(/hr/, hr)
57
- .getRegex();
58
- const blockNormal = {
59
- newline,
60
- fences,
61
- segment,
62
- list,
63
- hr,
64
- };
65
- export const rules = {
66
- block: blockNormal,
67
- other,
68
- };
69
- //# sourceMappingURL=rule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rule.js","sourceRoot":"","sources":["../../../src/utils/rule.ts"],"names":[],"mappings":"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"}