stream-markdown-parser 0.0.15 → 0.0.17

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/index.d.ts CHANGED
@@ -1,5 +1,4 @@
1
- import * as markdown_it_ts0 from "markdown-it-ts";
2
- import { Token } from "markdown-it-ts";
1
+ import { MarkdownIt as MarkdownIt$1, Token } from "markdown-it-ts";
3
2
 
4
3
  //#region src/factory.d.ts
5
4
  interface FactoryOptions extends Record<string, unknown> {
@@ -36,6 +35,11 @@ interface ParagraphNode extends BaseNode {
36
35
  children: ParsedNode[];
37
36
  maybeCheckbox?: boolean;
38
37
  }
38
+ interface InlineNode extends BaseNode {
39
+ type: 'inline';
40
+ children: ParsedNode[];
41
+ content?: string;
42
+ }
39
43
  interface ListNode extends BaseNode {
40
44
  type: 'list';
41
45
  ordered: boolean;
@@ -60,8 +64,14 @@ interface CodeBlockNode extends BaseNode {
60
64
  }
61
65
  interface HtmlBlockNode extends BaseNode {
62
66
  type: 'html_block';
67
+ tag: string;
63
68
  content: string;
64
69
  }
70
+ interface HtmlInlineNode extends BaseNode {
71
+ type: 'html_inline';
72
+ content: string;
73
+ children: ParsedNode[];
74
+ }
65
75
  interface InlineCodeNode extends BaseNode {
66
76
  type: 'inline_code';
67
77
  code: string;
@@ -260,7 +270,7 @@ type PostTransformNodesHook = (nodes: ParsedNode[]) => ParsedNode[];
260
270
  declare function parseInlineTokens(tokens: MarkdownToken[], raw?: string, pPreToken?: MarkdownToken): ParsedNode[];
261
271
  //#endregion
262
272
  //#region src/parser/index.d.ts
263
- declare function parseMarkdownToStructure(markdown: string, md: MarkdownIt, options?: ParseOptions): ParsedNode[];
273
+ declare function parseMarkdownToStructure(markdown: string, md: MarkdownIt$1, options?: ParseOptions): ParsedNode[];
264
274
  declare function processTokens(tokens: MarkdownToken[]): ParsedNode[];
265
275
  //#endregion
266
276
  //#region src/config.d.ts
@@ -288,7 +298,7 @@ declare function findMatchingClose(src: string, startIdx: number, open: string,
288
298
  declare function parseFenceToken(token: MarkdownToken): CodeBlockNode;
289
299
  //#endregion
290
300
  //#region src/plugins/containers.d.ts
291
- declare function applyContainers(md: MarkdownIt): void;
301
+ declare function applyContainers(md: MarkdownIt$1): void;
292
302
  //#endregion
293
303
  //#region src/plugins/isMathLike.d.ts
294
304
  declare const TEX_BRACE_COMMANDS: string[];
@@ -298,19 +308,19 @@ declare function isMathLike(s: string): boolean;
298
308
  //#region src/plugins/math.d.ts
299
309
  declare const KATEX_COMMANDS: string[];
300
310
  declare function normalizeStandaloneBackslashT(s: string, opts?: MathOptions): string;
301
- declare function applyMath(md: MarkdownIt, mathOpts?: MathOptions): void;
311
+ declare function applyMath(md: MarkdownIt$1, mathOpts?: MathOptions): void;
302
312
  //#endregion
303
313
  //#region src/index.d.ts
304
314
  interface GetMarkdownOptions extends FactoryOptions {
305
315
  plugin?: Array<unknown>;
306
- apply?: Array<(md: MarkdownIt) => void>;
316
+ apply?: Array<(md: MarkdownIt$1) => void>;
307
317
  /**
308
318
  * Custom translation function or translation map for UI texts
309
319
  * @default { 'common.copy': 'Copy' }
310
320
  */
311
321
  i18n?: ((key: string) => string) | Record<string, string>;
312
322
  }
313
- declare function getMarkdown(msgId?: string, options?: GetMarkdownOptions): markdown_it_ts0.MarkdownIt;
323
+ declare function getMarkdown(msgId?: string, options?: GetMarkdownOptions): MarkdownIt$1;
314
324
  //#endregion
315
- export { AdmonitionNode, BaseNode, BlockquoteNode, CheckboxInputNode, CheckboxNode, CodeBlockNode, CustomComponents, DefinitionItemNode, DefinitionListNode, ESCAPED_TEX_BRACE_COMMANDS, EmojiNode, EmphasisNode, FootnoteNode, FootnoteReferenceNode, GetMarkdownOptions, HardBreakNode, HeadingNode, HighlightNode, HtmlBlockNode, ImageNode, InlineCodeNode, InsertNode, KATEX_COMMANDS, LinkNode, ListItemNode, ListNode, MarkdownRender, MarkdownToken, MarkdownTokenLite, MathBlockNode, MathInlineNode, type MathOptions, MermaidBlockNode, ParagraphNode, ParseOptions, ParsedNode, PostTransformNodesHook, ReferenceNode, StrikethroughNode, StrongNode, SubscriptNode, SuperscriptNode, TEX_BRACE_COMMANDS, TableCellNode, TableNode, TableRowNode, TextNode, ThematicBreakNode, TransformTokensHook, applyContainers, applyMath, findMatchingClose, getMarkdown, isMathLike, normalizeStandaloneBackslashT, parseFenceToken, parseInlineTokens, parseMarkdownToStructure, processTokens, setDefaultMathOptions };
325
+ export { AdmonitionNode, BaseNode, BlockquoteNode, CheckboxInputNode, CheckboxNode, CodeBlockNode, CustomComponents, DefinitionItemNode, DefinitionListNode, ESCAPED_TEX_BRACE_COMMANDS, EmojiNode, EmphasisNode, FootnoteNode, FootnoteReferenceNode, GetMarkdownOptions, HardBreakNode, HeadingNode, HighlightNode, HtmlBlockNode, HtmlInlineNode, ImageNode, InlineCodeNode, InlineNode, InsertNode, KATEX_COMMANDS, LinkNode, ListItemNode, ListNode, MarkdownRender, MarkdownToken, MarkdownTokenLite, MathBlockNode, MathInlineNode, type MathOptions, MermaidBlockNode, ParagraphNode, ParseOptions, ParsedNode, PostTransformNodesHook, ReferenceNode, StrikethroughNode, StrongNode, SubscriptNode, SuperscriptNode, TEX_BRACE_COMMANDS, TableCellNode, TableNode, TableRowNode, TextNode, ThematicBreakNode, TransformTokensHook, applyContainers, applyMath, findMatchingClose, getMarkdown, isMathLike, normalizeStandaloneBackslashT, parseFenceToken, parseInlineTokens, parseMarkdownToStructure, processTokens, setDefaultMathOptions };
316
326
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","names":[],"sources":["../src/factory.ts","../src/types.ts","../src/parser/inline-parsers/index.ts","../src/parser/index.ts","../src/config.ts","../src/findMatchingClose.ts","../src/parser/inline-parsers/fence-parser.ts","../src/plugins/containers.ts","../src/plugins/isMathLike.ts","../src/plugins/math.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","names":[],"sources":["../src/factory.ts","../src/types.ts","../src/parser/inline-parsers/index.ts","../src/parser/index.ts","../src/config.ts","../src/findMatchingClose.ts","../src/parser/inline-parsers/fence-parser.ts","../src/plugins/containers.ts","../src/plugins/isMathLike.ts","../src/plugins/math.ts","../src/index.ts"],"sourcesContent":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -75,6 +75,61 @@ function applyContainers(md) {
75
75
  });
76
76
  }
77
77
 
78
+ //#endregion
79
+ //#region src/plugins/fixHtmlInline.ts
80
+ function applyFixHtmlInlineTokens(md) {
81
+ md.core.ruler.push("fix_html_inline_tokens", (state) => {
82
+ const toks = state.tokens ?? [];
83
+ const VOID_TAGS = new Set([
84
+ "area",
85
+ "base",
86
+ "br",
87
+ "col",
88
+ "embed",
89
+ "hr",
90
+ "img",
91
+ "input",
92
+ "link",
93
+ "meta",
94
+ "param",
95
+ "source",
96
+ "track",
97
+ "wbr"
98
+ ]);
99
+ for (let i = 0; i < toks.length; i++) {
100
+ const t = toks[i];
101
+ if (!t || t.type !== "inline") continue;
102
+ if (/\s*<$/.test(t.content)) {
103
+ t.children.length = 0;
104
+ continue;
105
+ }
106
+ if (t.children.length === 2 && t.children[0].type === "html_inline") {
107
+ t.children = [{
108
+ type: "html_block",
109
+ content: t.children[0].content + t.children[1].content,
110
+ tag: t.children[0].content.match(/<([^\s>/]+)/)?.[1] ?? "",
111
+ loading: true
112
+ }];
113
+ continue;
114
+ }
115
+ if (!t.content?.startsWith("<") || t.children?.length !== 1) continue;
116
+ const raw = String(t.content);
117
+ const tagName = raw.match(/<([^\s>/]+)/)?.[1]?.toLowerCase() ?? "";
118
+ if (!tagName) continue;
119
+ const isVoid = /\/\s*>\s*$/.test(raw) || VOID_TAGS.has(tagName);
120
+ const htmlToken = t;
121
+ if (isVoid) {
122
+ htmlToken.children = [{
123
+ type: "html_inline",
124
+ content: raw
125
+ }];
126
+ continue;
127
+ }
128
+ htmlToken.children.length = 0;
129
+ }
130
+ });
131
+ }
132
+
78
133
  //#endregion
79
134
  //#region src/plugins/fixLinkInline.ts
80
135
  function applyFixLinkInline(md) {
@@ -972,6 +1027,7 @@ function factory(opts = {}) {
972
1027
  html: true,
973
1028
  linkify: true,
974
1029
  typographer: true,
1030
+ stream: true,
975
1031
  ...opts.markdownItOptions ?? {}
976
1032
  });
977
1033
  if (opts.enableMath ?? true) applyMath(md, {
@@ -985,6 +1041,7 @@ function factory(opts = {}) {
985
1041
  applyFixListItem(md);
986
1042
  applyFixTableTokens(md);
987
1043
  applyRenderRules(md);
1044
+ applyFixHtmlInlineTokens(md);
988
1045
  return md;
989
1046
  }
990
1047
 
@@ -2524,12 +2581,49 @@ function parseHardBreak() {
2524
2581
  //#endregion
2525
2582
  //#region src/parser/node-parsers/html-block-parser.ts
2526
2583
  function parseHtmlBlock(token) {
2527
- return {
2584
+ const raw = String(token.content ?? "");
2585
+ if (/^\s*<!--/.test(raw) || /^\s*<!/.test(raw) || /^\s*<\?/.test(raw)) return {
2528
2586
  type: "html_block",
2529
- content: String(token.content ?? ""),
2530
- raw: String(token.content ?? ""),
2587
+ content: raw,
2588
+ raw,
2589
+ tag: "",
2590
+ loading: false
2591
+ };
2592
+ const tag = (raw.match(/^\s*<([A-Z][\w:-]*)/i)?.[1] || "").toLowerCase();
2593
+ if (!tag) return {
2594
+ type: "html_block",
2595
+ content: raw,
2596
+ raw,
2597
+ tag: "",
2531
2598
  loading: false
2532
2599
  };
2600
+ const VOID_TAGS = new Set([
2601
+ "area",
2602
+ "base",
2603
+ "br",
2604
+ "col",
2605
+ "embed",
2606
+ "hr",
2607
+ "img",
2608
+ "input",
2609
+ "link",
2610
+ "meta",
2611
+ "param",
2612
+ "source",
2613
+ "track",
2614
+ "wbr"
2615
+ ]);
2616
+ const selfClosing = /^\s*<[^>]*\/\s*>/.test(raw);
2617
+ const isVoid = VOID_TAGS.has(tag);
2618
+ const hasClosing = new RegExp(`<\\/\\s*${tag}\\b`, "i").test(raw);
2619
+ const loading = !(isVoid || selfClosing || hasClosing);
2620
+ return {
2621
+ type: "html_block",
2622
+ content: loading ? `${raw.replace(/<[^>]*$/, "")}\n</${tag}>` : raw,
2623
+ raw,
2624
+ tag,
2625
+ loading
2626
+ };
2533
2627
  }
2534
2628
 
2535
2629
  //#endregion