stream-markdown-parser 0.0.33 → 0.0.34

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.
@@ -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":";;;UAYiB,cAAA,SAAuB;sBAClB;;EADL,gBAAA,CAAe,EAAA,OAAA;;;;ECVf,CAAA;AAQjB;;;UARiB,QAAA;;EDUA,GAAA,EAAA,MAAA;;;;ACVjB;AAQiB,UAAA,QAAA,SAAiB,QAAQ,CAAA;EAMzB,IAAA,EAAA,MAAA;EAOA,OAAA,EAAA,MAAA;EAMA,MAAA,CAAA,EAAA,OAAW;AAM5B;AAQiB,UA3BA,WAAA,SAAoB,QA2BC,CAAA;EAKrB,IAAA,EAAA,SAAA;EAiBA,KAAA,EAAA,MAAA;EAOA,IAAA,EAAA,MAAA;EAMA,QAAA,EA1DL,UA0DoB,EAAA;AAKhC;AAQiB,UApEA,aAAA,SAAsB,QAoEI,CAAA;EAO1B,IAAA,EAAA,WAAA;EAIA,QAAA,EA7EL,UA6EqB,EAAA;EASrB,aAAA,CAAA,EAAA,OAAc;AAS1B;AAKiB,UAhGA,UAAA,SAAmB,QAgGT,CAAA;EAEjB,IAAA,EAAA,QAAA;EACF,QAAA,EAjGI,UAiGJ,EAAA;EAH2B,OAAA,CAAA,EAAA,MAAA;;AAMlB,UAhGA,QAAA,SAAiB,QAkGzB,CAAA;EAGQ,IAAA,EAAA,MAAA;EAOA,OAAA,EAAA,OAAA;EAKA,KAAA,CAAA,EAAA,MAAA;EAET,KAAA,EA9GC,YA8GD,EAAA;;AAFoC,UAzG3B,YAAA,SAAqB,QAyGM,CAAA;EAAQ,IAAA,EAAA,WAAA;EAMnC,QAAA,EA7GL,UA6GkB,EAAA;AAM9B;AAKiB,UArHA,aAAA,SAAsB,QAqHa,CAAA;EAKnC,IAAA,EAAA,YAAe;EAOf,QAAA,EAAA,MAAW;EAKX,IAAA,EAAA,MAAA;EAKA,SAAA,CAAA,EAAA,MAAA;EAKA,OAAA,CAAA,EAAA,MAAc;EAKd,OAAA,CAAA,EAAA,OAAW;EAKX,IAAA,CAAA,EAAA,OAAA;EAKA,YAAA,CAAA,EAAA,MAAgB;EAKhB,WAAA,CAAA,EAAA,MAAa;EAKb,GAAA,EAAA,MAAA;AAKjB;AAMiB,UAnKA,aAAA,SAAsB,QAmKQ,CAAA;EAI9B,IAAA,EAAA,YAAe;EAKf,KAAA,CAAA,EAAA,CAAA,MAAA,EAAc,MAAA,CAAA,EAAA,GAAQ,IAAA;EAKtB,GAAA,EAAA,MAAA;EAMA,OAAA,EAAA,MAAA;AAkBjB;AAEY,UApMK,cAAA,SAAuB,QAoMlB,CAAA;EAChB,IAAA,EAAA,aAAA;EACA,OAAA,EAAA,MAAA;EACA,QAAA,EApMM,UAoMN,EAAA;;AAEA,UAnMW,cAAA,SAAuB,QAmMlC,CAAA;EACA,IAAA,EAAA,aAAA;EACA,IAAA,EAAA,MAAA;;AAEA,UAlMW,QAAA,SAAiB,QAkM5B,CAAA;EACA,IAAA,EAAA,MAAA;EACA,IAAA,EAAA,MAAA;EACA,KAAA,EAAA,MAAA,GAAA,IAAA;EACA,IAAA,EAAA,MAAA;EACA,QAAA,EAlMM,UAkMN,EAAA;;AAEA,UAjMW,SAAA,SAAkB,QAiM7B,CAAA;EACA,IAAA,EAAA,OAAA;EACA,GAAA,EAAA,MAAA;EACA,GAAA,EAAA,MAAA;EACA,KAAA,EAAA,MAAA,GAAA,IAAA;;AAEA,UAhMW,iBAAA,SAA0B,QAgMrC,CAAA;EACA,IAAA,EAAA,gBAAA;;AAEA,UA/LW,gBAAA,CA+LX;EACA,IAAA,EAAA;IACA,IAAA,EAAA,YAAA;IACA,QAAA,EAAA,MAAA;IACA,IAAA,EAAA,MAAA;IACA,OAAA,CAAA,EAAA,OAAA;EACA,CAAA;;AAEA,KA9LM,cAAA,GA8LN;EACA,OAAA,EAAA,MAAA;EACA,KAAA,CAAA,EAAA,SAAA;CAAM,GAAA;EACK,OAAA,CAAA,EAAA,SAAgB;EAkCrB,KAAA,EA5ND,QA4NC,EAAA;AAEZ,CAAA;AAOY,UAnOK,cAAA,SAAuB,QAmOK,CAAA;;YAjOjC;;ACjFI,UDoFC,SAAA,SAAkB,QCpFF,CAAA;EACvB,IAAA,EAAA,OAAA;EAEI,MAAA,EDmFJ,YCnFI;EAEX,IAAA,EDkFK,YClFL,EAAA;;UDqFc,YAAA,SAAqB;;SAE7B;AE3HT;AAEM,UF4HW,aAAA,SAAsB,QE5HjC,CAAA;EACK,IAAA,EAAA,YAAA;EACR,MAAA,EAAA,OAAA;EAAU,QAAA,EF6HD,UE7HC,EAAA;EAuDG,KAAA,CAAA,EAAA,MAAA,GAAa,OAAA,GAAA,QAAA;;AAAoC,UF0EhD,kBAAA,SAA2B,QE1EqB,CAAA;EAAe,IAAA,EAAA,iBAAA;EAAU,KAAA,EF4EjF,kBE5EiF,EAAA;;UF+EzE,kBAAA,SAA2B;;EG3I3B,IAAA,EH6IT,UG7IoB,EAAA;EAqBZ,UAAA,EHyHF,UGzHE,EAAqB;;UH4HpB,YAAA,SAAqB;;EI1JtB,EAAA,EAAA,MAAA;YJ6JJ;;UAGK,qBAAA,SAA8B;EK5H/B,IAAA,EAAA,oBAAe;;;ULiId,kBAAA,SAA2B;EMlK5B,IAAA,EAAA,iBAAe;;;UNuKd,cAAA,SAAuB;EO1K3B,IAAA,EAAA,YAAA;EAoBA,IAAA,EAAA,MAAA;EA6BG,KAAA,EAAA,MAAU;YP6Hd;;UAGK,UAAA,SAAmB;EQhKvB,IAAA,EAAA,QAAA;EA4JG,QAAA,ERMJ,UQNI,EAAA;AAsDhB;UR7CiB,YAAA,SAAqB;;YAE1B;ASnKZ;AAIgB,UTkKC,iBAAA,SAA0B,QSlKG,CAAA;EAwB7B,IAAA,EAAA,eAAmB;EACzB,QAAA,ET2IC,US3ID,EAAA;;AACD,UT6IO,aAAA,SAAsB,QS7I7B,CAAA;EAK2B,IAAA,EAAA,WAAA;EAPO,QAAA,ETiJhC,USjJgC,EAAA;;AAU5B,UT0IC,UAAA,SAAmB,QS1IyC,CAAA;;YT4IjE;;UAGK,aAAA,SAAsB;;YAE3B;;UAGK,eAAA,SAAwB;;YAE7B;;UAGK,YAAA,SAAqB;;;;UAKrB,iBAAA,SAA0B;;;;UAK1B,SAAA,SAAkB;;;;;UAMlB,aAAA,SAAsB;;;UAItB,cAAA,SAAuB;;;;UAKvB,aAAA,SAAsB;;;;UAKtB,aAAA,SAAsB;;;;UAMtB,iBAAA;;;;;;;;;;;;;aAaJ;;;;KAKD,aAAA,IAAiB;;;KAA+C;KAEhE,UAAA,GACN,WACA,cACA,gBACA,WACA,eACA,gBACA,iBACA,WACA,YACA,oBACA,iBACA,YACA,eACA,gBACA,aACA,eACA,oBACA,gBACA,aACA,gBACA,kBACA,eACA,oBACA,YACA,qBACA,qBACA,eACA,wBACA,iBACA,gBACA,iBACA,gBACA,gBACA,gBACA;UACW,gBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkCL,mBAAA,YAA+B,oBAAoB;UAE9C,YAAA;uBACM;wBACC;;;KAKZ,sBAAA,WAAiC,iBAAiB;;;iBClT9C,iBAAA,SACN,2CAEI;EFhCG,oBAAe,CAAA,EAAA,OACV;IEiCnB;;;AFlCc,iBGFD,wBAAA,CHE8B,QAAA,EAAA,MAAA,EAAA,EAAA,EGAxC,YHAwC,EAAA,OAAA,CAAA,EGCnC,YHDmC,CAAA,EGE3C,UHF2C,EAAA;iBGyD9B,aAAA,SAAsB,2BAA2B,eAAe;;;;;;AHzDhF;;;;ACVA;AAQA;AAMiB,UGPA,WAAA,CHWL;EAGK;EAMA,QAAA,CAAA,EAAA,SAAW,MAEhB,EAAA;EAIK;EAQA,iBAAa,CAAA,EAAA,OAElB;EAGK;AAiBjB;AAOA;AAMA;AAKA;AAQA;AAOA;AAIA;AASA;AASA;AAKA;EAEU,gBAAA,CAAA,EAAA,OAAA;;AAFyB,iBG/FnB,qBAAA,CH+FmB,IAAA,EG/FS,WH+FT,GAAA,SAAA,CAAA,EAAA,IAAA;;;iBI7HnB,iBAAA;;;iBCoCA,eAAA,QAAuB,gBAAgB;;;iBCjCvC,eAAA,KAAoB;;;cCHvB;cAoBA;iBA6BG,UAAA;;;cChCH;iBA4JG,6BAAA,mBAAgD;iBAsDhD,SAAA,KAAc,yBAAuB;;;ATvNpC,iBUSD,sBAAA,CVTwB,MAAM,EAAA,OAAA,CAAA,EAAA,IAAA;iBUa9B,8BAAA,CAAA;ATwCC,UShBA,kBAAA,SAA2B,cTgBG,CAAA;EAO9B,MAAA,CAAA,EStBN,KTsBM,CAAA,OAAe,CAAA;EAMf,KAAA,CAAA,ES3BP,KT2BO,CAAA,CAAA,EAAe,ES3BX,UT2BmB,EAAA,GAAA,IAAQ,CAAA;EAK/B;AAQjB;AAOA;AAIA;EASY,IAAA,CAAA,EAAA,CAAA,CAAA,GAAA,EAAA,MAAc,EAAA,GAAA,MAOf,CAAA,GS9D0B,MT8DlB,CAAA,MAAA,EAAA,MAAA,CAAA;AAEnB;AAKiB,iBSlED,WAAA,CTkEW,KAAA,CAAA,EAAA,MAAA,EAAA,OAAA,CAAA,ESlEkD,kBTkElD,CAAA,ESlEyE,UTkEzE"}
package/dist/index.js CHANGED
@@ -7787,7 +7787,14 @@ const WORDS_RE = /\b(?:sin|cos|tan|log|ln|exp|sqrt|frac|sum|lim|int|prod)\b/;
7787
7787
  const DATE_TIME_RE = /\b\d{4}\/\d{1,2}\/\d{1,2}(?:[ T]\d{1,2}:\d{2}(?::\d{2})?)?\b/;
7788
7788
  function isMathLike(s) {
7789
7789
  if (!s) return false;
7790
- const norm = s.replace(/\u0008/g, "\\b");
7790
+ const norm = s.replace(/[\u0008\v\f]/g, (ch) => {
7791
+ switch (ch) {
7792
+ case "\b": return "\\b";
7793
+ case "\v": return "\\v";
7794
+ case "\f": return "\\f";
7795
+ default: return ch;
7796
+ }
7797
+ });
7791
7798
  const stripped = norm.trim();
7792
7799
  if (DATE_TIME_RE.test(stripped)) return false;
7793
7800
  if (stripped.includes("**")) return false;
@@ -9561,31 +9568,6 @@ function normalizeSingleLinkResult(raw, nodes) {
9561
9568
  return nodes;
9562
9569
  }
9563
9570
 
9564
- //#endregion
9565
- //#region src/parser/node-parsers/blockquote-parser.ts
9566
- function parseBlockquote(tokens, index, options) {
9567
- const blockquoteChildren = [];
9568
- let j = index + 1;
9569
- while (j < tokens.length && tokens[j].type !== "blockquote_close") if (tokens[j].type === "paragraph_open") {
9570
- const contentToken = tokens[j + 1];
9571
- blockquoteChildren.push({
9572
- type: "paragraph",
9573
- children: parseInlineTokens(contentToken.children || [], String(contentToken.content ?? ""), void 0, { requireClosingStrong: options?.requireClosingStrong }),
9574
- raw: String(contentToken.content ?? "")
9575
- });
9576
- j += 3;
9577
- } else if (tokens[j].type === "bullet_list_open" || tokens[j].type === "ordered_list_open") {
9578
- const [listNode, newIndex] = parseList(tokens, j);
9579
- blockquoteChildren.push(listNode);
9580
- j = newIndex;
9581
- } else j++;
9582
- return [{
9583
- type: "blockquote",
9584
- children: blockquoteChildren,
9585
- raw: blockquoteChildren.map((child) => child.raw).join("\n")
9586
- }, j + 1];
9587
- }
9588
-
9589
9571
  //#endregion
9590
9572
  //#region src/parser/node-parsers/code-block-parser.ts
9591
9573
  function parseCodeBlock(token) {
@@ -9687,6 +9669,60 @@ function parseHeading(tokens, index, options) {
9687
9669
  };
9688
9670
  }
9689
9671
 
9672
+ //#endregion
9673
+ //#region src/parser/node-parsers/html-block-parser.ts
9674
+ const VOID_TAGS = new Set([
9675
+ "area",
9676
+ "base",
9677
+ "br",
9678
+ "col",
9679
+ "embed",
9680
+ "hr",
9681
+ "img",
9682
+ "input",
9683
+ "link",
9684
+ "meta",
9685
+ "param",
9686
+ "source",
9687
+ "track",
9688
+ "wbr"
9689
+ ]);
9690
+ const CLOSE_TAG_RE_CACHE = /* @__PURE__ */ new Map();
9691
+ function parseHtmlBlock(token) {
9692
+ const raw = String(token.content ?? "");
9693
+ if (/^\s*<!--/.test(raw) || /^\s*<!/.test(raw) || /^\s*<\?/.test(raw)) return {
9694
+ type: "html_block",
9695
+ content: raw,
9696
+ raw,
9697
+ tag: "",
9698
+ loading: false
9699
+ };
9700
+ const tag = (raw.match(/^\s*<([A-Z][\w:-]*)/i)?.[1] || "").toLowerCase();
9701
+ if (!tag) return {
9702
+ type: "html_block",
9703
+ content: raw,
9704
+ raw,
9705
+ tag: "",
9706
+ loading: false
9707
+ };
9708
+ const selfClosing = /^\s*<[^>]*\/\s*>/.test(raw);
9709
+ const isVoid = VOID_TAGS.has(tag);
9710
+ let closeRe = CLOSE_TAG_RE_CACHE.get(tag);
9711
+ if (!closeRe) {
9712
+ closeRe = new RegExp(`<\\/\\s*${tag}\\b`, "i");
9713
+ CLOSE_TAG_RE_CACHE.set(tag, closeRe);
9714
+ }
9715
+ const hasClosing = closeRe.test(raw);
9716
+ const loading = !(isVoid || selfClosing || hasClosing);
9717
+ return {
9718
+ type: "html_block",
9719
+ content: loading ? `${raw.replace(/<[^>]*$/, "")}\n</${tag}>` : raw,
9720
+ raw,
9721
+ tag,
9722
+ loading
9723
+ };
9724
+ }
9725
+
9690
9726
  //#endregion
9691
9727
  //#region src/parser/node-parsers/math-block-parser.ts
9692
9728
  function parseMathBlock(token) {
@@ -9775,6 +9811,57 @@ function parseThematicBreak() {
9775
9811
  };
9776
9812
  }
9777
9813
 
9814
+ //#endregion
9815
+ //#region src/parser/node-parsers/block-token-parser.ts
9816
+ function parseBasicBlockToken(tokens, index, options) {
9817
+ const token = tokens[index];
9818
+ switch (token.type) {
9819
+ case "heading_open": return [parseHeading(tokens, index, options), index + 3];
9820
+ case "code_block": return [parseCodeBlock(token), index + 1];
9821
+ case "fence": return [parseFenceToken(token), index + 1];
9822
+ case "math_block": return [parseMathBlock(token), index + 1];
9823
+ case "html_block": return [parseHtmlBlock(token), index + 1];
9824
+ case "table_open": {
9825
+ const [tableNode, newIndex] = parseTable(tokens, index, options);
9826
+ return [tableNode, newIndex];
9827
+ }
9828
+ case "dl_open": {
9829
+ const [definitionListNode, newIndex] = parseDefinitionList(tokens, index, options);
9830
+ return [definitionListNode, newIndex];
9831
+ }
9832
+ case "footnote_open": {
9833
+ const [footnoteNode, newIndex] = parseFootnote(tokens, index, options);
9834
+ return [footnoteNode, newIndex];
9835
+ }
9836
+ case "hr": return [parseThematicBreak(), index + 1];
9837
+ default: break;
9838
+ }
9839
+ return null;
9840
+ }
9841
+ function parseCommonBlockToken(tokens, index, options, handlers) {
9842
+ const basicResult = parseBasicBlockToken(tokens, index, options);
9843
+ if (basicResult) return basicResult;
9844
+ switch (tokens[index].type) {
9845
+ case "container_warning_open":
9846
+ case "container_info_open":
9847
+ case "container_note_open":
9848
+ case "container_tip_open":
9849
+ case "container_danger_open":
9850
+ case "container_caution_open":
9851
+ case "container_error_open":
9852
+ if (handlers?.parseContainer) return handlers.parseContainer(tokens, index, options);
9853
+ break;
9854
+ case "container_open":
9855
+ if (handlers?.matchAdmonition) {
9856
+ const result = handlers.matchAdmonition(tokens, index, options);
9857
+ if (result) return result;
9858
+ }
9859
+ break;
9860
+ default: break;
9861
+ }
9862
+ return null;
9863
+ }
9864
+
9778
9865
  //#endregion
9779
9866
  //#region src/parser/node-parsers/list-parser.ts
9780
9867
  function parseList(tokens, index, options) {
@@ -9799,49 +9886,20 @@ function parseList(tokens, index, options) {
9799
9886
  });
9800
9887
  k += 3;
9801
9888
  } else if (tokens[k].type === "blockquote_open") {
9802
- const [blockquoteNode, newIndex] = parseBlockquote(tokens, k);
9889
+ const [blockquoteNode, newIndex] = parseBlockquote(tokens, k, options);
9803
9890
  itemChildren.push(blockquoteNode);
9804
9891
  k = newIndex;
9805
9892
  } else if (tokens[k].type === "bullet_list_open" || tokens[k].type === "ordered_list_open") {
9806
- const [nestedListNode, newIndex] = parseNestedList(tokens, k, options);
9893
+ const [nestedListNode, newIndex] = parseList(tokens, k, options);
9807
9894
  itemChildren.push(nestedListNode);
9808
9895
  k = newIndex;
9809
- } else if (tokens[k].type === "code_block") {
9810
- itemChildren.push(parseCodeBlock(tokens[k]));
9811
- k += 1;
9812
- } else if (tokens[k].type === "fence") {
9813
- itemChildren.push(parseFenceToken(tokens[k]));
9814
- k += 1;
9815
- } else if (tokens[k].type === "math_block") {
9816
- itemChildren.push(parseMathBlock(tokens[k]));
9817
- k += 1;
9818
- } else if (tokens[k].type === "table_open") {
9819
- const [tableNode, newIndex] = parseTable(tokens, k);
9820
- itemChildren.push(tableNode);
9821
- k = newIndex;
9822
- } else if (tokens[k].type === "dl_open") {
9823
- const [defListNode, newIndex] = parseDefinitionList(tokens, k);
9824
- itemChildren.push(defListNode);
9825
- k = newIndex;
9826
- } else if (tokens[k].type === "footnote_open") {
9827
- const [footnoteNode, newIndex] = parseFootnote(tokens, k);
9828
- itemChildren.push(footnoteNode);
9829
- k = newIndex;
9830
- } else if (tokens[k].type === "heading_open") {
9831
- const headingNode = parseHeading(tokens, k);
9832
- itemChildren.push(headingNode);
9833
- k += 3;
9834
- } else if (tokens[k].type === "hr") {
9835
- itemChildren.push(parseThematicBreak());
9836
- k += 1;
9837
- } else if (tokens[k].type === "container_open") {
9838
- const match = /^::: ?(warning|info|note|tip|danger|caution) ?(.*)$/.exec(String(tokens[k].info ?? ""));
9839
- if (match) {
9840
- const [admonitionNode, newIndex] = parseAdmonition(tokens, k, match);
9841
- itemChildren.push(admonitionNode);
9842
- k = newIndex;
9896
+ } else {
9897
+ const handled = parseCommonBlockToken(tokens, k, options, containerTokenHandlers);
9898
+ if (handled) {
9899
+ itemChildren.push(handled[0]);
9900
+ k = handled[1];
9843
9901
  } else k += 1;
9844
- } else k += 1;
9902
+ }
9845
9903
  listItems.push({
9846
9904
  type: "list_item",
9847
9905
  children: itemChildren,
@@ -9865,59 +9923,6 @@ function parseList(tokens, index, options) {
9865
9923
  raw: listItems.map((item) => item.raw).join("\n")
9866
9924
  }, j + 1];
9867
9925
  }
9868
- function parseNestedList(tokens, index, options) {
9869
- const nestedToken = tokens[index];
9870
- const nestedItems = [];
9871
- let j = index + 1;
9872
- while (j < tokens.length && tokens[j].type !== "bullet_list_close" && tokens[j].type !== "ordered_list_close") if (tokens[j].type === "list_item_open") {
9873
- const itemChildren = [];
9874
- let k = j + 1;
9875
- while (k < tokens.length && tokens[k].type !== "list_item_close") if (tokens[k].type === "paragraph_open") {
9876
- const contentToken = tokens[k + 1];
9877
- const preToken = tokens[k - 1];
9878
- itemChildren.push({
9879
- type: "paragraph",
9880
- children: parseInlineTokens(contentToken.children || [], String(contentToken.content ?? ""), preToken, { requireClosingStrong: options?.requireClosingStrong }),
9881
- raw: String(contentToken.content ?? "")
9882
- });
9883
- k += 3;
9884
- } else if (tokens[k].type === "bullet_list_open" || tokens[k].type === "ordered_list_open") {
9885
- const [deeperNestedListNode, newIndex] = parseNestedList(tokens, k, options);
9886
- itemChildren.push(deeperNestedListNode);
9887
- k = newIndex;
9888
- } else if (tokens[k].type === "code_block") {
9889
- itemChildren.push(parseCodeBlock(tokens[k]));
9890
- k += 1;
9891
- } else if (tokens[k].type === "fence") {
9892
- itemChildren.push(parseFenceToken(tokens[k]));
9893
- k += 1;
9894
- } else if (tokens[k].type === "math_block") {
9895
- itemChildren.push(parseMathBlock(tokens[k]));
9896
- k += 1;
9897
- } else k += 1;
9898
- nestedItems.push({
9899
- type: "list_item",
9900
- children: itemChildren,
9901
- raw: itemChildren.map((child) => child.raw).join("")
9902
- });
9903
- j = k + 1;
9904
- } else j += 1;
9905
- return [{
9906
- type: "list",
9907
- ordered: nestedToken.type === "ordered_list_open",
9908
- start: (() => {
9909
- if (nestedToken.attrs && nestedToken.attrs.length) {
9910
- const found = nestedToken.attrs.find((a) => a[0] === "start");
9911
- if (found) {
9912
- const parsed = Number(found[1]);
9913
- return Number.isFinite(parsed) && parsed !== 0 ? parsed : 1;
9914
- }
9915
- }
9916
- })(),
9917
- items: nestedItems,
9918
- raw: nestedItems.map((item) => item.raw).join("\n")
9919
- }, j + 1];
9920
- }
9921
9926
 
9922
9927
  //#endregion
9923
9928
  //#region src/parser/node-parsers/admonition-parser.ts
@@ -9938,7 +9943,17 @@ function parseAdmonition(tokens, index, match, options) {
9938
9943
  const [listNode, newIndex] = parseList(tokens, j, options);
9939
9944
  admonitionChildren.push(listNode);
9940
9945
  j = newIndex;
9941
- } else j++;
9946
+ } else if (tokens[j].type === "blockquote_open") {
9947
+ const [blockquoteNode, newIndex] = parseBlockquote(tokens, j, options);
9948
+ admonitionChildren.push(blockquoteNode);
9949
+ j = newIndex;
9950
+ } else {
9951
+ const handled = parseBasicBlockToken(tokens, j, options);
9952
+ if (handled) {
9953
+ admonitionChildren.push(handled[0]);
9954
+ j = handled[1];
9955
+ } else j++;
9956
+ }
9942
9957
  return [{
9943
9958
  type: "admonition",
9944
9959
  kind,
@@ -9998,7 +10013,17 @@ function parseContainer(tokens, index, options) {
9998
10013
  const [listNode, newIndex] = parseList(tokens, j, options);
9999
10014
  children.push(listNode);
10000
10015
  j = newIndex;
10001
- } else j++;
10016
+ } else if (tokens[j].type === "blockquote_open") {
10017
+ const [blockquoteNode, newIndex] = parseBlockquote(tokens, j, options);
10018
+ children.push(blockquoteNode);
10019
+ j = newIndex;
10020
+ } else {
10021
+ const handled = parseBasicBlockToken(tokens, j, options);
10022
+ if (handled) {
10023
+ children.push(handled[0]);
10024
+ j = handled[1];
10025
+ } else j++;
10026
+ }
10002
10027
  return [{
10003
10028
  type: "admonition",
10004
10029
  kind,
@@ -10008,6 +10033,66 @@ function parseContainer(tokens, index, options) {
10008
10033
  }, j + 1];
10009
10034
  }
10010
10035
 
10036
+ //#endregion
10037
+ //#region src/parser/node-parsers/container-token-handlers.ts
10038
+ const CONTAINER_REGEX = /^::: ?(warning|info|note|tip|danger|caution|error) ?(.*)$/;
10039
+ function handleContainerOpen(tokens, index, options) {
10040
+ const token = tokens[index];
10041
+ if (token.type !== "container_open") return null;
10042
+ const match = CONTAINER_REGEX.exec(String(token.info ?? ""));
10043
+ if (!match) return null;
10044
+ return parseAdmonition(tokens, index, match, options);
10045
+ }
10046
+ const containerTokenHandlers = {
10047
+ parseContainer: (tokens, index, options) => parseContainer(tokens, index, options),
10048
+ matchAdmonition: handleContainerOpen
10049
+ };
10050
+
10051
+ //#endregion
10052
+ //#region src/parser/node-parsers/blockquote-parser.ts
10053
+ function parseBlockquote(tokens, index, options) {
10054
+ const blockquoteChildren = [];
10055
+ let j = index + 1;
10056
+ while (j < tokens.length && tokens[j].type !== "blockquote_close") switch (tokens[j].type) {
10057
+ case "paragraph_open": {
10058
+ const contentToken = tokens[j + 1];
10059
+ blockquoteChildren.push({
10060
+ type: "paragraph",
10061
+ children: parseInlineTokens(contentToken.children || [], String(contentToken.content ?? ""), void 0, { requireClosingStrong: options?.requireClosingStrong }),
10062
+ raw: String(contentToken.content ?? "")
10063
+ });
10064
+ j += 3;
10065
+ break;
10066
+ }
10067
+ case "bullet_list_open":
10068
+ case "ordered_list_open": {
10069
+ const [listNode, newIndex] = parseList(tokens, j, options);
10070
+ blockquoteChildren.push(listNode);
10071
+ j = newIndex;
10072
+ break;
10073
+ }
10074
+ case "blockquote_open": {
10075
+ const [nestedBlockquote, newIndex] = parseBlockquote(tokens, j, options);
10076
+ blockquoteChildren.push(nestedBlockquote);
10077
+ j = newIndex;
10078
+ break;
10079
+ }
10080
+ default: {
10081
+ const handled = parseCommonBlockToken(tokens, j, options, containerTokenHandlers);
10082
+ if (handled) {
10083
+ blockquoteChildren.push(handled[0]);
10084
+ j = handled[1];
10085
+ } else j++;
10086
+ break;
10087
+ }
10088
+ }
10089
+ return [{
10090
+ type: "blockquote",
10091
+ children: blockquoteChildren,
10092
+ raw: blockquoteChildren.map((child) => child.raw).join("\n")
10093
+ }, j + 1];
10094
+ }
10095
+
10011
10096
  //#endregion
10012
10097
  //#region src/parser/node-parsers/hardbreak-parser.ts
10013
10098
  function parseHardBreak() {
@@ -10017,60 +10102,6 @@ function parseHardBreak() {
10017
10102
  };
10018
10103
  }
10019
10104
 
10020
- //#endregion
10021
- //#region src/parser/node-parsers/html-block-parser.ts
10022
- const VOID_TAGS = new Set([
10023
- "area",
10024
- "base",
10025
- "br",
10026
- "col",
10027
- "embed",
10028
- "hr",
10029
- "img",
10030
- "input",
10031
- "link",
10032
- "meta",
10033
- "param",
10034
- "source",
10035
- "track",
10036
- "wbr"
10037
- ]);
10038
- const CLOSE_TAG_RE_CACHE = /* @__PURE__ */ new Map();
10039
- function parseHtmlBlock(token) {
10040
- const raw = String(token.content ?? "");
10041
- if (/^\s*<!--/.test(raw) || /^\s*<!/.test(raw) || /^\s*<\?/.test(raw)) return {
10042
- type: "html_block",
10043
- content: raw,
10044
- raw,
10045
- tag: "",
10046
- loading: false
10047
- };
10048
- const tag = (raw.match(/^\s*<([A-Z][\w:-]*)/i)?.[1] || "").toLowerCase();
10049
- if (!tag) return {
10050
- type: "html_block",
10051
- content: raw,
10052
- raw,
10053
- tag: "",
10054
- loading: false
10055
- };
10056
- const selfClosing = /^\s*<[^>]*\/\s*>/.test(raw);
10057
- const isVoid = VOID_TAGS.has(tag);
10058
- let closeRe = CLOSE_TAG_RE_CACHE.get(tag);
10059
- if (!closeRe) {
10060
- closeRe = new RegExp(`<\\/\\s*${tag}\\b`, "i");
10061
- CLOSE_TAG_RE_CACHE.set(tag, closeRe);
10062
- }
10063
- const hasClosing = closeRe.test(raw);
10064
- const loading = !(isVoid || selfClosing || hasClosing);
10065
- return {
10066
- type: "html_block",
10067
- content: loading ? `${raw.replace(/<[^>]*$/, "")}\n</${tag}>` : raw,
10068
- raw,
10069
- tag,
10070
- loading
10071
- };
10072
- }
10073
-
10074
10105
  //#endregion
10075
10106
  //#region src/parser/node-parsers/paragraph-parser.ts
10076
10107
  function parseParagraph(tokens, index, options) {
@@ -10113,40 +10144,18 @@ function processTokens(tokens, options) {
10113
10144
  const result = [];
10114
10145
  let i = 0;
10115
10146
  while (i < tokens.length) {
10147
+ const handled = parseCommonBlockToken(tokens, i, options, containerTokenHandlers);
10148
+ if (handled) {
10149
+ result.push(handled[0]);
10150
+ i = handled[1];
10151
+ continue;
10152
+ }
10116
10153
  const token = tokens[i];
10117
10154
  switch (token.type) {
10118
- case "container_warning_open":
10119
- case "container_info_open":
10120
- case "container_note_open":
10121
- case "container_tip_open":
10122
- case "container_danger_open":
10123
- case "container_caution_open":
10124
- case "container_error_open": {
10125
- const [warningNode, newIndex] = parseContainer(tokens, i, options);
10126
- result.push(warningNode);
10127
- i = newIndex;
10128
- break;
10129
- }
10130
- case "heading_open":
10131
- result.push(parseHeading(tokens, i, options));
10132
- i += 3;
10133
- break;
10134
10155
  case "paragraph_open":
10135
10156
  result.push(parseParagraph(tokens, i, options));
10136
10157
  i += 3;
10137
10158
  break;
10138
- case "html_block":
10139
- result.push(parseHtmlBlock(token));
10140
- i += 1;
10141
- break;
10142
- case "code_block":
10143
- result.push(parseCodeBlock(tokens[i]));
10144
- i += 1;
10145
- break;
10146
- case "fence":
10147
- result.push(parseFenceToken(tokens[i]));
10148
- i += 1;
10149
- break;
10150
10159
  case "bullet_list_open":
10151
10160
  case "ordered_list_open": {
10152
10161
  const [listNode, newIndex] = parseList(tokens, i, options);
@@ -10154,34 +10163,12 @@ function processTokens(tokens, options) {
10154
10163
  i = newIndex;
10155
10164
  break;
10156
10165
  }
10157
- case "hr":
10158
- result.push(parseThematicBreak());
10159
- i += 1;
10160
- break;
10161
10166
  case "blockquote_open": {
10162
10167
  const [blockquoteNode, newIndex] = parseBlockquote(tokens, i, options);
10163
10168
  result.push(blockquoteNode);
10164
10169
  i = newIndex;
10165
10170
  break;
10166
10171
  }
10167
- case "table_open": {
10168
- const [tableNode, newIndex] = parseTable(tokens, i, options);
10169
- result.push(tableNode);
10170
- i = newIndex;
10171
- break;
10172
- }
10173
- case "dl_open": {
10174
- const [definitionListNode, newIndex] = parseDefinitionList(tokens, i, options);
10175
- result.push(definitionListNode);
10176
- i = newIndex;
10177
- break;
10178
- }
10179
- case "footnote_open": {
10180
- const [footnoteNode, newIndex] = parseFootnote(tokens, i, options);
10181
- result.push(footnoteNode);
10182
- i = newIndex;
10183
- break;
10184
- }
10185
10172
  case "footnote_anchor": {
10186
10173
  const meta = token.meta ?? {};
10187
10174
  const id = String(meta.label ?? token.content ?? "");
@@ -10193,23 +10180,10 @@ function processTokens(tokens, options) {
10193
10180
  i++;
10194
10181
  break;
10195
10182
  }
10196
- case "container_open": {
10197
- const match = /^::: ?(warning|info|note|tip|danger|caution|error) ?(.*)$/.exec(String(token.info ?? ""));
10198
- if (match) {
10199
- const [admonitionNode, newIndex] = parseAdmonition(tokens, i, match, options);
10200
- result.push(admonitionNode);
10201
- i = newIndex;
10202
- } else i += 1;
10203
- break;
10204
- }
10205
10183
  case "hardbreak":
10206
10184
  result.push(parseHardBreak());
10207
10185
  i++;
10208
10186
  break;
10209
- case "math_block":
10210
- result.push(parseMathBlock(tokens[i]));
10211
- i += 1;
10212
- break;
10213
10187
  case "inline":
10214
10188
  result.push(...parseInlineTokens(token.children || [], String(token.content ?? ""), void 0, { requireClosingStrong: options?.requireClosingStrong }));
10215
10189
  i += 1;