@ant-design/agentic-ui 2.20.2 → 2.22.0
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/MarkdownEditor/BaseMarkdownEditor.js +1 -1
- package/dist/MarkdownEditor/editor/elements/Code.js +1 -1
- package/dist/MarkdownEditor/editor/elements/Image/index.js +37 -9
- package/dist/MarkdownEditor/editor/elements/LinkCard/index.js +87 -2
- package/dist/MarkdownEditor/editor/elements/List/List.js +10 -2
- package/dist/MarkdownEditor/editor/elements/Media.js +75 -23
- package/dist/MarkdownEditor/editor/elements/Table/ReadonlyTableComponent.js +2 -13
- package/dist/MarkdownEditor/editor/elements/Table/SimpleTable.js +89 -15
- package/dist/MarkdownEditor/editor/elements/Table/Table.js +3 -75
- package/dist/MarkdownEditor/editor/elements/TagPopup/index.js +4 -4
- package/dist/MarkdownEditor/editor/elements/TagPopup/style.js +14 -12
- package/dist/MarkdownEditor/editor/elements/index.js +1 -32
- package/dist/MarkdownEditor/editor/parser/parse/applyContextPropsAndConfig.d.ts +8 -0
- package/dist/MarkdownEditor/editor/parser/parse/applyContextPropsAndConfig.js +58 -0
- package/dist/MarkdownEditor/editor/parser/parse/parseBlockElements.d.ts +67 -0
- package/dist/MarkdownEditor/editor/parser/parse/parseBlockElements.js +289 -0
- package/dist/MarkdownEditor/editor/parser/parse/parseCode.d.ts +32 -0
- package/dist/MarkdownEditor/editor/parser/parse/parseCode.js +186 -0
- package/dist/MarkdownEditor/editor/parser/parse/parseElements.d.ts +27 -0
- package/dist/MarkdownEditor/editor/parser/parse/parseElements.js +83 -0
- package/dist/MarkdownEditor/editor/parser/parse/parseEmptyLines.d.ts +9 -0
- package/dist/MarkdownEditor/editor/parser/parse/parseEmptyLines.js +60 -0
- package/dist/MarkdownEditor/editor/parser/parse/parseFootnote.d.ts +10 -0
- package/dist/MarkdownEditor/editor/parser/parse/parseFootnote.js +12 -0
- package/dist/MarkdownEditor/editor/parser/parse/parseHtml.d.ts +63 -0
- package/dist/MarkdownEditor/editor/parser/parse/parseHtml.js +759 -0
- package/dist/MarkdownEditor/editor/parser/parse/parseMath.d.ts +24 -0
- package/dist/MarkdownEditor/editor/parser/parse/parseMath.js +58 -0
- package/dist/MarkdownEditor/editor/parser/parse/parseMedia.d.ts +27 -0
- package/dist/MarkdownEditor/editor/parser/parse/parseMedia.js +127 -0
- package/dist/MarkdownEditor/editor/parser/parse/parseTable.d.ts +39 -0
- package/dist/MarkdownEditor/editor/parser/parse/parseTable.js +348 -0
- package/dist/MarkdownEditor/editor/parser/parse/parseText.d.ts +26 -0
- package/dist/MarkdownEditor/editor/parser/parse/parseText.js +304 -0
- package/dist/MarkdownEditor/editor/parser/parserMarkdownToSlateNode.d.ts +3 -44
- package/dist/MarkdownEditor/editor/parser/parserMarkdownToSlateNode.js +141 -2282
- package/dist/MarkdownEditor/editor/parser/parserSlateNodeToMarkdown.js +137 -12
- package/dist/MarkdownEditor/editor/parser/remarkParse.d.ts +11 -1
- package/dist/MarkdownEditor/editor/parser/remarkParse.js +225 -39
- package/dist/MarkdownEditor/editor/plugins/elements.js +1 -1
- package/dist/MarkdownEditor/editor/types/Table.d.ts +2 -1
- package/dist/MarkdownEditor/editor/utils/markdownToHtml.js +2 -1
- package/dist/MarkdownEditor/el.d.ts +3 -0
- package/dist/MarkdownEditor/style.js +2 -0
- package/dist/Plugins/chart/index.js +7 -7
- package/dist/Plugins/code/components/CodeRenderer.js +27 -10
- package/dist/Plugins/code/components/CodeToolbar.js +3 -16
- package/dist/Workspace/Task/index.d.ts +13 -8
- package/dist/Workspace/Task/index.js +19 -2
- package/dist/Workspace/index.js +3 -2
- package/dist/Workspace/types.d.ts +3 -1
- package/package.json +1 -1
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
function _define_property(obj, key, value) {
|
|
2
|
+
if (key in obj) {
|
|
3
|
+
Object.defineProperty(obj, key, {
|
|
4
|
+
value: value,
|
|
5
|
+
enumerable: true,
|
|
6
|
+
configurable: true,
|
|
7
|
+
writable: true
|
|
8
|
+
});
|
|
9
|
+
} else {
|
|
10
|
+
obj[key] = value;
|
|
11
|
+
}
|
|
12
|
+
return obj;
|
|
13
|
+
}
|
|
14
|
+
function _object_spread(target) {
|
|
15
|
+
for(var i = 1; i < arguments.length; i++){
|
|
16
|
+
var source = arguments[i] != null ? arguments[i] : {};
|
|
17
|
+
var ownKeys = Object.keys(source);
|
|
18
|
+
if (typeof Object.getOwnPropertySymbols === "function") {
|
|
19
|
+
ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function(sym) {
|
|
20
|
+
return Object.getOwnPropertyDescriptor(source, sym).enumerable;
|
|
21
|
+
}));
|
|
22
|
+
}
|
|
23
|
+
ownKeys.forEach(function(key) {
|
|
24
|
+
_define_property(target, key, source[key]);
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
return target;
|
|
28
|
+
}
|
|
29
|
+
function ownKeys(object, enumerableOnly) {
|
|
30
|
+
var keys = Object.keys(object);
|
|
31
|
+
if (Object.getOwnPropertySymbols) {
|
|
32
|
+
var symbols = Object.getOwnPropertySymbols(object);
|
|
33
|
+
if (enumerableOnly) {
|
|
34
|
+
symbols = symbols.filter(function(sym) {
|
|
35
|
+
return Object.getOwnPropertyDescriptor(object, sym).enumerable;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
keys.push.apply(keys, symbols);
|
|
39
|
+
}
|
|
40
|
+
return keys;
|
|
41
|
+
}
|
|
42
|
+
function _object_spread_props(target, source) {
|
|
43
|
+
source = source != null ? source : {};
|
|
44
|
+
if (Object.getOwnPropertyDescriptors) {
|
|
45
|
+
Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
|
|
46
|
+
} else {
|
|
47
|
+
ownKeys(Object(source)).forEach(function(key) {
|
|
48
|
+
Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
return target;
|
|
52
|
+
}
|
|
53
|
+
import { handleInlineCode } from "./parseElements";
|
|
54
|
+
import { shouldTreatInlineMathAsText } from "./parseMath";
|
|
55
|
+
/**
|
|
56
|
+
* 设置节点的 finished 属性
|
|
57
|
+
*/ export var setFinishedProp = function(leaf, finished) {
|
|
58
|
+
if (finished !== false) {
|
|
59
|
+
return leaf;
|
|
60
|
+
}
|
|
61
|
+
return _object_spread_props(_object_spread({}, leaf), {
|
|
62
|
+
otherProps: _object_spread_props(_object_spread({}, leaf.otherProps), {
|
|
63
|
+
finished: finished
|
|
64
|
+
})
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
/**
|
|
68
|
+
* 检查 leaf 是否有格式属性需要保留
|
|
69
|
+
*/ var hasFormattingProps = function(leaf) {
|
|
70
|
+
var _leaf_otherProps;
|
|
71
|
+
return !!(leaf.bold || leaf.italic || leaf.strikethrough || leaf.url || leaf.code || ((_leaf_otherProps = leaf.otherProps) === null || _leaf_otherProps === void 0 ? void 0 : _leaf_otherProps.finished) === false);
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* 解析文本节点和内联元素
|
|
75
|
+
*/ export var parseText = function(els) {
|
|
76
|
+
var leaf = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {
|
|
77
|
+
data: {}
|
|
78
|
+
};
|
|
79
|
+
var leafs = [];
|
|
80
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
81
|
+
try {
|
|
82
|
+
for(var _iterator = els[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
83
|
+
var n = _step.value;
|
|
84
|
+
if (n.type === 'strong') {
|
|
85
|
+
var strongLeaf = setFinishedProp(_object_spread_props(_object_spread({}, leaf), {
|
|
86
|
+
bold: true
|
|
87
|
+
}), n.finished);
|
|
88
|
+
var strongResult = parseText(n.children, strongLeaf);
|
|
89
|
+
leafs = leafs.concat(strongResult);
|
|
90
|
+
// 如果处理完嵌套节点后没有生成任何节点,且 leaf 有格式属性,生成空文本节点以保留格式
|
|
91
|
+
if (strongResult.length === 0 && hasFormattingProps(strongLeaf)) {
|
|
92
|
+
leafs.push(_object_spread_props(_object_spread({}, strongLeaf), {
|
|
93
|
+
text: ''
|
|
94
|
+
}));
|
|
95
|
+
}
|
|
96
|
+
continue;
|
|
97
|
+
}
|
|
98
|
+
if (n.type === 'emphasis') {
|
|
99
|
+
var emphasisLeaf = setFinishedProp(_object_spread_props(_object_spread({}, leaf), {
|
|
100
|
+
italic: true
|
|
101
|
+
}), n.finished);
|
|
102
|
+
var emphasisResult = parseText(n.children, emphasisLeaf);
|
|
103
|
+
leafs = leafs.concat(emphasisResult);
|
|
104
|
+
// 如果处理完嵌套节点后没有生成任何节点,且 leaf 有格式属性,生成空文本节点以保留格式
|
|
105
|
+
if (emphasisResult.length === 0 && hasFormattingProps(emphasisLeaf)) {
|
|
106
|
+
leafs.push(_object_spread_props(_object_spread({}, emphasisLeaf), {
|
|
107
|
+
text: ''
|
|
108
|
+
}));
|
|
109
|
+
}
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
if (n.type === 'delete') {
|
|
113
|
+
var deleteLeaf = _object_spread_props(_object_spread({}, leaf), {
|
|
114
|
+
strikethrough: true
|
|
115
|
+
});
|
|
116
|
+
var deleteResult = parseText(n.children, deleteLeaf);
|
|
117
|
+
leafs = leafs.concat(deleteResult);
|
|
118
|
+
// 如果处理完嵌套节点后没有生成任何节点,且 leaf 有格式属性,生成空文本节点以保留格式
|
|
119
|
+
if (deleteResult.length === 0 && hasFormattingProps(deleteLeaf)) {
|
|
120
|
+
leafs.push(_object_spread_props(_object_spread({}, deleteLeaf), {
|
|
121
|
+
text: ''
|
|
122
|
+
}));
|
|
123
|
+
}
|
|
124
|
+
continue;
|
|
125
|
+
}
|
|
126
|
+
if (n.type === 'link') {
|
|
127
|
+
// 只有当 link 节点有 URL 时才处理为链接,否则按普通文本处理
|
|
128
|
+
if (n === null || n === void 0 ? void 0 : n.url) {
|
|
129
|
+
var linkLeaf = _object_spread_props(_object_spread({}, leaf), {
|
|
130
|
+
url: n === null || n === void 0 ? void 0 : n.url
|
|
131
|
+
});
|
|
132
|
+
var linkResult = parseText(n.children, linkLeaf);
|
|
133
|
+
leafs = leafs.concat(linkResult);
|
|
134
|
+
// 如果处理完嵌套节点后没有生成任何节点,且 leaf 有格式属性,生成空文本节点以保留格式
|
|
135
|
+
if (linkResult.length === 0 && hasFormattingProps(linkLeaf)) {
|
|
136
|
+
leafs.push(_object_spread_props(_object_spread({}, linkLeaf), {
|
|
137
|
+
text: ''
|
|
138
|
+
}));
|
|
139
|
+
}
|
|
140
|
+
} else {
|
|
141
|
+
// 没有 URL,按普通文本处理
|
|
142
|
+
var textResult = parseText(n.children, leaf);
|
|
143
|
+
leafs = leafs.concat(textResult);
|
|
144
|
+
}
|
|
145
|
+
continue;
|
|
146
|
+
}
|
|
147
|
+
if (n.type === 'inlineCode') {
|
|
148
|
+
var inlineCodeResult = handleInlineCode(n);
|
|
149
|
+
leafs.push(_object_spread({}, leaf, inlineCodeResult));
|
|
150
|
+
continue;
|
|
151
|
+
}
|
|
152
|
+
if (n.type === 'inlineMath') {
|
|
153
|
+
var inlineMathValue = typeof n.value === 'string' ? n.value : '';
|
|
154
|
+
if (shouldTreatInlineMathAsText(inlineMathValue)) {
|
|
155
|
+
leafs.push(_object_spread_props(_object_spread({}, leaf), {
|
|
156
|
+
text: "$".concat(inlineMathValue, "$")
|
|
157
|
+
}));
|
|
158
|
+
} else {
|
|
159
|
+
leafs.push(_object_spread_props(_object_spread({}, leaf), {
|
|
160
|
+
type: 'inline-katex',
|
|
161
|
+
children: [
|
|
162
|
+
{
|
|
163
|
+
text: inlineMathValue
|
|
164
|
+
}
|
|
165
|
+
]
|
|
166
|
+
}));
|
|
167
|
+
}
|
|
168
|
+
continue;
|
|
169
|
+
}
|
|
170
|
+
// @ts-ignore
|
|
171
|
+
leafs.push(_object_spread_props(_object_spread({}, leaf), {
|
|
172
|
+
text: n.value || ''
|
|
173
|
+
}));
|
|
174
|
+
}
|
|
175
|
+
} catch (err) {
|
|
176
|
+
_didIteratorError = true;
|
|
177
|
+
_iteratorError = err;
|
|
178
|
+
} finally{
|
|
179
|
+
try {
|
|
180
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
181
|
+
_iterator.return();
|
|
182
|
+
}
|
|
183
|
+
} finally{
|
|
184
|
+
if (_didIteratorError) {
|
|
185
|
+
throw _iteratorError;
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
return leafs;
|
|
190
|
+
};
|
|
191
|
+
/**
|
|
192
|
+
* 应用HTML标签样式到元素(纯函数版本)
|
|
193
|
+
* @param el - 目标元素对象
|
|
194
|
+
* @param htmlTag - HTML标签数组,包含样式信息
|
|
195
|
+
* @returns 返回应用了样式的新元素对象
|
|
196
|
+
*/ export var applyHtmlTagsToElement = function(el, htmlTag) {
|
|
197
|
+
if (!htmlTag.length) {
|
|
198
|
+
return el;
|
|
199
|
+
}
|
|
200
|
+
var result = _object_spread({}, el);
|
|
201
|
+
var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = undefined;
|
|
202
|
+
try {
|
|
203
|
+
for(var _iterator = htmlTag[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true){
|
|
204
|
+
var t = _step.value;
|
|
205
|
+
if (t.tag === 'font') {
|
|
206
|
+
result.color = t.color;
|
|
207
|
+
}
|
|
208
|
+
if (t.tag === 'sup') result.identifier = el.text;
|
|
209
|
+
if (t.tag === 'sub') result.identifier = el.text;
|
|
210
|
+
if (t.tag === 'code') result.code = true;
|
|
211
|
+
if (t.tag === 'i') result.italic = true;
|
|
212
|
+
if (t.tag === 'b' || t.tag === 'strong') result.bold = true;
|
|
213
|
+
if (t.tag === 'del') result.strikethrough = true;
|
|
214
|
+
if ((t.tag === 'span' || t.tag === 'font') && t.color) {
|
|
215
|
+
result.highColor = t.color;
|
|
216
|
+
}
|
|
217
|
+
if (t.tag === 'a' && (t === null || t === void 0 ? void 0 : t.url)) {
|
|
218
|
+
result.url = t === null || t === void 0 ? void 0 : t.url;
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
} catch (err) {
|
|
222
|
+
_didIteratorError = true;
|
|
223
|
+
_iteratorError = err;
|
|
224
|
+
} finally{
|
|
225
|
+
try {
|
|
226
|
+
if (!_iteratorNormalCompletion && _iterator.return != null) {
|
|
227
|
+
_iterator.return();
|
|
228
|
+
}
|
|
229
|
+
} finally{
|
|
230
|
+
if (_didIteratorError) {
|
|
231
|
+
throw _iteratorError;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
return result;
|
|
236
|
+
};
|
|
237
|
+
/**
|
|
238
|
+
* 处理文本和内联元素节点(纯函数版本)
|
|
239
|
+
* @param currentElement - 当前处理的元素
|
|
240
|
+
* @param htmlTag - HTML标签数组
|
|
241
|
+
* @param applyInlineFormattingFn - 应用内联格式的函数
|
|
242
|
+
* @param parseNodesFn - 解析节点的函数
|
|
243
|
+
* @returns 处理后的元素对象
|
|
244
|
+
*/ export var handleTextAndInlineElementsPure = function(currentElement, htmlTag, applyInlineFormattingFn, parseNodesFn) {
|
|
245
|
+
var elementType = currentElement.type;
|
|
246
|
+
// 处理文本节点
|
|
247
|
+
if (elementType === 'text') {
|
|
248
|
+
var el = {
|
|
249
|
+
text: currentElement.value
|
|
250
|
+
};
|
|
251
|
+
return htmlTag.length > 0 && currentElement.value ? applyHtmlTagsToElement(el, htmlTag) : el;
|
|
252
|
+
}
|
|
253
|
+
// 处理换行
|
|
254
|
+
if (elementType === 'break') {
|
|
255
|
+
return {
|
|
256
|
+
text: '\n'
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
// 处理内联代码(特殊处理,因为它没有 children)
|
|
260
|
+
if (elementType === 'inlineCode') {
|
|
261
|
+
var finished = currentElement.finished;
|
|
262
|
+
var leaf = _object_spread({}, finished === false && {
|
|
263
|
+
otherProps: {
|
|
264
|
+
finished: finished
|
|
265
|
+
}
|
|
266
|
+
});
|
|
267
|
+
var formattedLeaf = applyInlineFormattingFn(leaf, currentElement);
|
|
268
|
+
var leafWithHtmlTags = applyHtmlTagsToElement(formattedLeaf, htmlTag);
|
|
269
|
+
var inlineCodeResult = handleInlineCode(currentElement);
|
|
270
|
+
return _object_spread({}, leafWithHtmlTags, inlineCodeResult);
|
|
271
|
+
}
|
|
272
|
+
// 处理内联元素(strong, link, emphasis, delete)
|
|
273
|
+
var inlineElementTypes = [
|
|
274
|
+
'strong',
|
|
275
|
+
'link',
|
|
276
|
+
'emphasis',
|
|
277
|
+
'delete'
|
|
278
|
+
];
|
|
279
|
+
if (inlineElementTypes.includes(elementType)) {
|
|
280
|
+
var _currentElement_children, _parseNodesFn, _currentElement_children1;
|
|
281
|
+
var finished1 = currentElement.finished;
|
|
282
|
+
var leaf1 = _object_spread({}, finished1 === false && {
|
|
283
|
+
otherProps: {
|
|
284
|
+
finished: finished1
|
|
285
|
+
}
|
|
286
|
+
});
|
|
287
|
+
var formattedLeaf1 = applyInlineFormattingFn(leaf1, currentElement);
|
|
288
|
+
var leafWithHtmlTags1 = applyHtmlTagsToElement(formattedLeaf1, htmlTag);
|
|
289
|
+
var hasHtmlChildren = currentElement === null || currentElement === void 0 ? void 0 : (_currentElement_children = currentElement.children) === null || _currentElement_children === void 0 ? void 0 : _currentElement_children.some(function(n) {
|
|
290
|
+
return n.type === 'html';
|
|
291
|
+
});
|
|
292
|
+
return hasHtmlChildren ? _object_spread_props(_object_spread({}, (_parseNodesFn = parseNodesFn(currentElement === null || currentElement === void 0 ? void 0 : currentElement.children, false, currentElement)) === null || _parseNodesFn === void 0 ? void 0 : _parseNodesFn.at(0)), {
|
|
293
|
+
url: leafWithHtmlTags1.url
|
|
294
|
+
}) : parseText(((_currentElement_children1 = currentElement.children) === null || _currentElement_children1 === void 0 ? void 0 : _currentElement_children1.length) ? currentElement.children : [
|
|
295
|
+
{
|
|
296
|
+
value: (leafWithHtmlTags1 === null || leafWithHtmlTags1 === void 0 ? void 0 : leafWithHtmlTags1.url) || ''
|
|
297
|
+
}
|
|
298
|
+
], leafWithHtmlTags1);
|
|
299
|
+
}
|
|
300
|
+
// 默认返回空文本
|
|
301
|
+
return {
|
|
302
|
+
text: ''
|
|
303
|
+
};
|
|
304
|
+
};
|
|
@@ -1,10 +1,5 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 此文件包含大量相互依赖的函数,为了保持代码的可读性和逻辑分组,
|
|
3
|
-
* 我们允许函数在定义前使用(函数提升)
|
|
4
|
-
*/
|
|
5
1
|
import { Elements } from '../../el';
|
|
6
2
|
import { MarkdownEditorPlugin } from '../../plugin';
|
|
7
|
-
export declare const decodeURIComponentUrl: (url: string) => string;
|
|
8
3
|
/**
|
|
9
4
|
* 解析Markdown字符串的配置选项
|
|
10
5
|
*/
|
|
@@ -48,47 +43,11 @@ export declare class MarkdownToSlateParser {
|
|
|
48
43
|
/**
|
|
49
44
|
* 处理单个元素(类方法版本)
|
|
50
45
|
*/
|
|
51
|
-
private handleSingleElement;
|
|
52
|
-
/**
|
|
53
|
-
* 处理标题节点(类方法版本)
|
|
54
|
-
*/
|
|
55
|
-
private handleHeading;
|
|
56
|
-
/**
|
|
57
|
-
* 处理列表节点(类方法版本)
|
|
58
|
-
*/
|
|
59
|
-
private handleList;
|
|
60
|
-
/**
|
|
61
|
-
* 处理脚注定义节点(类方法版本)
|
|
62
|
-
*/
|
|
63
|
-
private handleFootnoteDefinition;
|
|
64
|
-
/**
|
|
65
|
-
* 处理列表项节点(类方法版本)
|
|
66
|
-
*/
|
|
67
|
-
private handleListItem;
|
|
68
46
|
/**
|
|
69
|
-
*
|
|
47
|
+
* 获取统一的元素处理器映射表
|
|
70
48
|
*/
|
|
71
|
-
private
|
|
72
|
-
|
|
73
|
-
* 处理段落节点(类方法版本)
|
|
74
|
-
*/
|
|
75
|
-
private handleParagraph;
|
|
76
|
-
/**
|
|
77
|
-
* 处理引用块节点(类方法版本)
|
|
78
|
-
*/
|
|
79
|
-
private handleBlockquote;
|
|
80
|
-
/**
|
|
81
|
-
* 处理文本和内联元素节点(类方法版本)
|
|
82
|
-
*/
|
|
83
|
-
private handleTextAndInlineElements;
|
|
84
|
-
/**
|
|
85
|
-
* 应用内联格式到叶子节点(类方法版本)
|
|
86
|
-
*/
|
|
87
|
-
private applyInlineFormatting;
|
|
88
|
-
/**
|
|
89
|
-
* 解析表格或图表(类方法版本)
|
|
90
|
-
*/
|
|
91
|
-
private parseTableOrChart;
|
|
49
|
+
private getElementHandlers;
|
|
50
|
+
private handleSingleElement;
|
|
92
51
|
}
|
|
93
52
|
/**
|
|
94
53
|
* 解析Markdown字符串并返回解析后的结构和链接信息。
|