stream-markdown-parser 0.0.58 → 0.0.59-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -254,6 +254,8 @@ interface ParseOptions {
254
254
  preTransformTokens?: (tokens: Token[]) => Token[]
255
255
  postTransformTokens?: (tokens: Token[]) => Token[]
256
256
  postTransformNodes?: (nodes: ParsedNode[]) => ParsedNode[]
257
+ // Custom HTML-like tags to emit as custom nodes (e.g. ['thinking'])
258
+ customHtmlTags?: string[]
257
259
  }
258
260
  ```
259
261
 
@@ -273,6 +275,10 @@ const parseOptions = {
273
275
 
274
276
  Use the metadata in your renderer to show custom UI without mangling the original Markdown.
275
277
 
278
+ ### Unknown HTML-like tags
279
+
280
+ By default, non-standard HTML-like tags (for example `<question>`) are rendered as **literal text** unless you opt in via `customHtmlTags`.
281
+
276
282
  ### Utility Functions
277
283
 
278
284
  #### `isMathLike(content)`
package/README.zh-CN.md CHANGED
@@ -253,10 +253,12 @@ interface ParseOptions {
253
253
  preTransformTokens?: (tokens: Token[]) => Token[]
254
254
  postTransformTokens?: (tokens: Token[]) => Token[]
255
255
  postTransformNodes?: (nodes: ParsedNode[]) => ParsedNode[]
256
+ // 自定义 HTML 类标签,作为自定义节点输出(如 ['thinking'])
257
+ customHtmlTags?: string[]
256
258
  }
257
259
  ```
258
260
 
259
- 示例 —— 标记 AI “思考” 块:
261
+ 示例 —— 标记 AI "思考" 块:
260
262
 
261
263
  ```ts
262
264
  const parseOptions = {
@@ -272,6 +274,10 @@ const parseOptions = {
272
274
 
273
275
  在渲染器中读取 `node.meta` 即可渲染自定义 UI,而无需直接修改 Markdown 文本。
274
276
 
277
+ ### 未知 HTML 类标签
278
+
279
+ 默认情况下,非标准的 HTML 类标签(例如 `<question>`)会被当作**纯文本**输出;只有在 `customHtmlTags` 中显式声明后,才会作为自定义节点参与解析与渲染。
280
+
275
281
  ### 工具函数
276
282
 
277
283
  #### `isMathLike(content)`
@@ -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
@@ -9346,6 +9346,16 @@ function parseHtmlInlineCodeToken(token, tokens, i, parseInlineTokens$1, raw, pP
9346
9346
  code: code$1,
9347
9347
  raw: code$1
9348
9348
  }, i + 1];
9349
+ if (!buildAllowedHtmlTagSet({ customHtmlTags: options?.customHtmlTags }).has(tag)) {
9350
+ if (!collectHtmlFragment(tokens, i, tag).closed) {
9351
+ const content$1 = tokenToRaw(token);
9352
+ return [{
9353
+ type: "text",
9354
+ content: content$1,
9355
+ raw: content$1
9356
+ }, i + 1];
9357
+ }
9358
+ }
9349
9359
  if (tag === "br") return [{
9350
9360
  type: "hardbreak",
9351
9361
  raw: code$1
@@ -11143,6 +11153,18 @@ function parseBasicBlockToken(tokens, index, options) {
11143
11153
  case "math_block": return [parseMathBlock(token), index + 1];
11144
11154
  case "html_block": {
11145
11155
  const htmlBlockNode = parseHtmlBlock(token);
11156
+ if (htmlBlockNode.tag && !buildAllowedHtmlTagSet(options).has(htmlBlockNode.tag) && htmlBlockNode.loading) {
11157
+ const content = String(token?.content ?? "").replace(/\n+$/, "");
11158
+ return [{
11159
+ type: "paragraph",
11160
+ children: content ? [{
11161
+ type: "text",
11162
+ content,
11163
+ raw: content
11164
+ }] : [],
11165
+ raw: content
11166
+ }, index + 1];
11167
+ }
11146
11168
  if (options?.customHtmlTags && htmlBlockNode.tag) {
11147
11169
  if (new Set(options.customHtmlTags.map((t) => {
11148
11170
  const m = String(t ?? "").trim().match(/^[<\s/]*([A-Z][\w-]*)/i);
@@ -11252,6 +11274,99 @@ function parseParagraph(tokens, index, options) {
11252
11274
 
11253
11275
  //#endregion
11254
11276
  //#region src/parser/index.ts
11277
+ const STANDARD_HTML_TAGS = new Set([
11278
+ "area",
11279
+ "base",
11280
+ "br",
11281
+ "col",
11282
+ "embed",
11283
+ "hr",
11284
+ "img",
11285
+ "input",
11286
+ "link",
11287
+ "meta",
11288
+ "param",
11289
+ "source",
11290
+ "track",
11291
+ "wbr",
11292
+ "a",
11293
+ "abbr",
11294
+ "b",
11295
+ "bdi",
11296
+ "bdo",
11297
+ "button",
11298
+ "cite",
11299
+ "code",
11300
+ "data",
11301
+ "del",
11302
+ "dfn",
11303
+ "em",
11304
+ "font",
11305
+ "i",
11306
+ "ins",
11307
+ "kbd",
11308
+ "label",
11309
+ "mark",
11310
+ "q",
11311
+ "s",
11312
+ "samp",
11313
+ "small",
11314
+ "span",
11315
+ "strong",
11316
+ "sub",
11317
+ "sup",
11318
+ "time",
11319
+ "u",
11320
+ "var",
11321
+ "article",
11322
+ "aside",
11323
+ "blockquote",
11324
+ "div",
11325
+ "details",
11326
+ "figcaption",
11327
+ "figure",
11328
+ "footer",
11329
+ "header",
11330
+ "h1",
11331
+ "h2",
11332
+ "h3",
11333
+ "h4",
11334
+ "h5",
11335
+ "h6",
11336
+ "li",
11337
+ "main",
11338
+ "nav",
11339
+ "ol",
11340
+ "p",
11341
+ "pre",
11342
+ "section",
11343
+ "summary",
11344
+ "table",
11345
+ "tbody",
11346
+ "td",
11347
+ "th",
11348
+ "thead",
11349
+ "tr",
11350
+ "ul",
11351
+ "svg",
11352
+ "g",
11353
+ "path"
11354
+ ]);
11355
+ function normalizeTagName(t) {
11356
+ const raw = String(t ?? "").trim();
11357
+ if (!raw) return "";
11358
+ const m = raw.match(/^[<\s/]*([A-Z][\w-]*)/i);
11359
+ return m ? m[1].toLowerCase() : "";
11360
+ }
11361
+ function buildAllowedHtmlTagSet(options) {
11362
+ const set = new Set(STANDARD_HTML_TAGS);
11363
+ const custom = options?.customHtmlTags;
11364
+ if (Array.isArray(custom)) for (const t of custom) {
11365
+ const name = normalizeTagName(t);
11366
+ if (name) set.add(name);
11367
+ }
11368
+ return set;
11369
+ }
11255
11370
  function stripDanglingHtmlLikeTail(markdown) {
11256
11371
  const isWs = (ch) => ch === " " || ch === " " || ch === "\n" || ch === "\r";
11257
11372
  const isLikelyHtmlTagPrefix = (tail$1) => {