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