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.
- package/dist/cjs/index.d.ts +98 -6
- package/dist/cjs/index.js +670 -12
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/plugins/index.d.ts +8 -1
- package/dist/cjs/plugins/index.js +15 -14
- package/dist/cjs/plugins/index.js.map +1 -1
- package/dist/esm/index.d.ts +98 -6
- package/dist/esm/index.js +664 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/plugins/index.d.ts +8 -1
- package/dist/esm/plugins/index.js +7 -2
- package/dist/esm/plugins/index.js.map +1 -1
- package/package.json +16 -6
- package/dist/cjs/AutoScroll/index.d.ts +0 -6
- package/dist/cjs/AutoScroll/index.js +0 -9
- package/dist/cjs/AutoScroll/index.js.map +0 -1
- package/dist/cjs/Markdown/index.d.ts +0 -4
- package/dist/cjs/Markdown/index.js +0 -70
- package/dist/cjs/Markdown/index.js.map +0 -1
- package/dist/cjs/MarkdownCMD/index.d.ts +0 -3
- package/dist/cjs/MarkdownCMD/index.js +0 -197
- package/dist/cjs/MarkdownCMD/index.js.map +0 -1
- package/dist/cjs/components/BlockWrap/index.d.ts +0 -9
- package/dist/cjs/components/BlockWrap/index.js +0 -8
- package/dist/cjs/components/BlockWrap/index.js.map +0 -1
- package/dist/cjs/components/HighReactMarkdown/index.d.ts +0 -11
- package/dist/cjs/components/HighReactMarkdown/index.js +0 -58
- package/dist/cjs/components/HighReactMarkdown/index.js.map +0 -1
- package/dist/cjs/constant.d.ts +0 -3
- package/dist/cjs/constant.js +0 -7
- package/dist/cjs/constant.js.map +0 -1
- package/dist/cjs/defined.d.ts +0 -132
- package/dist/cjs/defined.js +0 -3
- package/dist/cjs/defined.js.map +0 -1
- package/dist/cjs/hooks/useTypingTask.d.ts +0 -32
- package/dist/cjs/hooks/useTypingTask.js +0 -339
- package/dist/cjs/hooks/useTypingTask.js.map +0 -1
- package/dist/cjs/package.json +0 -1
- package/dist/cjs/utils/Tokenizer.d.ts +0 -47
- package/dist/cjs/utils/Tokenizer.js +0 -196
- package/dist/cjs/utils/Tokenizer.js.map +0 -1
- package/dist/cjs/utils/compiler.d.ts +0 -4
- package/dist/cjs/utils/compiler.js +0 -65
- package/dist/cjs/utils/compiler.js.map +0 -1
- package/dist/cjs/utils/methods/deepClone.d.ts +0 -1
- package/dist/cjs/utils/methods/deepClone.js +0 -7
- package/dist/cjs/utils/methods/deepClone.js.map +0 -1
- package/dist/cjs/utils/remarkMathBracket.d.ts +0 -7
- package/dist/cjs/utils/remarkMathBracket.js +0 -40
- package/dist/cjs/utils/remarkMathBracket.js.map +0 -1
- package/dist/cjs/utils/rule.d.ts +0 -25
- package/dist/cjs/utils/rule.js +0 -72
- package/dist/cjs/utils/rule.js.map +0 -1
- package/dist/esm/AutoScroll/index.d.ts +0 -6
- package/dist/esm/AutoScroll/index.js +0 -7
- package/dist/esm/AutoScroll/index.js.map +0 -1
- package/dist/esm/Markdown/index.d.ts +0 -4
- package/dist/esm/Markdown/index.js +0 -65
- package/dist/esm/Markdown/index.js.map +0 -1
- package/dist/esm/MarkdownCMD/index.d.ts +0 -3
- package/dist/esm/MarkdownCMD/index.js +0 -192
- package/dist/esm/MarkdownCMD/index.js.map +0 -1
- package/dist/esm/components/BlockWrap/index.d.ts +0 -9
- package/dist/esm/components/BlockWrap/index.js +0 -6
- package/dist/esm/components/BlockWrap/index.js.map +0 -1
- package/dist/esm/components/HighReactMarkdown/index.d.ts +0 -11
- package/dist/esm/components/HighReactMarkdown/index.js +0 -53
- package/dist/esm/components/HighReactMarkdown/index.js.map +0 -1
- package/dist/esm/constant.d.ts +0 -3
- package/dist/esm/constant.js +0 -4
- package/dist/esm/constant.js.map +0 -1
- package/dist/esm/defined.d.ts +0 -132
- package/dist/esm/defined.js +0 -2
- package/dist/esm/defined.js.map +0 -1
- package/dist/esm/hooks/useTypingTask.d.ts +0 -32
- package/dist/esm/hooks/useTypingTask.js +0 -335
- package/dist/esm/hooks/useTypingTask.js.map +0 -1
- package/dist/esm/utils/Tokenizer.d.ts +0 -47
- package/dist/esm/utils/Tokenizer.js +0 -191
- package/dist/esm/utils/Tokenizer.js.map +0 -1
- package/dist/esm/utils/compiler.d.ts +0 -4
- package/dist/esm/utils/compiler.js +0 -62
- package/dist/esm/utils/compiler.js.map +0 -1
- package/dist/esm/utils/methods/deepClone.d.ts +0 -1
- package/dist/esm/utils/methods/deepClone.js +0 -4
- package/dist/esm/utils/methods/deepClone.js.map +0 -1
- package/dist/esm/utils/remarkMathBracket.d.ts +0 -7
- package/dist/esm/utils/remarkMathBracket.js +0 -36
- package/dist/esm/utils/remarkMathBracket.js.map +0 -1
- package/dist/esm/utils/rule.d.ts +0 -25
- package/dist/esm/utils/rule.js +0 -69
- package/dist/esm/utils/rule.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export default function deepClone<T>(obj: T): T;
|
|
@@ -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,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"}
|
package/dist/esm/utils/rule.d.ts
DELETED
|
@@ -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
|
-
};
|
package/dist/esm/utils/rule.js
DELETED
|
@@ -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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"}
|