markdown-to-jsx 9.5.0 → 9.5.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/README.md +4 -3
- package/dist/entities.browser.cjs +4 -0
- package/dist/entities.browser.d.cts +11 -0
- package/dist/entities.browser.d.ts +11 -0
- package/dist/entities.browser.js +4 -0
- package/dist/entities.browser.js.map +10 -0
- package/dist/entities.generated.cjs +5 -0
- package/dist/entities.generated.d.cts +17 -0
- package/dist/entities.generated.d.ts +17 -0
- package/dist/entities.generated.js +5 -0
- package/dist/entities.generated.js.map +10 -0
- package/dist/html.cjs +102 -103
- package/dist/html.d.cts +469 -0
- package/dist/html.d.ts +469 -0
- package/dist/html.js +102 -103
- package/dist/html.js.map +7 -8
- package/dist/index.cjs +103 -104
- package/dist/index.d.cts +437 -0
- package/dist/index.d.ts +437 -0
- package/dist/index.js +103 -104
- package/dist/index.js.map +7 -8
- package/dist/markdown.cjs +118 -119
- package/dist/markdown.d.cts +434 -0
- package/dist/markdown.d.ts +434 -0
- package/dist/markdown.js +118 -119
- package/dist/markdown.js.map +7 -8
- package/dist/native.cjs +103 -104
- package/dist/native.d.cts +495 -0
- package/dist/native.d.ts +495 -0
- package/dist/native.js +103 -104
- package/dist/native.js.map +7 -8
- package/dist/react.cjs +103 -104
- package/dist/react.d.cts +473 -0
- package/dist/react.d.ts +473 -0
- package/dist/react.js +103 -104
- package/dist/react.js.map +7 -8
- package/dist/solid.cjs +103 -104
- package/dist/solid.d.cts +493 -0
- package/dist/solid.d.ts +493 -0
- package/dist/solid.js +103 -104
- package/dist/solid.js.map +7 -8
- package/dist/vue.cjs +103 -104
- package/dist/vue.d.cts +506 -0
- package/dist/vue.d.ts +506 -0
- package/dist/vue.js +103 -104
- package/dist/vue.js.map +7 -8
- package/package.json +27 -6
- package/src/entities.generated.ts +2119 -0
package/dist/vue.d.cts
CHANGED
|
@@ -32,31 +32,64 @@ declare const RuleTypeConst: {
|
|
|
32
32
|
type RuleTypeValue = (typeof RuleTypeConst)[keyof typeof RuleTypeConst];
|
|
33
33
|
/**
|
|
34
34
|
* markdown-to-jsx types and interfaces
|
|
35
|
+
* @lang zh markdown-to-jsx 类型和接口
|
|
36
|
+
* @lang hi markdown-to-jsx प्रकार और इंटरफ़ेस
|
|
35
37
|
*/
|
|
36
38
|
declare namespace MarkdownToJSX {
|
|
37
39
|
/**
|
|
38
40
|
* RequireAtLeastOne<{ ... }> <- only requires at least one key
|
|
41
|
+
* @lang zh RequireAtLeastOne<{ ... }> <- 只需要至少一个键
|
|
42
|
+
* @lang hi RequireAtLeastOne<{ ... }> <- केवल कम से कम एक कुंजी की आवश्यकता है
|
|
39
43
|
*/
|
|
40
44
|
type RequireAtLeastOne<
|
|
41
45
|
T,
|
|
42
46
|
Keys extends keyof T = keyof T
|
|
43
47
|
> = Pick<T, Exclude<keyof T, Keys>> & { [K in Keys]-? : Required<Pick<T, K>> & Partial<Pick<T, Exclude<Keys, K>>> }[Keys];
|
|
48
|
+
/**
|
|
49
|
+
* React.createElement function type
|
|
50
|
+
* @lang zh React.createElement 函数类型
|
|
51
|
+
* @lang hi React.createElement फ़ंक्शन प्रकार
|
|
52
|
+
*/
|
|
44
53
|
export type CreateElement = typeof React.createElement;
|
|
54
|
+
/**
|
|
55
|
+
* HTML tag names that can be used in JSX
|
|
56
|
+
* @lang zh 可在 JSX 中使用的 HTML 标签名称
|
|
57
|
+
* @lang hi HTML टैग नाम जो JSX में उपयोग किए जा सकते हैं
|
|
58
|
+
*/
|
|
45
59
|
export type HTMLTags = keyof React.JSX.IntrinsicElements & (string & {});
|
|
60
|
+
/**
|
|
61
|
+
* Parser and renderer state
|
|
62
|
+
* @lang zh 解析器和渲染器状态
|
|
63
|
+
* @lang hi पार्सर और रेंडरर स्थिति
|
|
64
|
+
*/
|
|
46
65
|
export type State = {
|
|
47
66
|
/** true if the current content is inside anchor link grammar */
|
|
67
|
+
/** @lang zh 如果当前内容在锚点链接语法内,则为 true */
|
|
68
|
+
/** @lang hi true यदि वर्तमान सामग्री एंकर लिंक व्याकरण के अंदर है */
|
|
48
69
|
inAnchor?: boolean;
|
|
49
70
|
/** true if inside a blockquote */
|
|
71
|
+
/** @lang zh 如果在引用块内,则为 true */
|
|
72
|
+
/** @lang hi true यदि ब्लॉककोट के अंदर है */
|
|
50
73
|
inBlockQuote?: boolean;
|
|
51
74
|
/** true if parsing in an HTML context */
|
|
75
|
+
/** @lang zh 如果在 HTML 上下文中解析,则为 true */
|
|
76
|
+
/** @lang hi true यदि HTML संदर्भ में पार्स कर रहे हैं */
|
|
52
77
|
inHTML?: boolean;
|
|
53
78
|
/** true if in a list */
|
|
79
|
+
/** @lang zh 如果在列表中,则为 true */
|
|
80
|
+
/** @lang hi true यदि सूची में है */
|
|
54
81
|
inList?: boolean;
|
|
55
82
|
/** true if parsing in an inline context (subset of rules around formatting and links) */
|
|
83
|
+
/** @lang zh 如果在内联上下文中解析(围绕格式和链接的规则子集),则为 true */
|
|
84
|
+
/** @lang hi true यदि इनलाइन संदर्भ में पार्स कर रहे हैं (फ़ॉर्मेटिंग और लिंक के आसपास के नियमों का उपसमुच्चय) */
|
|
56
85
|
inline?: boolean;
|
|
57
86
|
/** use this for the `key` prop */
|
|
87
|
+
/** @lang zh 用于 `key` 属性 */
|
|
88
|
+
/** @lang hi `key` prop के लिए इसका उपयोग करें */
|
|
58
89
|
key?: string | number;
|
|
59
90
|
/** reference definitions (footnotes are stored with '^' prefix) */
|
|
91
|
+
/** @lang zh 引用定义(脚注以 '^' 前缀存储) */
|
|
92
|
+
/** @lang hi संदर्भ परिभाषाएं (फ़ुटनोट्स '^' उपसर्ग के साथ संग्रहीत हैं) */
|
|
60
93
|
refs?: {
|
|
61
94
|
[key: string]: {
|
|
62
95
|
target: string;
|
|
@@ -64,85 +97,252 @@ type RequireAtLeastOne<
|
|
|
64
97
|
};
|
|
65
98
|
};
|
|
66
99
|
/** current recursion depth during rendering */
|
|
100
|
+
/** @lang zh 渲染期间的当前递归深度 */
|
|
101
|
+
/** @lang hi रेंडरिंग के दौरान वर्तमान पुनरावृत्ति गहराई */
|
|
67
102
|
renderDepth?: number;
|
|
68
103
|
};
|
|
104
|
+
/**
|
|
105
|
+
* Blockquote node in the AST
|
|
106
|
+
* @lang zh AST 中的引用块节点
|
|
107
|
+
* @lang hi AST में ब्लॉककोट नोड
|
|
108
|
+
*/
|
|
69
109
|
export interface BlockQuoteNode {
|
|
110
|
+
/** Optional alert type (Note, Tip, Warning, etc.) */
|
|
111
|
+
/** @lang zh 可选的警告类型 (Note, Tip, Warning 等) */
|
|
112
|
+
/** @lang hi वैकल्पिक अलर्ट प्रकार (Note, Tip, Warning, आदि) */
|
|
70
113
|
alert?: string;
|
|
114
|
+
/** Child nodes within the blockquote */
|
|
115
|
+
/** @lang zh 引用块中的子节点 */
|
|
116
|
+
/** @lang hi ब्लॉककोट के भीतर चाइल्ड नोड्स */
|
|
71
117
|
children: MarkdownToJSX.ASTNode[];
|
|
72
118
|
type: typeof RuleType2.blockQuote;
|
|
73
119
|
}
|
|
120
|
+
/**
|
|
121
|
+
* Hard line break node
|
|
122
|
+
* @lang zh 硬换行节点
|
|
123
|
+
* @lang hi हार्ड लाइन ब्रेक नोड
|
|
124
|
+
*/
|
|
74
125
|
export interface BreakLineNode {
|
|
75
126
|
type: typeof RuleType2.breakLine;
|
|
76
127
|
}
|
|
128
|
+
/**
|
|
129
|
+
* Thematic break (horizontal rule) node
|
|
130
|
+
* @lang zh 分隔线(水平线)节点
|
|
131
|
+
* @lang hi थीमैटिक ब्रेक (क्षैतिज नियम) नोड
|
|
132
|
+
*/
|
|
77
133
|
export interface BreakThematicNode {
|
|
78
134
|
type: typeof RuleType2.breakThematic;
|
|
79
135
|
}
|
|
136
|
+
/**
|
|
137
|
+
* Code block node (fenced code blocks)
|
|
138
|
+
* @lang zh 代码块节点(围栏代码块)
|
|
139
|
+
* @lang hi कोड ब्लॉक नोड (फ़ेंस्ड कोड ब्लॉक्स)
|
|
140
|
+
*/
|
|
80
141
|
export interface CodeBlockNode {
|
|
81
142
|
type: typeof RuleType2.codeBlock;
|
|
143
|
+
/** HTML attributes for the code block */
|
|
144
|
+
/** @lang zh 代码块的 HTML 属性 */
|
|
145
|
+
/** @lang hi कोड ब्लॉक के लिए HTML एट्रिब्यूट्स */
|
|
82
146
|
attrs?: React.JSX.IntrinsicAttributes;
|
|
147
|
+
/** Programming language identifier */
|
|
148
|
+
/** @lang zh 编程语言标识符 */
|
|
149
|
+
/** @lang hi प्रोग्रामिंग भाषा पहचानकर्ता */
|
|
83
150
|
lang?: string;
|
|
151
|
+
/** Code content */
|
|
152
|
+
/** @lang zh 代码内容 */
|
|
153
|
+
/** @lang hi कोड सामग्री */
|
|
84
154
|
text: string;
|
|
85
155
|
}
|
|
156
|
+
/**
|
|
157
|
+
* Inline code node
|
|
158
|
+
* @lang zh 内联代码节点
|
|
159
|
+
* @lang hi इनलाइन कोड नोड
|
|
160
|
+
*/
|
|
86
161
|
export interface CodeInlineNode {
|
|
87
162
|
type: typeof RuleType2.codeInline;
|
|
163
|
+
/** Code text */
|
|
164
|
+
/** @lang zh 代码文本 */
|
|
165
|
+
/** @lang hi कोड टेक्स्ट */
|
|
88
166
|
text: string;
|
|
89
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* Footnote definition node (not rendered, stored in refCollection)
|
|
170
|
+
* @lang zh 脚注定义节点(不渲染,存储在 refCollection 中)
|
|
171
|
+
* @lang hi फ़ुटनोट परिभाषा नोड (रेंडर नहीं किया गया, refCollection में संग्रहीत)
|
|
172
|
+
*/
|
|
90
173
|
export interface FootnoteNode {
|
|
91
174
|
type: typeof RuleType2.footnote;
|
|
92
175
|
}
|
|
176
|
+
/**
|
|
177
|
+
* Footnote reference node
|
|
178
|
+
* @lang zh 脚注引用节点
|
|
179
|
+
* @lang hi फ़ुटनोट संदर्भ नोड
|
|
180
|
+
*/
|
|
93
181
|
export interface FootnoteReferenceNode {
|
|
94
182
|
type: typeof RuleType2.footnoteReference;
|
|
183
|
+
/** Link target (anchor) */
|
|
184
|
+
/** @lang zh 链接目标(锚点) */
|
|
185
|
+
/** @lang hi लिंक लक्ष्य (एंकर) */
|
|
95
186
|
target: string;
|
|
187
|
+
/** Display text */
|
|
188
|
+
/** @lang zh 显示文本 */
|
|
189
|
+
/** @lang hi प्रदर्शन टेक्स्ट */
|
|
96
190
|
text: string;
|
|
97
191
|
}
|
|
192
|
+
/**
|
|
193
|
+
* YAML frontmatter node
|
|
194
|
+
* @lang zh YAML 前置元数据节点
|
|
195
|
+
* @lang hi YAML फ्रंटमैटर नोड
|
|
196
|
+
*/
|
|
98
197
|
export interface FrontmatterNode {
|
|
99
198
|
type: typeof RuleType2.frontmatter;
|
|
199
|
+
/** Frontmatter content */
|
|
200
|
+
/** @lang zh 前置元数据内容 */
|
|
201
|
+
/** @lang hi फ्रंटमैटर सामग्री */
|
|
100
202
|
text: string;
|
|
101
203
|
}
|
|
204
|
+
/**
|
|
205
|
+
* GFM task list item node
|
|
206
|
+
* @lang zh GFM 任务列表项节点
|
|
207
|
+
* @lang hi GFM टास्क लिस्ट आइटम नोड
|
|
208
|
+
*/
|
|
102
209
|
export interface GFMTaskNode {
|
|
103
210
|
type: typeof RuleType2.gfmTask;
|
|
211
|
+
/** Whether the task is completed */
|
|
212
|
+
/** @lang zh 任务是否已完成 */
|
|
213
|
+
/** @lang hi क्या टास्क पूर्ण है */
|
|
104
214
|
completed: boolean;
|
|
105
215
|
}
|
|
216
|
+
/**
|
|
217
|
+
* Heading node
|
|
218
|
+
* @lang zh 标题节点
|
|
219
|
+
* @lang hi हेडिंग नोड
|
|
220
|
+
*/
|
|
106
221
|
export interface HeadingNode {
|
|
107
222
|
type: typeof RuleType2.heading;
|
|
223
|
+
/** Child nodes (text content) */
|
|
224
|
+
/** @lang zh 子节点(文本内容) */
|
|
225
|
+
/** @lang hi चाइल्ड नोड्स (टेक्स्ट सामग्री) */
|
|
108
226
|
children: MarkdownToJSX.ASTNode[];
|
|
227
|
+
/** Generated HTML ID for anchor linking */
|
|
228
|
+
/** @lang zh 用于锚点链接的生成的 HTML ID */
|
|
229
|
+
/** @lang hi एंकर लिंकिंग के लिए जेनरेट किया गया HTML ID */
|
|
109
230
|
id: string;
|
|
231
|
+
/** Heading level (1-6) */
|
|
232
|
+
/** @lang zh 标题级别 (1-6) */
|
|
233
|
+
/** @lang hi हेडिंग स्तर (1-6) */
|
|
110
234
|
level: 1 | 2 | 3 | 4 | 5 | 6;
|
|
111
235
|
}
|
|
236
|
+
/**
|
|
237
|
+
* HTML comment node
|
|
238
|
+
* @lang zh HTML 注释节点
|
|
239
|
+
* @lang hi HTML कमेंट नोड
|
|
240
|
+
*/
|
|
112
241
|
export interface HTMLCommentNode {
|
|
113
242
|
type: typeof RuleType2.htmlComment;
|
|
243
|
+
/** Comment text */
|
|
244
|
+
/** @lang zh 注释文本 */
|
|
245
|
+
/** @lang hi कमेंट टेक्स्ट */
|
|
114
246
|
text: string;
|
|
115
247
|
}
|
|
248
|
+
/**
|
|
249
|
+
* Image node
|
|
250
|
+
* @lang zh 图像节点
|
|
251
|
+
* @lang hi छवि नोड
|
|
252
|
+
*/
|
|
116
253
|
export interface ImageNode {
|
|
117
254
|
type: typeof RuleType2.image;
|
|
255
|
+
/** Alt text */
|
|
256
|
+
/** @lang zh 替代文本 */
|
|
257
|
+
/** @lang hi Alt टेक्स्ट */
|
|
118
258
|
alt?: string;
|
|
259
|
+
/** Image URL */
|
|
260
|
+
/** @lang zh 图像 URL */
|
|
261
|
+
/** @lang hi छवि URL */
|
|
119
262
|
target: string;
|
|
263
|
+
/** Title attribute */
|
|
264
|
+
/** @lang zh 标题属性 */
|
|
265
|
+
/** @lang hi शीर्षक एट्रिब्यूट */
|
|
120
266
|
title?: string;
|
|
121
267
|
}
|
|
268
|
+
/**
|
|
269
|
+
* Link node
|
|
270
|
+
* @lang zh 链接节点
|
|
271
|
+
* @lang hi लिंक नोड
|
|
272
|
+
*/
|
|
122
273
|
export interface LinkNode {
|
|
123
274
|
type: typeof RuleType2.link;
|
|
275
|
+
/** Child nodes (link text) */
|
|
276
|
+
/** @lang zh 子节点(链接文本) */
|
|
277
|
+
/** @lang hi चाइल्ड नोड्स (लिंक टेक्स्ट) */
|
|
124
278
|
children: MarkdownToJSX.ASTNode[];
|
|
279
|
+
/** Link URL (null for reference links without definition) */
|
|
280
|
+
/** @lang zh 链接 URL(对于没有定义的引用链接为 null) */
|
|
281
|
+
/** @lang hi लिंक URL (परिभाषा के बिना संदर्भ लिंक के लिए null) */
|
|
125
282
|
target: string | null;
|
|
283
|
+
/** Title attribute */
|
|
284
|
+
/** @lang zh 标题属性 */
|
|
285
|
+
/** @lang hi शीर्षक एट्रिब्यूट */
|
|
126
286
|
title?: string;
|
|
127
287
|
}
|
|
288
|
+
/**
|
|
289
|
+
* Ordered list node
|
|
290
|
+
* @lang zh 有序列表节点
|
|
291
|
+
* @lang hi क्रमबद्ध सूची नोड
|
|
292
|
+
*/
|
|
128
293
|
export interface OrderedListNode {
|
|
129
294
|
type: typeof RuleType2.orderedList;
|
|
295
|
+
/** Array of list items, each item is an array of nodes */
|
|
296
|
+
/** @lang zh 列表项数组,每个项是节点数组 */
|
|
297
|
+
/** @lang hi सूची आइटम्स की सरणी, प्रत्येक आइटम नोड्स की एक सरणी है */
|
|
130
298
|
items: MarkdownToJSX.ASTNode[][];
|
|
299
|
+
/** Starting number for the list */
|
|
300
|
+
/** @lang zh 列表的起始编号 */
|
|
301
|
+
/** @lang hi सूची के लिए प्रारंभिक संख्या */
|
|
131
302
|
start?: number;
|
|
132
303
|
}
|
|
304
|
+
/**
|
|
305
|
+
* Unordered list node
|
|
306
|
+
* @lang zh 无序列表节点
|
|
307
|
+
* @lang hi अक्रमबद्ध सूची नोड
|
|
308
|
+
*/
|
|
133
309
|
export interface UnorderedListNode {
|
|
134
310
|
type: typeof RuleType2.unorderedList;
|
|
311
|
+
/** Array of list items, each item is an array of nodes */
|
|
312
|
+
/** @lang zh 列表项数组,每个项是节点数组 */
|
|
313
|
+
/** @lang hi सूची आइटम्स की सरणी, प्रत्येक आइटम नोड्स की एक सरणी है */
|
|
135
314
|
items: MarkdownToJSX.ASTNode[][];
|
|
136
315
|
}
|
|
316
|
+
/**
|
|
317
|
+
* Paragraph node
|
|
318
|
+
* @lang zh 段落节点
|
|
319
|
+
* @lang hi पैराग्राफ नोड
|
|
320
|
+
*/
|
|
137
321
|
export interface ParagraphNode {
|
|
138
322
|
type: typeof RuleType2.paragraph;
|
|
323
|
+
/** Child nodes */
|
|
324
|
+
/** @lang zh 子节点 */
|
|
325
|
+
/** @lang hi चाइल्ड नोड्स */
|
|
139
326
|
children: MarkdownToJSX.ASTNode[];
|
|
140
327
|
}
|
|
328
|
+
/**
|
|
329
|
+
* Reference definition node (not rendered, stored in refCollection)
|
|
330
|
+
* @lang zh 引用定义节点(不渲染,存储在 refCollection 中)
|
|
331
|
+
* @lang hi संदर्भ परिभाषा नोड (रेंडर नहीं किया गया, refCollection में संग्रहीत)
|
|
332
|
+
*/
|
|
141
333
|
export interface ReferenceNode {
|
|
142
334
|
type: typeof RuleType2.ref;
|
|
143
335
|
}
|
|
336
|
+
/**
|
|
337
|
+
* Reference collection node (appears at AST root, includes footnotes with '^' prefix)
|
|
338
|
+
* @lang zh 引用集合节点(出现在 AST 根部,包括以 '^' 前缀的脚注)
|
|
339
|
+
* @lang hi संदर्भ संग्रह नोड (AST रूट पर दिखाई देता है, '^' उपसर्ग के साथ फ़ुटनोट्स शामिल हैं)
|
|
340
|
+
*/
|
|
144
341
|
export interface ReferenceCollectionNode {
|
|
145
342
|
type: typeof RuleType2.refCollection;
|
|
343
|
+
/** Map of reference labels to their definitions */
|
|
344
|
+
/** @lang zh 引用标签到其定义的映射 */
|
|
345
|
+
/** @lang hi संदर्भ लेबल्स से उनकी परिभाषाओं का मैप */
|
|
146
346
|
refs: {
|
|
147
347
|
[key: string]: {
|
|
148
348
|
target: string;
|
|
@@ -150,68 +350,172 @@ type RequireAtLeastOne<
|
|
|
150
350
|
};
|
|
151
351
|
};
|
|
152
352
|
}
|
|
353
|
+
/**
|
|
354
|
+
* Table node
|
|
355
|
+
* @lang zh 表格节点
|
|
356
|
+
* @lang hi टेबल नोड
|
|
357
|
+
*/
|
|
153
358
|
export interface TableNode {
|
|
154
359
|
type: typeof RuleType2.table;
|
|
155
360
|
/**
|
|
156
361
|
* alignment for each table column
|
|
362
|
+
* @lang zh 每个表格列的对齐方式
|
|
363
|
+
* @lang hi प्रत्येक टेबल कॉलम के लिए संरेखण
|
|
157
364
|
*/
|
|
158
365
|
align: ("left" | "right" | "center")[];
|
|
366
|
+
/** Table cells (3D array: rows -> cells -> nodes) */
|
|
367
|
+
/** @lang zh 表格单元格(三维数组:行 -> 单元格 -> 节点) */
|
|
368
|
+
/** @lang hi टेबल सेल्स (3D सरणी: पंक्तियाँ -> सेल्स -> नोड्स) */
|
|
159
369
|
cells: MarkdownToJSX.ASTNode[][][];
|
|
370
|
+
/** Table header row */
|
|
371
|
+
/** @lang zh 表格标题行 */
|
|
372
|
+
/** @lang hi टेबल हेडर पंक्ति */
|
|
160
373
|
header: MarkdownToJSX.ASTNode[][];
|
|
161
374
|
}
|
|
375
|
+
/**
|
|
376
|
+
* Plain text node
|
|
377
|
+
* @lang zh 纯文本节点
|
|
378
|
+
* @lang hi सादा टेक्स्ट नोड
|
|
379
|
+
*/
|
|
162
380
|
export interface TextNode {
|
|
163
381
|
type: typeof RuleType2.text;
|
|
382
|
+
/** Text content */
|
|
383
|
+
/** @lang zh 文本内容 */
|
|
384
|
+
/** @lang hi टेक्स्ट सामग्री */
|
|
164
385
|
text: string;
|
|
165
386
|
}
|
|
387
|
+
/**
|
|
388
|
+
* Formatted text node (bold, italic, etc.)
|
|
389
|
+
* @lang zh 格式化文本节点(加粗、斜体等)
|
|
390
|
+
* @lang hi फ़ॉर्मेट किया गया टेक्स्ट नोड (बोल्ड, इटैलिक, आदि)
|
|
391
|
+
*/
|
|
166
392
|
export interface FormattedTextNode {
|
|
167
393
|
type: typeof RuleType2.textFormatted;
|
|
168
394
|
/**
|
|
169
395
|
* the corresponding html tag
|
|
396
|
+
* @lang zh 对应的 HTML 标签
|
|
397
|
+
* @lang hi संबंधित HTML टैग
|
|
170
398
|
*/
|
|
171
399
|
tag: string;
|
|
400
|
+
/** Child nodes */
|
|
401
|
+
/** @lang zh 子节点 */
|
|
402
|
+
/** @lang hi चाइल्ड नोड्स */
|
|
172
403
|
children: MarkdownToJSX.ASTNode[];
|
|
173
404
|
}
|
|
405
|
+
/**
|
|
406
|
+
* HTML block node (includes JSX components)
|
|
407
|
+
* @lang zh HTML 块节点(包括 JSX 组件)
|
|
408
|
+
* @lang hi HTML ब्लॉक नोड (JSX कंपोनेंट्स शामिल हैं)
|
|
409
|
+
*/
|
|
174
410
|
export interface HTMLNode {
|
|
175
411
|
type: typeof RuleType2.htmlBlock;
|
|
412
|
+
/** Parsed HTML attributes */
|
|
413
|
+
/** @lang zh 解析后的 HTML 属性 */
|
|
414
|
+
/** @lang hi पार्स किए गए HTML एट्रिब्यूट्स */
|
|
176
415
|
attrs?: Record<string, any>;
|
|
416
|
+
/** Parsed child nodes (always parsed, even for verbatim blocks) */
|
|
417
|
+
/** @lang zh 解析后的子节点(始终解析,即使是逐字块) */
|
|
418
|
+
/** @lang hi पार्स किए गए चाइल्ड नोड्स (हमेशा पार्स किए जाते हैं, यहां तक कि verbatim ब्लॉक्स के लिए भी) */
|
|
177
419
|
children?: ASTNode[] | undefined;
|
|
420
|
+
/** Whether this is a verbatim block (script, style, pre, etc.) */
|
|
421
|
+
/** @lang zh 这是否是逐字块(script、style、pre 等) */
|
|
422
|
+
/** @lang hi क्या यह एक verbatim ब्लॉक है (script, style, pre, आदि) */
|
|
178
423
|
verbatim?: boolean;
|
|
424
|
+
/** Original raw attribute string */
|
|
425
|
+
/** @lang zh 原始属性字符串 */
|
|
426
|
+
/** @lang hi मूल raw एट्रिब्यूट स्ट्रिंग */
|
|
179
427
|
rawAttrs?: string;
|
|
428
|
+
/** Original raw HTML content (for verbatim blocks) */
|
|
429
|
+
/** @lang zh 原始 HTML 内容(用于逐字块) */
|
|
430
|
+
/** @lang hi मूल raw HTML सामग्री (verbatim ब्लॉक्स के लिए) */
|
|
180
431
|
rawText?: string | undefined;
|
|
181
432
|
/** @deprecated Use `rawText` instead. This property will be removed in a future major version. */
|
|
433
|
+
/** @lang zh @deprecated 请使用 `rawText` 代替。此属性将在未来的主要版本中移除。 */
|
|
434
|
+
/** @lang hi @deprecated कृपया इसके बजाय `rawText` का उपयोग करें। यह प्रॉपर्टी भविष्य के प्रमुख संस्करण में हटा दी जाएगी। */
|
|
182
435
|
text?: string | undefined;
|
|
436
|
+
/** HTML tag name */
|
|
437
|
+
/** @lang zh HTML 标签名称 */
|
|
438
|
+
/** @lang hi HTML टैग नाम */
|
|
183
439
|
tag: string;
|
|
184
440
|
}
|
|
441
|
+
/**
|
|
442
|
+
* Self-closing HTML tag node
|
|
443
|
+
* @lang zh 自闭合 HTML 标签节点
|
|
444
|
+
* @lang hi स्व-बंद होने वाला HTML टैग नोड
|
|
445
|
+
*/
|
|
185
446
|
export interface HTMLSelfClosingNode {
|
|
186
447
|
type: typeof RuleType2.htmlSelfClosing;
|
|
448
|
+
/** Parsed HTML attributes */
|
|
449
|
+
/** @lang zh 解析后的 HTML 属性 */
|
|
450
|
+
/** @lang hi पार्स किए गए HTML एट्रिब्यूट्स */
|
|
187
451
|
attrs?: Record<string, any>;
|
|
452
|
+
/** Whether this is a closing tag */
|
|
453
|
+
/** @lang zh 这是否是闭合标签 */
|
|
454
|
+
/** @lang hi क्या यह एक बंद करने वाला टैग है */
|
|
188
455
|
isClosingTag?: boolean;
|
|
456
|
+
/** HTML tag name */
|
|
457
|
+
/** @lang zh HTML 标签名称 */
|
|
458
|
+
/** @lang hi HTML टैग नाम */
|
|
189
459
|
tag: string;
|
|
460
|
+
/** Original raw HTML content */
|
|
461
|
+
/** @lang zh 原始 HTML 内容 */
|
|
462
|
+
/** @lang hi मूल raw HTML सामग्री */
|
|
190
463
|
rawText?: string;
|
|
191
464
|
}
|
|
465
|
+
/**
|
|
466
|
+
* Union type of all possible AST node types
|
|
467
|
+
* @lang zh 所有可能的 AST 节点类型的联合类型
|
|
468
|
+
* @lang hi सभी संभावित AST नोड प्रकारों का संघ प्रकार
|
|
469
|
+
*/
|
|
192
470
|
export type ASTNode = BlockQuoteNode | BreakLineNode | BreakThematicNode | CodeBlockNode | CodeInlineNode | FootnoteNode | FootnoteReferenceNode | FrontmatterNode | GFMTaskNode | HeadingNode | HTMLCommentNode | ImageNode | LinkNode | OrderedListNode | UnorderedListNode | ParagraphNode | ReferenceNode | ReferenceCollectionNode | TableNode | TextNode | FormattedTextNode | HTMLNode | HTMLSelfClosingNode;
|
|
471
|
+
/**
|
|
472
|
+
* Function type for rendering AST nodes
|
|
473
|
+
* @lang zh 用于渲染 AST 节点的函数类型
|
|
474
|
+
* @lang hi AST नोड्स को रेंडर करने के लिए फ़ंक्शन प्रकार
|
|
475
|
+
*/
|
|
193
476
|
export type ASTRender = (ast: MarkdownToJSX.ASTNode | MarkdownToJSX.ASTNode[], state: MarkdownToJSX.State) => React.ReactNode;
|
|
477
|
+
/**
|
|
478
|
+
* Override configuration for HTML tags or custom components
|
|
479
|
+
* @lang zh HTML 标签或自定义组件的覆盖配置
|
|
480
|
+
* @lang hi HTML टैग्स या कस्टम कंपोनेंट्स के लिए ओवरराइड कॉन्फ़िगरेशन
|
|
481
|
+
*/
|
|
194
482
|
export type Override = RequireAtLeastOne<{
|
|
195
483
|
component: React.ElementType;
|
|
196
484
|
props: Object;
|
|
197
485
|
}> | React.ElementType;
|
|
486
|
+
/**
|
|
487
|
+
* Map of HTML tags and custom components to their override configurations
|
|
488
|
+
* @lang zh HTML 标签和自定义组件到其覆盖配置的映射
|
|
489
|
+
* @lang hi HTML टैग्स और कस्टम कंपोनेंट्स से उनकी ओवरराइड कॉन्फ़िगरेशन का मैप
|
|
490
|
+
*/
|
|
198
491
|
export type Overrides = { [tag in HTMLTags]? : Override } & {
|
|
199
492
|
[customComponent: string]: Override;
|
|
200
493
|
};
|
|
494
|
+
/**
|
|
495
|
+
* Compiler options
|
|
496
|
+
* @lang zh 编译器选项
|
|
497
|
+
* @lang hi कंपाइलर विकल्प
|
|
498
|
+
*/
|
|
201
499
|
export type Options = Partial<{
|
|
202
500
|
/**
|
|
203
501
|
* Ultimate control over the output of all rendered JSX.
|
|
502
|
+
* @lang zh 对所有渲染的 JSX 输出的最终控制。
|
|
503
|
+
* @lang hi सभी रेंडर किए गए JSX आउटपुट पर अंतिम नियंत्रण।
|
|
204
504
|
*/
|
|
205
505
|
createElement: (tag: Parameters<CreateElement>[0], props: React.JSX.IntrinsicAttributes, ...children: React.ReactNode[]) => React.ReactNode;
|
|
206
506
|
/**
|
|
207
507
|
* The library automatically generates an anchor tag for bare URLs included in the markdown
|
|
208
508
|
* document, but this behavior can be disabled if desired.
|
|
509
|
+
* @lang zh 库会自动为 Markdown 文档中包含的裸 URL 生成锚点标签,但可以根据需要禁用此行为。
|
|
510
|
+
* @lang hi लाइब्रेरी markdown दस्तावेज़ में शामिल नंगे URLs के लिए स्वचालित रूप से एक एंकर टैग जेनरेट करती है, लेकिन यदि वांछित हो तो इस व्यवहार को अक्षम किया जा सकता है।
|
|
209
511
|
*/
|
|
210
512
|
disableAutoLink: boolean;
|
|
211
513
|
/**
|
|
212
514
|
* Disable the compiler's best-effort transcription of provided raw HTML
|
|
213
515
|
* into JSX-equivalent. This is the functionality that prevents the need to
|
|
214
516
|
* use `dangerouslySetInnerHTML` in React.
|
|
517
|
+
* @lang zh 禁用编译器将提供的原始 HTML 转换为 JSX 等效项的最佳努力。此功能可避免在 React 中使用 `dangerouslySetInnerHTML`。
|
|
518
|
+
* @lang hi कंपाइलर के प्रदान किए गए raw HTML को JSX-समतुल्य में ट्रांसक्राइब करने के सर्वोत्तम प्रयास को अक्षम करें। यह वह कार्यक्षमता है जो React में `dangerouslySetInnerHTML` का उपयोग करने की आवश्यकता को रोकती है।
|
|
215
519
|
*/
|
|
216
520
|
disableParsingRawHTML: boolean;
|
|
217
521
|
/**
|
|
@@ -219,6 +523,8 @@ type RequireAtLeastOne<
|
|
|
219
523
|
* When enabled, the following tags are escaped: title, textarea, style, xmp,
|
|
220
524
|
* iframe, noembed, noframes, script, plaintext.
|
|
221
525
|
* https://github.github.com/gfm/#disallowed-raw-html-extension-
|
|
526
|
+
* @lang zh 启用 GFM tagfilter 扩展以过滤潜在危险的 HTML 标签。启用后,以下标签将被转义:title、textarea、style、xmp、iframe、noembed、noframes、script、plaintext。
|
|
527
|
+
* @lang hi संभावित खतरनाक HTML टैग्स को फ़िल्टर करने के लिए GFM tagfilter एक्सटेंशन सक्षम करें। सक्षम होने पर, निम्नलिखित टैग्स एस्केप किए जाते हैं: title, textarea, style, xmp, iframe, noembed, noframes, script, plaintext।
|
|
222
528
|
* @default true
|
|
223
529
|
*/
|
|
224
530
|
tagfilter?: boolean;
|
|
@@ -227,6 +533,8 @@ type RequireAtLeastOne<
|
|
|
227
533
|
* is explicitly stated in the most of the markdown specs.
|
|
228
534
|
* https://github.github.com/gfm/#atx-heading
|
|
229
535
|
* `The opening sequence of # characters must be followed by a space or by the end of line.`
|
|
536
|
+
* @lang zh 强制编译器在井号和标题文本之间有空格,这在大多数 Markdown 规范中都有明确规定。
|
|
537
|
+
* @lang hi कंपाइलर को हैश चिह्न और हेडर टेक्स्ट के बीच स्थान रखने के लिए बाध्य करता है, जो अधिकांश markdown विनिर्देशों में स्पष्ट रूप से कहा गया है。
|
|
230
538
|
*/
|
|
231
539
|
enforceAtxHeadings: boolean;
|
|
232
540
|
/**
|
|
@@ -251,26 +559,70 @@ type RequireAtLeastOne<
|
|
|
251
559
|
* When disabled (default), unserializable expressions remain as strings that can be
|
|
252
560
|
* safely inspected or handled on a case-by-case basis via custom renderRule logic.
|
|
253
561
|
*
|
|
562
|
+
* @lang zh **⚠️ 安全警告:强烈建议不要用于用户输入**
|
|
563
|
+
*
|
|
564
|
+
* 启用后,尝试计算 JSX 属性中无法序列化为 JSON 的表达式(函数、变量、复杂表达式)。这使用 `eval()`,可能会执行任意代码。
|
|
565
|
+
*
|
|
566
|
+
* **仅在以下情况下使用此选项:**
|
|
567
|
+
* - Markdown 源完全可信(例如,您自己的文档)
|
|
568
|
+
* - 您控制所有 JSX 组件及其属性
|
|
569
|
+
* - 内容不是用户生成或用户可编辑的
|
|
570
|
+
*
|
|
571
|
+
* **在以下情况下不要使用此选项:**
|
|
572
|
+
* - 处理用户提交的 Markdown
|
|
573
|
+
* - 渲染不可信内容
|
|
574
|
+
* - 构建面向公众的用户内容应用程序
|
|
575
|
+
*
|
|
576
|
+
* 不安全的输入示例:`<Component onClick={() => fetch('/admin/delete-all')} />`
|
|
577
|
+
*
|
|
578
|
+
* 禁用时(默认),不可序列化的表达式保持为字符串,可以通过自定义 renderRule 逻辑安全地检查或逐例处理。
|
|
579
|
+
*
|
|
580
|
+
* @lang hi **⚠️ सुरक्षा चेतावनी: उपयोगकर्ता इनपुट के लिए अत्यधिक हतोत्साहित**
|
|
581
|
+
*
|
|
582
|
+
* सक्षम होने पर, JSX props में expressions को eval करने का प्रयास करता है जिन्हें JSON के रूप में सीरियलाइज़ नहीं किया जा सकता है (फ़ंक्शन, वेरिएबल, जटिल expressions)। यह `eval()` का उपयोग करता है जो मनमाने कोड को निष्पादित कर सकता है।
|
|
583
|
+
*
|
|
584
|
+
* **केवल निम्नलिखित स्थितियों में इस विकल्प का उपयोग करें:**
|
|
585
|
+
* - Markdown स्रोत पूरी तरह से विश्वसनीय है (उदाहरण के लिए, आपका अपना दस्तावेज़ीकरण)
|
|
586
|
+
* - आप सभी JSX कंपोनेंट्स और उनके props को नियंत्रित करते हैं
|
|
587
|
+
* - सामग्री उपयोगकर्ता-जनित या उपयोगकर्ता-संपादन योग्य नहीं है
|
|
588
|
+
*
|
|
589
|
+
* **निम्नलिखित स्थितियों में इस विकल्प का उपयोग न करें:**
|
|
590
|
+
* - उपयोगकर्ता-सबमिट किए गए markdown को प्रोसेस कर रहे हों
|
|
591
|
+
* - अविश्वसनीय सामग्री रेंडर कर रहे हों
|
|
592
|
+
* - उपयोगकर्ता सामग्री वाले सार्वजनिक-सामना करने वाले एप्लिकेशन बना रहे हों
|
|
593
|
+
*
|
|
594
|
+
* असुरक्षित इनपुट उदाहरण: `<Component onClick={() => fetch('/admin/delete-all')} />`
|
|
595
|
+
*
|
|
596
|
+
* अक्षम होने पर (डिफ़ॉल्ट), अनसीरियलाइज़ेबल expressions स्ट्रिंग्स के रूप में रहते हैं जिन्हें कस्टम renderRule लॉजिक के माध्यम से सुरक्षित रूप से जांचा जा सकता है या केस-बाई-केस हैंडल किया जा सकता है।
|
|
597
|
+
*
|
|
254
598
|
* @default false
|
|
255
599
|
*/
|
|
256
600
|
evalUnserializableExpressions?: boolean;
|
|
257
601
|
/**
|
|
258
602
|
* Forces the compiler to always output content with a block-level wrapper
|
|
259
603
|
* (`<p>` or any block-level syntax your markdown already contains.)
|
|
604
|
+
* @lang zh 强制编译器始终使用块级包装器输出内容(`<p>` 或您的 Markdown 已包含的任何块级语法)。
|
|
605
|
+
* @lang hi कंपाइलर को हमेशा ब्लॉक-स्तरीय रैपर के साथ सामग्री आउटपुट करने के लिए बाध्य करता है (`<p>` या आपके markdown में पहले से मौजूद कोई भी ब्लॉक-स्तरीय सिंटैक्स)।
|
|
260
606
|
*/
|
|
261
607
|
forceBlock: boolean;
|
|
262
608
|
/**
|
|
263
609
|
* Forces the compiler to always output content with an inline wrapper (`<span>`)
|
|
610
|
+
* @lang zh 强制编译器始终使用内联包装器(`<span>`)输出内容
|
|
611
|
+
* @lang hi कंपाइलर को हमेशा इनलाइन रैपर (`<span>`) के साथ सामग्री आउटपुट करने के लिए बाध्य करता है
|
|
264
612
|
*/
|
|
265
613
|
forceInline: boolean;
|
|
266
614
|
/**
|
|
267
615
|
* Forces the compiler to wrap results, even if there is only a single
|
|
268
616
|
* child or no children.
|
|
617
|
+
* @lang zh 强制编译器包装结果,即使只有一个子元素或没有子元素。
|
|
618
|
+
* @lang hi कंपाइलर को परिणामों को रैप करने के लिए बाध्य करता है, भले ही केवल एक चाइल्ड हो या कोई चाइल्ड न हो।
|
|
269
619
|
*/
|
|
270
620
|
forceWrapper: boolean;
|
|
271
621
|
/**
|
|
272
622
|
* Selectively control the output of particular HTML tags as they would be
|
|
273
623
|
* emitted by the compiler.
|
|
624
|
+
* @lang zh 选择性地控制特定 HTML 标签的输出,就像编译器会发出的一样。
|
|
625
|
+
* @lang hi चुनिंदा रूप से विशिष्ट HTML टैग्स के आउटपुट को नियंत्रित करें जैसा कि कंपाइलर द्वारा उत्सर्जित किया जाएगा।
|
|
274
626
|
*/
|
|
275
627
|
overrides: Overrides;
|
|
276
628
|
/**
|
|
@@ -294,16 +646,26 @@ type RequireAtLeastOne<
|
|
|
294
646
|
* Thar be dragons obviously, but you can do a lot with this
|
|
295
647
|
* (have fun!) To see how things work internally, check the `render`
|
|
296
648
|
* method in source for a particular rule.
|
|
649
|
+
* @lang zh 允许完全控制特定规则的渲染。例如,要实现像 `react-katex` 这样的 LaTeX 渲染器:
|
|
650
|
+
*
|
|
651
|
+
* 显然有风险,但您可以用它做很多事情(玩得开心!)要了解内部工作原理,请查看源代码中特定规则的 `render` 方法。
|
|
652
|
+
* @lang hi विशिष्ट नियमों के रेंडरिंग पर पूर्ण नियंत्रण की अनुमति देता है। उदाहरण के लिए, `react-katex` जैसे LaTeX रेंडरर को लागू करने के लिए:
|
|
653
|
+
*
|
|
654
|
+
* स्पष्ट रूप से जोखिम हैं, लेकिन आप इसके साथ बहुत कुछ कर सकते हैं (मज़े करें!) आंतरिक रूप से चीजें कैसे काम करती हैं यह देखने के लिए, किसी विशिष्ट नियम के लिए स्रोत में `render` विधि देखें।
|
|
297
655
|
*/
|
|
298
656
|
renderRule: (next: () => React.ReactNode, node: ASTNode, renderChildren: ASTRender, state: State) => React.ReactNode;
|
|
299
657
|
/**
|
|
300
658
|
* Override the built-in sanitizer function for URLs, etc if desired. The built-in version is available as a library
|
|
301
659
|
export called `sanitizer`.
|
|
660
|
+
* @lang zh 如果需要,覆盖内置的 URL 清理函数等。内置版本可作为名为 `sanitizer` 的库导出使用。
|
|
661
|
+
* @lang hi यदि वांछित हो तो URLs आदि के लिए बिल्ट-इन सैनिटाइज़र फ़ंक्शन को ओवरराइड करें। बिल्ट-इन संस्करण `sanitizer` नामक लाइब्रेरी export के रूप में उपलब्ध है।
|
|
302
662
|
*/
|
|
303
663
|
sanitizer: (value: string, tag: string, attribute: string) => string | null;
|
|
304
664
|
/**
|
|
305
665
|
* Override normalization of non-URI-safe characters for use in generating
|
|
306
666
|
* HTML IDs for anchor linking purposes.
|
|
667
|
+
* @lang zh 覆盖非 URI 安全字符的规范化,用于生成用于锚点链接的 HTML ID。
|
|
668
|
+
* @lang hi एंकर लिंकिंग उद्देश्यों के लिए HTML IDs जेनरेट करने में उपयोग के लिए गैर-URI-सुरक्षित वर्णों के सामान्यीकरण को ओवरराइड करें।
|
|
307
669
|
*/
|
|
308
670
|
slugify: (input: string, defaultFn: (input: string) => string) => string;
|
|
309
671
|
/**
|
|
@@ -311,15 +673,21 @@ type RequireAtLeastOne<
|
|
|
311
673
|
* children to render. Set to `null` to get an array of children back
|
|
312
674
|
* without any wrapper, or use `React.Fragment` to get a React element
|
|
313
675
|
* that won't show up in the DOM.
|
|
676
|
+
* @lang zh 声明在有多个子元素要渲染时使用的包装器类型。设置为 `null` 以在没有包装器的情况下返回子元素数组,或使用 `React.Fragment` 获取不会出现在 DOM 中的 React 元素。
|
|
677
|
+
* @lang hi रैपर के प्रकार को घोषित करें जब कई children को रेंडर करना हो। बिना किसी रैपर के children की एक सरणी वापस पाने के लिए `null` पर सेट करें, या DOM में दिखाई न देने वाला React एलिमेंट प्राप्त करने के लिए `React.Fragment` का उपयोग करें।
|
|
314
678
|
*/
|
|
315
679
|
wrapper: React.ElementType | null;
|
|
316
680
|
/**
|
|
317
681
|
* Props to apply to the wrapper element.
|
|
682
|
+
* @lang zh 应用于包装元素的属性。
|
|
683
|
+
* @lang hi रैपर एलिमेंट पर लागू करने के लिए props।
|
|
318
684
|
*/
|
|
319
685
|
wrapperProps?: React.JSX.IntrinsicAttributes;
|
|
320
686
|
/**
|
|
321
687
|
* Preserve frontmatter in the output by rendering it as a <pre> element.
|
|
322
688
|
* By default, frontmatter is parsed but not rendered.
|
|
689
|
+
* @lang zh 通过将其渲染为 <pre> 元素来保留输出中的前置元数据。默认情况下,前置元数据会被解析但不会渲染。
|
|
690
|
+
* @lang hi इसे <pre> एलिमेंट के रूप में रेंडर करके आउटपुट में फ्रंटमैटर को संरक्षित करें। डिफ़ॉल्ट रूप से, फ्रंटमैटर को पार्स किया जाता है लेकिन रेंडर नहीं किया जाता है।
|
|
323
691
|
* @default false
|
|
324
692
|
*/
|
|
325
693
|
preserveFrontmatter?: boolean;
|
|
@@ -360,36 +728,165 @@ declare global {
|
|
|
360
728
|
* reference definitions found in the markdown. These reference definitions are used to
|
|
361
729
|
* resolve reference links and images in the markdown.
|
|
362
730
|
*
|
|
731
|
+
* @lang zh 给定一个 Markdown 字符串,返回 Markdown 的抽象语法树 (AST)。
|
|
732
|
+
*
|
|
733
|
+
* AST 中的第一个节点是引用集合节点。此节点包含在 Markdown 中找到的所有引用定义。这些引用定义用于解析 Markdown 中的引用链接和图像。
|
|
734
|
+
* @lang hi एक Markdown स्ट्रिंग दी गई है, Markdown का अमूर्त सिंटैक्स ट्री (AST) लौटाता है।
|
|
735
|
+
*
|
|
736
|
+
* AST में पहला नोड संदर्भ संग्रह नोड है। यह नोड Markdown में पाई गई सभी संदर्भ परिभाषाएं शामिल करता है। ये संदर्भ परिभाषाएं Markdown में संदर्भ लिंक्स और छवियों को पार्स करने के लिए उपयोग की जाती हैं।
|
|
737
|
+
*
|
|
363
738
|
* @param source - The markdown string to parse.
|
|
739
|
+
* @lang zh @param source - 要解析的 Markdown 字符串。
|
|
740
|
+
* @lang hi @param source - पार्स करने के लिए Markdown स्ट्रिंग।
|
|
364
741
|
* @param options - The options for the parser.
|
|
742
|
+
* @lang zh @param options - 解析器的选项。
|
|
743
|
+
* @lang hi @param options - पार्सर के लिए विकल्प।
|
|
365
744
|
* @returns The AST of the markdown.
|
|
745
|
+
* @lang zh @returns Markdown 的 AST。
|
|
746
|
+
* @lang hi @returns Markdown का AST।
|
|
366
747
|
*/
|
|
367
748
|
declare function parser(source: string, options?: MarkdownToJSX.Options): MarkdownToJSX.ASTNode[];
|
|
749
|
+
/**
|
|
750
|
+
* Sanitize URLs and other input values to prevent XSS attacks.
|
|
751
|
+
* Filters out javascript:, vbscript:, and data: URLs (except data:image).
|
|
752
|
+
*
|
|
753
|
+
* @lang zh 清理 URL 和其他输入值以防止 XSS 攻击。过滤掉 javascript:、vbscript: 和 data: URL(data:image 除外)。
|
|
754
|
+
* @lang hi XSS हमलों को रोकने के लिए URLs और अन्य इनपुट मानों को सैनिटाइज़ करता है। javascript:, vbscript:, और data: URLs को फ़िल्टर करता है (data:image को छोड़कर)।
|
|
755
|
+
*
|
|
756
|
+
* @param input - The URL or value to sanitize
|
|
757
|
+
* @lang zh @param input - 要清理的 URL 或值
|
|
758
|
+
* @lang hi @param input - सैनिटाइज़ करने के लिए URL या मान
|
|
759
|
+
* @returns Sanitized value, or null if unsafe
|
|
760
|
+
* @lang zh @returns 清理后的值,如果不安全则返回 null
|
|
761
|
+
* @lang hi @returns सैनिटाइज़ किया गया मान, या असुरक्षित होने पर null
|
|
762
|
+
*/
|
|
368
763
|
declare function sanitizer(input: string): string | null;
|
|
764
|
+
/**
|
|
765
|
+
* Convert a string to a URL-safe slug by normalizing characters and replacing spaces with hyphens.
|
|
766
|
+
* Based on https://stackoverflow.com/a/18123682/1141611
|
|
767
|
+
* Not complete, but probably good enough.
|
|
768
|
+
*
|
|
769
|
+
* @lang zh 通过规范化字符并用连字符替换空格,将字符串转换为 URL 安全的别名。不完整,但可能足够好。
|
|
770
|
+
* @lang hi वर्णों को सामान्यीकृत करके और रिक्त स्थान को हाइफ़न से बदलकर स्ट्रिंग को URL-सुरक्षित slug में बदलता है। पूर्ण नहीं है, लेकिन शायद पर्याप्त है।
|
|
771
|
+
*
|
|
772
|
+
* @param str - String to slugify
|
|
773
|
+
* @lang zh @param str - 要转换为别名的字符串
|
|
774
|
+
* @lang hi @param str - slugify करने के लिए स्ट्रिंग
|
|
775
|
+
* @returns URL-safe slug
|
|
776
|
+
* @lang zh @returns URL 安全的别名
|
|
777
|
+
* @lang hi @returns URL-सुरक्षित slug
|
|
778
|
+
*/
|
|
369
779
|
declare function slugify(str: string): string;
|
|
780
|
+
/**
|
|
781
|
+
* Vue injection key for sharing compiler options across Markdown components
|
|
782
|
+
* @lang zh 用于在 Markdown 组件之间共享编译器选项的 Vue 注入键
|
|
783
|
+
* @lang hi Markdown कंपोनेंट्स के बीच कंपाइलर विकल्प साझा करने के लिए Vue इंजेक्शन कुंजी
|
|
784
|
+
*/
|
|
370
785
|
declare const MarkdownOptionsKey: InjectionKey<VueOptions | undefined>;
|
|
371
786
|
type VueChild = VNode | string;
|
|
372
787
|
/**
|
|
373
788
|
* Convert HTML attributes to Vue props
|
|
374
789
|
* Vue uses HTML standard attributes (class, not className), so minimal mapping needed
|
|
375
790
|
* Only 'for' -> 'htmlFor' needs mapping
|
|
791
|
+
* @lang zh 将 HTML 属性转换为 Vue 属性
|
|
792
|
+
* Vue 使用标准 HTML 属性(class,而不是 className),因此只需要最少的映射
|
|
793
|
+
* 只需要映射 'for' -> 'htmlFor'
|
|
794
|
+
* @lang hi HTML एट्रिब्यूट्स को Vue props में बदलें
|
|
795
|
+
* Vue मानक HTML एट्रिब्यूट्स का उपयोग करता है (class, className नहीं), इसलिए न्यूनतम मैपिंग की आवश्यकता है
|
|
796
|
+
* केवल 'for' -> 'htmlFor' मैपिंग की आवश्यकता है
|
|
797
|
+
*
|
|
798
|
+
* @param attrs - HTML attributes object
|
|
799
|
+
* @lang zh @param attrs - HTML 属性对象
|
|
800
|
+
* @lang hi @param attrs - HTML एट्रिब्यूट्स ऑब्जेक्ट
|
|
801
|
+
* @returns Vue props object
|
|
802
|
+
* @lang zh @returns Vue 属性对象
|
|
803
|
+
* @lang hi @returns Vue props ऑब्जेक्ट
|
|
376
804
|
*/
|
|
377
805
|
declare function htmlAttrsToVueProps(attrs: Record<string, any>): Record<string, any>;
|
|
806
|
+
/**
|
|
807
|
+
* Override configuration for HTML tags or custom components in Vue output
|
|
808
|
+
* @lang zh Vue 输出中 HTML 标签或自定义组件的覆盖配置
|
|
809
|
+
* @lang hi Vue आउटपुट में HTML टैग्स या कस्टम कंपोनेंट्स के लिए ओवरराइड कॉन्फ़िगरेशन
|
|
810
|
+
*/
|
|
378
811
|
type VueOverride = RequireAtLeastOne<{
|
|
379
812
|
component: string | Component;
|
|
380
813
|
props: Record<string, unknown>;
|
|
381
814
|
}> | string | Component;
|
|
815
|
+
/**
|
|
816
|
+
* Map of HTML tags and custom components to their override configurations
|
|
817
|
+
* @lang zh HTML 标签和自定义组件到其覆盖配置的映射
|
|
818
|
+
* @lang hi HTML टैग्स और कस्टम कंपोनेंट्स से उनकी ओवरराइड कॉन्फ़िगरेशन का मैप
|
|
819
|
+
*/
|
|
382
820
|
type VueOverrides = {
|
|
383
821
|
[tag: string]: VueOverride;
|
|
384
822
|
};
|
|
823
|
+
/**
|
|
824
|
+
* Vue compiler options
|
|
825
|
+
* @lang zh Vue 编译器选项
|
|
826
|
+
* @lang hi Vue कंपाइलर विकल्प
|
|
827
|
+
*/
|
|
385
828
|
type VueOptions = Omit<MarkdownToJSX.Options, "createElement" | "wrapperProps" | "renderRule" | "overrides"> & {
|
|
829
|
+
/** Custom createElement function (Vue's h function) */
|
|
830
|
+
/** @lang zh 自定义 createElement 函数(Vue 的 h 函数) */
|
|
831
|
+
/** @lang hi कस्टम createElement फ़ंक्शन (Vue का h फ़ंक्शन) */
|
|
386
832
|
createElement?: typeof h;
|
|
833
|
+
/** Props for wrapper element */
|
|
834
|
+
/** @lang zh 包装元素的属性 */
|
|
835
|
+
/** @lang hi रैपर एलिमेंट के लिए props */
|
|
387
836
|
wrapperProps?: Record<string, unknown>;
|
|
837
|
+
/** Custom rendering function for AST rules */
|
|
838
|
+
/** @lang zh AST 规则的自定义渲染函数 */
|
|
839
|
+
/** @lang hi AST नियमों के लिए कस्टम रेंडरिंग फ़ंक्शन */
|
|
388
840
|
renderRule?: (next: () => VueChild | null, node: MarkdownToJSX.ASTNode, renderChildren: (children: MarkdownToJSX.ASTNode[]) => VueChild[] | VNode, state: MarkdownToJSX.State) => VueChild | null;
|
|
841
|
+
/** Override configurations for HTML tags */
|
|
842
|
+
/** @lang zh HTML 标签的覆盖配置 */
|
|
843
|
+
/** @lang hi HTML टैग्स के लिए ओवरराइड कॉन्फ़िगरेशन */
|
|
389
844
|
overrides?: VueOverrides;
|
|
390
845
|
};
|
|
846
|
+
/**
|
|
847
|
+
* Convert AST nodes to Vue VNode elements
|
|
848
|
+
* @lang zh 将 AST 节点转换为 Vue VNode 元素
|
|
849
|
+
* @lang hi AST नोड्स को Vue VNode एलिमेंट्स में बदलें
|
|
850
|
+
*
|
|
851
|
+
* @param ast - Array of AST nodes to render
|
|
852
|
+
* @lang zh @param ast - 要渲染的 AST 节点数组
|
|
853
|
+
* @lang hi @param ast - रेंडर करने के लिए AST नोड्स की सरणी
|
|
854
|
+
* @param options - Vue compiler options
|
|
855
|
+
* @lang zh @param options - Vue 编译器选项
|
|
856
|
+
* @lang hi @param options - Vue कंपाइलर विकल्प
|
|
857
|
+
* @returns Vue VNode element(s)
|
|
858
|
+
* @lang zh @returns Vue VNode 元素
|
|
859
|
+
* @lang hi @returns Vue VNode एलिमेंट(s)
|
|
860
|
+
*/
|
|
391
861
|
declare function astToJSX(ast: MarkdownToJSX.ASTNode[], options?: VueOptions): VNode | VNode[] | null;
|
|
862
|
+
/**
|
|
863
|
+
* Compile markdown string to Vue VNode elements
|
|
864
|
+
* @lang zh 将 Markdown 字符串编译为 Vue VNode 元素
|
|
865
|
+
* @lang hi Markdown स्ट्रिंग को Vue VNode एलिमेंट्स में कंपाइल करें
|
|
866
|
+
*
|
|
867
|
+
* @param markdown - Markdown string to compile
|
|
868
|
+
* @lang zh @param markdown - 要编译的 Markdown 字符串
|
|
869
|
+
* @lang hi @param markdown - कंपाइल करने के लिए Markdown स्ट्रिंग
|
|
870
|
+
* @param options - Vue compiler options
|
|
871
|
+
* @lang zh @param options - Vue 编译器选项
|
|
872
|
+
* @lang hi @param options - Vue कंपाइलर विकल्प
|
|
873
|
+
* @returns Vue VNode element(s)
|
|
874
|
+
* @lang zh @returns Vue VNode 元素
|
|
875
|
+
* @lang hi @returns Vue VNode एलिमेंट(s)
|
|
876
|
+
*/
|
|
392
877
|
declare function compiler(markdown?: string, options?: VueOptions): VNode | VNode[] | null;
|
|
878
|
+
/**
|
|
879
|
+
* Vue context provider for sharing compiler options across Markdown components
|
|
880
|
+
* @lang zh 用于在 Markdown 组件之间共享编译器选项的 Vue 上下文提供者
|
|
881
|
+
* @lang hi Markdown कंपोनेंट्स के बीच कंपाइलर विकल्प साझा करने के लिए Vue संदर्भ प्रदाता
|
|
882
|
+
*
|
|
883
|
+
* @param options - Default compiler options to share
|
|
884
|
+
* @lang zh @param options - 要共享的默认编译器选项
|
|
885
|
+
* @lang hi @param options - साझा करने के लिए डिफ़ॉल्ट कंपाइलर विकल्प
|
|
886
|
+
* @param children - Vue children
|
|
887
|
+
* @lang zh @param children - Vue 子元素
|
|
888
|
+
* @lang hi @param children - Vue चाइल्ड एलिमेंट्स
|
|
889
|
+
*/
|
|
393
890
|
declare const MarkdownProvider: Component<{
|
|
394
891
|
options?: VueOptions;
|
|
395
892
|
children?: unknown;
|
|
@@ -397,6 +894,15 @@ declare const MarkdownProvider: Component<{
|
|
|
397
894
|
/**
|
|
398
895
|
* A Vue component for easy markdown rendering. Feed the markdown content as a direct child
|
|
399
896
|
* and the rest is taken care of automatically. Supports computed memoization for optimal performance.
|
|
897
|
+
* @lang zh 用于轻松渲染 Markdown 的 Vue 组件。将 Markdown 内容作为直接子元素提供,其余部分会自动处理。支持计算属性记忆化以获得最佳性能。
|
|
898
|
+
* @lang hi आसान markdown रेंडरिंग के लिए एक Vue कंपोनेंट। markdown सामग्री को सीधे चाइल्ड के रूप में प्रदान करें और बाकी स्वचालित रूप से संभाला जाता है। इष्टतम प्रदर्शन के लिए computed मेमोइज़ेशन का समर्थन करता है।
|
|
899
|
+
*
|
|
900
|
+
* @param children - Markdown string content
|
|
901
|
+
* @lang zh @param children - Markdown 字符串内容
|
|
902
|
+
* @lang hi @param children - Markdown स्ट्रिंग सामग्री
|
|
903
|
+
* @param options - Compiler options
|
|
904
|
+
* @lang zh @param options - 编译器选项
|
|
905
|
+
* @lang hi @param options - कंपाइलर विकल्प
|
|
400
906
|
*/
|
|
401
907
|
declare const Markdown: Component<{
|
|
402
908
|
children?: string | null;
|