stream-markdown-parser 0.0.47 → 0.0.48
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.map +1 -1
- package/dist/index.js +273 -252
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts.map
CHANGED
|
@@ -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;EAaL;AAEZ;AAMA;AAOA;EAMiB,cAAW,CAAA,EAAA,SAEhB,MAAA,EAAA;AAIZ;;;UAxCiB,QAAA;;EDUA,GAAA,EAAA,MAAA;;;;ACVjB;AAaA;AAEA;AAMA;AAOA;AAMA;AAMiB,KA3BL,WAAA,GAAc,QAgCjB,GAhC4B,MA2BH,CAAA,MAAQ,EAAA,OAAA,CAAA;AAQzB,UAjCA,QAAA,SAAiB,QAmCtB,CAF0B;EAKrB,IAAA,EAAA,MAAA;EAiBA,OAAA,EAAA,MAAA;EAOA,MAAA,CAAA,EAAA,OAAA;AAYjB;AAYiB,UAhFA,WAAA,SAAoB,QAgFA,CAAA;EAK3B,IAAA,EAAA,SAAA;EACG,KAAA,EAAA,MAAA;EANgC,IAAA,EAAA,MAAA;EAAQ,QAAA,EA5EzC,UA4EyC,EAAA;AAUrD;AAKiB,UAxFA,aAAA,SAAsB,QAwFL,CAAQ;EAQzB,IAAA,EAAA,WAAU;EAOV,QAAA,EArGL,UAqGuB,EAAA;EAIlB,aAAA,CAAA,EAAA,OAAgB;AASjC;AASiB,UAvHA,UAAA,SAAmB,QAyHxB,CAF4B;EAKvB,IAAA,EAAA,QAAU;EAEjB,QAAA,EA5HE,UA4HF,EAAA;EACF,OAAA,CAAA,EAAA,MAAA;;AAHmC,UAtH1B,QAAA,SAAiB,QAsHS,CAAA;EAM1B,IAAA,EAAA,MAAA;EAKA,OAAA,EAAA,OAAc;EAOd,KAAA,CAAA,EAAA,MAAA;EAKA,KAAA,EAxIR,YAwIQ,EAAmB;;AAGtB,UAxIG,YAAA,SAAqB,QAwIxB,CAAA;EAH8B,IAAA,EAAA,WAAA;EAAQ,QAAA,EAnIxC,UAmIwC,EAAA;AAMpD;AAMiB,UA5IA,aAAA,SAAsB,QA4IQ,CAAA;EAK9B,IAAA,EAAA,YAAA;EAKA,QAAA,EAAA,MAAA;EAOA,IAAA,EAAA,MAAA;EAGP,SAAA,CAAA,EAAA,MAAA;EACE,OAAA,CAAA,EAAA,MAAA;EAJ8B,OAAA,CAAA,EAAA,OAAA;EAAQ,IAAA,CAAA,EAAA,OAAA;EAOjC,YAAA,CAAW,EAAA,MAAA;EAKX,WAAA,CAAA,EAAA,MAAa;EAKb,GAAA,EAAA,MAAA;AAKjB;AAKiB,UAvKA,aAAA,SAAsB,QAuKH,CAAA;EAKnB,IAAA,EAAA,YAAc;EAKd,KAAA,CAAA,EAAA,CAAA,MAAA,EAAA,MAAgB,CAAA,EAAA,GAAA,IAErB;EAGK,GAAA,EAAA,MAAA;EAKA,OAAA,EAAA,MAAA;AAKjB;AAMiB,UA/LA,cAAA,SAAuB,QA+LO,CAAA;EAI9B,IAAA,EAAA,aAAe;EAKf,GAAA,CAAA,EAAA,MAAA;EAKA,OAAA,EAAA,MAAA;EAMA,QAAA,EA/ML,UA+MsB,EAAA;EAkBtB;AAEZ;;;EAGM,UAAA,CAAA,EAAA,OAAA;;AAEA,KAhOM,oBAAA,GAgON,CAAA,MAAA,EAAA,MAAA,CAAA,EAAA,GA9NA,MA8NA,CAAA,MAAA,EAAA,MAAA,GAAA,OAAA,CAAA,GA7NA,KA6NA,CAAA;EACA,IAAA,EAAA,MAAA;EACA,KAAA,EAAA,MAAA,GAAA,OAAA;CACA,CAAA,GAAA,IAAA;;;;;;;AAOA,UA9NW,mBAAA,SAA4B,QA8NvC,CAAA;EACA;EACA,IAAA,EAAA,MAAA;EACA,GAAA,EAAA,MAAA;EACA,OAAA,EAAA,MAAA;EACA,KAAA,CAAA,EA9NI,oBA8NJ;EACA,QAAA,CAAA,EA9NO,UA8NP,EAAA;EACA,UAAA,CAAA,EAAA,OAAA;;AAEA,UA7NW,cAAA,SAAuB,QA6NlC,CAAA;EACA,IAAA,EAAA,aAAA;EACA,IAAA,EAAA,MAAA;;AAEA,UA5NW,QAAA,SAAiB,QA4N5B,CAAA;EACA,IAAA,EAAA,MAAA;EACA,IAAA,EAAA,MAAA;EACA,KAAA,EAAA,MAAA,GAAA,IAAA;EACA,IAAA,EAAA,MAAA;EACA,QAAA,EA5NM,UA4NN,EAAA;;AAEA,UA3NW,SAAA,SAAkB,QA2N7B,CAAA;EACA,IAAA,EAAA,OAAA;EACA,GAAA,EAAA,MAAA;EACA,GAAA,EAAA,MAAA;EAAW,KAAA,EAAA,MAAA,GAAA,IAAA;AACjB;AAmCY,UA3PK,iBAAA,SAA0B,QA2PA,CAAA;EAE1B,IAAA,EAAA,gBAAY;AAgB7B;UAzQiB,gBAAA;;;IChGD,QAAA,EAAA,MAAiB;IACvB,IAAA,EAAA,MAAA;IAEI,OAAA,CAAA,EAAA,OAAA;EAEX,CAAA;;KDoGS,cAAA;;;AEhCZ,CAAA,GAAgB;EAEV,OAAA,CAAA,EAAA,SAAA;EACK,KAAA,EFoCA,QEpCA,EAAA;CACR;AAAU,UFqCI,cAAA,SAAuB,QErC3B,CAAA;EAkIG,IAAA,EAAA,YAAa;EAAS,QAAA,EF3F1B,UE2F0B,EAAA;;AAA0C,UFxF/D,SAAA,SAAkB,QEwF6C,CAAA;EAAU,IAAA,EAAA,OAAA;UFtFhF;QACF;;AG1JS,UH6JA,YAAA,SAAqB,QG7JV,CAAA;EAqBZ,IAAA,EAAA,WAAA;SH0IP;;UAGQ,aAAA,SAAsB;EI3KvB,IAAA,EAAA,YAAA;;YJ8KJ;;AK1IZ;UL8IiB,kBAAA,SAA2B;;SAEnC;AMjLT;UNoLiB,kBAAA,SAA2B;;QAEpC;EOzLK,UAAA,EP0LC,UOxKb,EAAA;AAED;AA6BgB,UP4IC,YAAA,SAAqB,QO5IZ,CAAA;;;YP+Id;AQ/KZ;AAyKgB,URSC,qBAAA,SAA8B,QQTiB,CAAA;EA2EhD,IAAA,EAAA,oBAAc;;;UR7Db,kBAAA,SAA2B;ESnL5B,IAAA,EAAA,iBAAA;EAIA,EAAA,EAAA,MAAA;AAwBhB;AACW,UT2JM,cAAA,SAAuB,QS3J7B,CAAA;EACU,IAAA,EAAA,YAAA;EAAX,IAAA,EAAA,MAAA;EAK2B,KAAA,EAAA,MAAA;EAPO,QAAA,ETgKhC,UShKgC,EAAA;;AAU5B,UTyJC,gBAAA,SAAyB,QSzJ0D,CAAA;;;UT4J1F;YACE;;UAGK,UAAA,SAAmB;;YAExB;;UAGK,YAAA,SAAqB;;YAE1B;;UAGK,iBAAA,SAA0B;;YAE/B;;UAGK,aAAA,SAAsB;;YAE3B;;UAGK,UAAA,SAAmB;;YAExB;;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,mBACA,gBACA,iBACA,gBACA,gBACA,gBACA,iBACA,sBACA;UACW,gBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAmCL,mBAAA,YAA+B,oBAAoB;UAE9C,YAAA;uBACM;wBACC;;;;;;;;;;;KAcZ,sBAAA,WAAiC,iBAAiB;;;iBCzW9C,iBAAA,SACN,2CAEI;EFhCG,oBAAe,CAAA,EAAA,OACV;;IEiCnB;;;AFlCc,iBGsGD,wBAAA,CHtG8B,QAAA,EAAA,MAAA,EAAA,EAAA,EGwGxC,YHxGwC,EAAA,OAAA,CAAA,EGyGnC,YHzGmC,CAAA,EG0G3C,UH1G2C,EAAA;iBG4O9B,aAAA,SAAsB,2BAA2B,eAAe;;;;;;AH5OhF;;;;ACVA;AAaA;AAEiB,UGRA,WAAA,CHQiB;EAMjB;EAOA,QAAA,CAAA,EAAA,SAAc,MAAA,EAEnB;EAIK;EAMA,iBAAS,CAAA,EAAA,OAKjB;EAGQ;AAKjB;AAiBA;AAOA;AAYA;AAYA;;;;;AAUA;EAKiB,gBAAS,CAAA,EAAA,OAKd;AAGZ;AAOiB,iBGvGD,qBAAA,CHuGmC,IAAA,EGvGP,WHuGO,GAAA,SAAA,CAAA,EAAA,IAAA;;;iBIrInC,iBAAA;;;iBCoCA,eAAA,QAAuB,gBAAgB;;;iBCjCvC,eAAA,KAAoB;;;cCHvB;cAoBA;iBA6BG,UAAA;;;cChCH;iBAyKG,6BAAA,mBAAgD;iBA2EhD,SAAA,KAAc,yBAAuB;;;ATzPpC,iBUSD,sBAAA,CVTwB,MAAM,EAAA,OAAA,CAAA,EAAA,IAAA;iBUa9B,8BAAA,CAAA;AT8BC,USNA,kBAAA,SAA2B,cTMG,CAAA;EAiB9B,MAAA,CAAA,EStBN,KTsBM,CAAA,OAAc,CAAA;EAOd,KAAA,CAAA,ES5BP,KT4BO,CAAA,CAAA,EAAe,ES5BX,UTgCT,EAAA,GAAA,IAAA,CAAA;EAQA;AAYZ;;;EAA6C,IAAA,CAAA,EAAA,CAAA,CAAA,GAAA,EAAA,MAAA,EAAA,GAAA,MAAA,CAAA,GS/CR,MT+CQ,CAAA,MAAA,EAAA,MAAA,CAAA;;AAU5B,iBStDD,WAAA,CTsDwB,KAAQ,CAAA,EAAA,MAAA,EAAA,OAAA,CAAA,EStD6B,kBTsD7B,CAAA,EStDoD,UTsDpD"}
|
package/dist/index.js
CHANGED
|
@@ -6752,7 +6752,7 @@ function applyContainers(md) {
|
|
|
6752
6752
|
const startPos = s.bMarks[startLine] + s.tShift[startLine];
|
|
6753
6753
|
const lineMax = s.eMarks[startLine];
|
|
6754
6754
|
const line = s.src.slice(startPos, lineMax);
|
|
6755
|
-
const nameMatch = line.match(
|
|
6755
|
+
const nameMatch = line.match(/^:::\s*(\S+)/);
|
|
6756
6756
|
if (!nameMatch) return false;
|
|
6757
6757
|
const name = nameMatch[1];
|
|
6758
6758
|
if (!name.trim()) return false;
|
|
@@ -6800,13 +6800,12 @@ function applyContainers(md) {
|
|
|
6800
6800
|
contentLines.push(s.src.slice(sPos, ePos));
|
|
6801
6801
|
}
|
|
6802
6802
|
if (contentLines.some((line$1) => line$1.trim().length > 0)) {
|
|
6803
|
-
|
|
6804
|
-
|
|
6805
|
-
|
|
6806
|
-
|
|
6807
|
-
|
|
6808
|
-
s.
|
|
6809
|
-
s.push("paragraph_close", "p", -1);
|
|
6803
|
+
let innerSrc = contentLines.join("\n");
|
|
6804
|
+
if (!innerSrc.endsWith("\n")) innerSrc += "\n";
|
|
6805
|
+
if (!innerSrc.endsWith("\n\n")) innerSrc += "\n";
|
|
6806
|
+
const innerTokens = [];
|
|
6807
|
+
s.md.block.parse(innerSrc, s.md, s.env, innerTokens);
|
|
6808
|
+
s.tokens.push(...innerTokens);
|
|
6810
6809
|
}
|
|
6811
6810
|
s.push("vmr_container_close", "div", -1);
|
|
6812
6811
|
s.line = nextLine + 1;
|
|
@@ -10273,6 +10272,249 @@ function normalizeSingleLinkResult(raw, nodes) {
|
|
|
10273
10272
|
return nodes;
|
|
10274
10273
|
}
|
|
10275
10274
|
|
|
10275
|
+
//#endregion
|
|
10276
|
+
//#region src/parser/node-parsers/list-parser.ts
|
|
10277
|
+
function parseList(tokens, index, options) {
|
|
10278
|
+
const token = tokens[index];
|
|
10279
|
+
const listItems = [];
|
|
10280
|
+
let j = index + 1;
|
|
10281
|
+
while (j < tokens.length && tokens[j].type !== "bullet_list_close" && tokens[j].type !== "ordered_list_close") if (tokens[j].type === "list_item_open") {
|
|
10282
|
+
const itemChildren = [];
|
|
10283
|
+
let k = j + 1;
|
|
10284
|
+
while (k < tokens.length && tokens[k].type !== "list_item_close") if (tokens[k].type === "paragraph_open") {
|
|
10285
|
+
const contentToken = tokens[k + 1];
|
|
10286
|
+
const preToken = tokens[k - 1];
|
|
10287
|
+
const contentStr = String(contentToken.content ?? "");
|
|
10288
|
+
if (/\n\d+$/.test(contentStr)) {
|
|
10289
|
+
contentToken.content = contentStr.replace(/\n\d+$/, "");
|
|
10290
|
+
contentToken.children?.splice(-1, 1);
|
|
10291
|
+
}
|
|
10292
|
+
itemChildren.push({
|
|
10293
|
+
type: "paragraph",
|
|
10294
|
+
children: parseInlineTokens(contentToken.children || [], String(contentToken.content ?? ""), preToken, {
|
|
10295
|
+
requireClosingStrong: options?.requireClosingStrong,
|
|
10296
|
+
customHtmlTags: options?.customHtmlTags
|
|
10297
|
+
}),
|
|
10298
|
+
raw: String(contentToken.content ?? "")
|
|
10299
|
+
});
|
|
10300
|
+
k += 3;
|
|
10301
|
+
} else if (tokens[k].type === "blockquote_open") {
|
|
10302
|
+
const [blockquoteNode, newIndex] = parseBlockquote(tokens, k, options);
|
|
10303
|
+
itemChildren.push(blockquoteNode);
|
|
10304
|
+
k = newIndex;
|
|
10305
|
+
} else if (tokens[k].type === "bullet_list_open" || tokens[k].type === "ordered_list_open") {
|
|
10306
|
+
const [nestedListNode, newIndex] = parseList(tokens, k, options);
|
|
10307
|
+
itemChildren.push(nestedListNode);
|
|
10308
|
+
k = newIndex;
|
|
10309
|
+
} else {
|
|
10310
|
+
const handled = parseCommonBlockToken(tokens, k, options, containerTokenHandlers);
|
|
10311
|
+
if (handled) {
|
|
10312
|
+
itemChildren.push(handled[0]);
|
|
10313
|
+
k = handled[1];
|
|
10314
|
+
} else k += 1;
|
|
10315
|
+
}
|
|
10316
|
+
listItems.push({
|
|
10317
|
+
type: "list_item",
|
|
10318
|
+
children: itemChildren,
|
|
10319
|
+
raw: itemChildren.map((child) => child.raw).join("")
|
|
10320
|
+
});
|
|
10321
|
+
j = k + 1;
|
|
10322
|
+
} else j += 1;
|
|
10323
|
+
return [{
|
|
10324
|
+
type: "list",
|
|
10325
|
+
ordered: token.type === "ordered_list_open",
|
|
10326
|
+
start: (() => {
|
|
10327
|
+
if (token.attrs && token.attrs.length) {
|
|
10328
|
+
const found = token.attrs.find((a) => a[0] === "start");
|
|
10329
|
+
if (found) {
|
|
10330
|
+
const parsed = Number(found[1]);
|
|
10331
|
+
return Number.isFinite(parsed) && parsed !== 0 ? parsed : 1;
|
|
10332
|
+
}
|
|
10333
|
+
}
|
|
10334
|
+
})(),
|
|
10335
|
+
items: listItems,
|
|
10336
|
+
raw: listItems.map((item) => item.raw).join("\n")
|
|
10337
|
+
}, j + 1];
|
|
10338
|
+
}
|
|
10339
|
+
|
|
10340
|
+
//#endregion
|
|
10341
|
+
//#region src/parser/node-parsers/admonition-parser.ts
|
|
10342
|
+
function parseAdmonition(tokens, index, match, options) {
|
|
10343
|
+
const kind = String(match[1] ?? "note");
|
|
10344
|
+
const title = String(match[2] ?? kind.charAt(0).toUpperCase() + kind.slice(1));
|
|
10345
|
+
const admonitionChildren = [];
|
|
10346
|
+
let j = index + 1;
|
|
10347
|
+
while (j < tokens.length && tokens[j].type !== "container_close") if (tokens[j].type === "paragraph_open") {
|
|
10348
|
+
const contentToken = tokens[j + 1];
|
|
10349
|
+
if (contentToken) admonitionChildren.push({
|
|
10350
|
+
type: "paragraph",
|
|
10351
|
+
children: parseInlineTokens(contentToken.children || [], String(contentToken.content ?? ""), void 0, {
|
|
10352
|
+
requireClosingStrong: options?.requireClosingStrong,
|
|
10353
|
+
customHtmlTags: options?.customHtmlTags
|
|
10354
|
+
}),
|
|
10355
|
+
raw: String(contentToken.content ?? "")
|
|
10356
|
+
});
|
|
10357
|
+
j += 3;
|
|
10358
|
+
} else if (tokens[j].type === "bullet_list_open" || tokens[j].type === "ordered_list_open") {
|
|
10359
|
+
const [listNode, newIndex] = parseList(tokens, j, options);
|
|
10360
|
+
admonitionChildren.push(listNode);
|
|
10361
|
+
j = newIndex;
|
|
10362
|
+
} else if (tokens[j].type === "blockquote_open") {
|
|
10363
|
+
const [blockquoteNode, newIndex] = parseBlockquote(tokens, j, options);
|
|
10364
|
+
admonitionChildren.push(blockquoteNode);
|
|
10365
|
+
j = newIndex;
|
|
10366
|
+
} else {
|
|
10367
|
+
const handled = parseBasicBlockToken(tokens, j, options);
|
|
10368
|
+
if (handled) {
|
|
10369
|
+
admonitionChildren.push(handled[0]);
|
|
10370
|
+
j = handled[1];
|
|
10371
|
+
} else j++;
|
|
10372
|
+
}
|
|
10373
|
+
return [{
|
|
10374
|
+
type: "admonition",
|
|
10375
|
+
kind,
|
|
10376
|
+
title,
|
|
10377
|
+
children: admonitionChildren,
|
|
10378
|
+
raw: `:::${kind} ${title}\n${admonitionChildren.map((child) => child.raw).join("\n")}\n:::`
|
|
10379
|
+
}, j + 1];
|
|
10380
|
+
}
|
|
10381
|
+
|
|
10382
|
+
//#endregion
|
|
10383
|
+
//#region src/parser/node-parsers/container-parser.ts
|
|
10384
|
+
function parseContainer(tokens, index, options) {
|
|
10385
|
+
const openToken = tokens[index];
|
|
10386
|
+
let kind = "note";
|
|
10387
|
+
let title = "";
|
|
10388
|
+
const typeMatch = openToken.type.match(/^container_(\w+)_open$/);
|
|
10389
|
+
if (typeMatch) {
|
|
10390
|
+
kind = typeMatch[1];
|
|
10391
|
+
const info = String(openToken.info ?? "").trim();
|
|
10392
|
+
if (info && !info.startsWith(":::")) {
|
|
10393
|
+
const maybe = info.replace(/* @__PURE__ */ new RegExp(`^${kind}`), "").trim();
|
|
10394
|
+
if (maybe) title = maybe;
|
|
10395
|
+
}
|
|
10396
|
+
} else {
|
|
10397
|
+
const info = String(openToken.info ?? "").trim();
|
|
10398
|
+
const match = /^:{1,3}\s*(warning|info|note|tip|danger|caution)\s*(.*)$/i.exec(info);
|
|
10399
|
+
if (match) {
|
|
10400
|
+
kind = match[1];
|
|
10401
|
+
title = String(match[2] ?? "");
|
|
10402
|
+
}
|
|
10403
|
+
}
|
|
10404
|
+
if (!title) title = kind.charAt(0).toUpperCase() + kind.slice(1);
|
|
10405
|
+
const children = [];
|
|
10406
|
+
let j = index + 1;
|
|
10407
|
+
const closeType = /* @__PURE__ */ new RegExp(`^container_${kind}_close$`);
|
|
10408
|
+
while (j < tokens.length && tokens[j].type !== "container_close" && !closeType.test(tokens[j].type)) if (tokens[j].type === "paragraph_open") {
|
|
10409
|
+
const contentToken = tokens[j + 1];
|
|
10410
|
+
if (contentToken) {
|
|
10411
|
+
const childrenArr = contentToken.children || [];
|
|
10412
|
+
let i = -1;
|
|
10413
|
+
for (let k = childrenArr.length - 1; k >= 0; k--) {
|
|
10414
|
+
const t = childrenArr[k];
|
|
10415
|
+
if (t.type === "text" && /:+/.test(t.content)) {
|
|
10416
|
+
i = k;
|
|
10417
|
+
break;
|
|
10418
|
+
}
|
|
10419
|
+
}
|
|
10420
|
+
const _children = i !== -1 ? childrenArr.slice(0, i) : childrenArr;
|
|
10421
|
+
children.push({
|
|
10422
|
+
type: "paragraph",
|
|
10423
|
+
children: parseInlineTokens(_children || [], void 0, void 0, {
|
|
10424
|
+
requireClosingStrong: options?.requireClosingStrong,
|
|
10425
|
+
customHtmlTags: options?.customHtmlTags
|
|
10426
|
+
}),
|
|
10427
|
+
raw: String(contentToken.content ?? "").replace(/\n:+$/, "").replace(/\n\s*:::\s*$/, "")
|
|
10428
|
+
});
|
|
10429
|
+
}
|
|
10430
|
+
j += 3;
|
|
10431
|
+
} else if (tokens[j].type === "bullet_list_open" || tokens[j].type === "ordered_list_open") {
|
|
10432
|
+
const [listNode, newIndex] = parseList(tokens, j, options);
|
|
10433
|
+
children.push(listNode);
|
|
10434
|
+
j = newIndex;
|
|
10435
|
+
} else if (tokens[j].type === "blockquote_open") {
|
|
10436
|
+
const [blockquoteNode, newIndex] = parseBlockquote(tokens, j, options);
|
|
10437
|
+
children.push(blockquoteNode);
|
|
10438
|
+
j = newIndex;
|
|
10439
|
+
} else {
|
|
10440
|
+
const handled = parseBasicBlockToken(tokens, j, options);
|
|
10441
|
+
if (handled) {
|
|
10442
|
+
children.push(handled[0]);
|
|
10443
|
+
j = handled[1];
|
|
10444
|
+
} else j++;
|
|
10445
|
+
}
|
|
10446
|
+
return [{
|
|
10447
|
+
type: "admonition",
|
|
10448
|
+
kind,
|
|
10449
|
+
title,
|
|
10450
|
+
children,
|
|
10451
|
+
raw: `:::${kind} ${title}\n${children.map((c) => c.raw).join("\n")}\n:::`
|
|
10452
|
+
}, j + 1];
|
|
10453
|
+
}
|
|
10454
|
+
|
|
10455
|
+
//#endregion
|
|
10456
|
+
//#region src/parser/node-parsers/container-token-handlers.ts
|
|
10457
|
+
const CONTAINER_REGEX = /^::: ?(warning|info|note|tip|danger|caution|error) ?(.*)$/;
|
|
10458
|
+
function handleContainerOpen(tokens, index, options) {
|
|
10459
|
+
const token = tokens[index];
|
|
10460
|
+
if (token.type !== "container_open") return null;
|
|
10461
|
+
const match = CONTAINER_REGEX.exec(String(token.info ?? ""));
|
|
10462
|
+
if (!match) return null;
|
|
10463
|
+
return parseAdmonition(tokens, index, match, options);
|
|
10464
|
+
}
|
|
10465
|
+
const containerTokenHandlers = {
|
|
10466
|
+
parseContainer: (tokens, index, options) => parseContainer(tokens, index, options),
|
|
10467
|
+
matchAdmonition: handleContainerOpen
|
|
10468
|
+
};
|
|
10469
|
+
|
|
10470
|
+
//#endregion
|
|
10471
|
+
//#region src/parser/node-parsers/blockquote-parser.ts
|
|
10472
|
+
function parseBlockquote(tokens, index, options) {
|
|
10473
|
+
const blockquoteChildren = [];
|
|
10474
|
+
let j = index + 1;
|
|
10475
|
+
while (j < tokens.length && tokens[j].type !== "blockquote_close") switch (tokens[j].type) {
|
|
10476
|
+
case "paragraph_open": {
|
|
10477
|
+
const contentToken = tokens[j + 1];
|
|
10478
|
+
blockquoteChildren.push({
|
|
10479
|
+
type: "paragraph",
|
|
10480
|
+
children: parseInlineTokens(contentToken.children || [], String(contentToken.content ?? ""), void 0, {
|
|
10481
|
+
requireClosingStrong: options?.requireClosingStrong,
|
|
10482
|
+
customHtmlTags: options?.customHtmlTags
|
|
10483
|
+
}),
|
|
10484
|
+
raw: String(contentToken.content ?? "")
|
|
10485
|
+
});
|
|
10486
|
+
j += 3;
|
|
10487
|
+
break;
|
|
10488
|
+
}
|
|
10489
|
+
case "bullet_list_open":
|
|
10490
|
+
case "ordered_list_open": {
|
|
10491
|
+
const [listNode, newIndex] = parseList(tokens, j, options);
|
|
10492
|
+
blockquoteChildren.push(listNode);
|
|
10493
|
+
j = newIndex;
|
|
10494
|
+
break;
|
|
10495
|
+
}
|
|
10496
|
+
case "blockquote_open": {
|
|
10497
|
+
const [nestedBlockquote, newIndex] = parseBlockquote(tokens, j, options);
|
|
10498
|
+
blockquoteChildren.push(nestedBlockquote);
|
|
10499
|
+
j = newIndex;
|
|
10500
|
+
break;
|
|
10501
|
+
}
|
|
10502
|
+
default: {
|
|
10503
|
+
const handled = parseCommonBlockToken(tokens, j, options, containerTokenHandlers);
|
|
10504
|
+
if (handled) {
|
|
10505
|
+
blockquoteChildren.push(handled[0]);
|
|
10506
|
+
j = handled[1];
|
|
10507
|
+
} else j++;
|
|
10508
|
+
break;
|
|
10509
|
+
}
|
|
10510
|
+
}
|
|
10511
|
+
return [{
|
|
10512
|
+
type: "blockquote",
|
|
10513
|
+
children: blockquoteChildren,
|
|
10514
|
+
raw: blockquoteChildren.map((child) => child.raw).join("\n")
|
|
10515
|
+
}, j + 1];
|
|
10516
|
+
}
|
|
10517
|
+
|
|
10276
10518
|
//#endregion
|
|
10277
10519
|
//#region src/parser/node-parsers/code-block-parser.ts
|
|
10278
10520
|
function parseCodeBlock(token) {
|
|
@@ -10550,7 +10792,29 @@ function parseVmrContainer(tokens, index, options) {
|
|
|
10550
10792
|
}
|
|
10551
10793
|
const children = [];
|
|
10552
10794
|
let j = index + 1;
|
|
10553
|
-
while (j < tokens.length && tokens[j].type !== "vmr_container_close") {
|
|
10795
|
+
while (j < tokens.length && tokens[j].type !== "vmr_container_close") if (tokens[j].type === "paragraph_open") {
|
|
10796
|
+
const contentToken = tokens[j + 1];
|
|
10797
|
+
if (contentToken) {
|
|
10798
|
+
const childrenArr = contentToken.children || [];
|
|
10799
|
+
children.push({
|
|
10800
|
+
type: "paragraph",
|
|
10801
|
+
children: parseInlineTokens(childrenArr || [], void 0, void 0, {
|
|
10802
|
+
requireClosingStrong: options?.requireClosingStrong,
|
|
10803
|
+
customHtmlTags: options?.customHtmlTags
|
|
10804
|
+
}),
|
|
10805
|
+
raw: String(contentToken.content ?? "")
|
|
10806
|
+
});
|
|
10807
|
+
}
|
|
10808
|
+
j += 3;
|
|
10809
|
+
} else if (tokens[j].type === "bullet_list_open" || tokens[j].type === "ordered_list_open") {
|
|
10810
|
+
const [listNode, newIndex] = parseList(tokens, j, options);
|
|
10811
|
+
children.push(listNode);
|
|
10812
|
+
j = newIndex;
|
|
10813
|
+
} else if (tokens[j].type === "blockquote_open") {
|
|
10814
|
+
const [blockquoteNode, newIndex] = parseBlockquote(tokens, j, options);
|
|
10815
|
+
children.push(blockquoteNode);
|
|
10816
|
+
j = newIndex;
|
|
10817
|
+
} else {
|
|
10554
10818
|
const handled = parseBasicBlockToken(tokens, j, options);
|
|
10555
10819
|
if (handled) {
|
|
10556
10820
|
children.push(handled[0]);
|
|
@@ -10754,249 +11018,6 @@ function parseCommonBlockToken(tokens, index, options, handlers) {
|
|
|
10754
11018
|
return null;
|
|
10755
11019
|
}
|
|
10756
11020
|
|
|
10757
|
-
//#endregion
|
|
10758
|
-
//#region src/parser/node-parsers/list-parser.ts
|
|
10759
|
-
function parseList(tokens, index, options) {
|
|
10760
|
-
const token = tokens[index];
|
|
10761
|
-
const listItems = [];
|
|
10762
|
-
let j = index + 1;
|
|
10763
|
-
while (j < tokens.length && tokens[j].type !== "bullet_list_close" && tokens[j].type !== "ordered_list_close") if (tokens[j].type === "list_item_open") {
|
|
10764
|
-
const itemChildren = [];
|
|
10765
|
-
let k = j + 1;
|
|
10766
|
-
while (k < tokens.length && tokens[k].type !== "list_item_close") if (tokens[k].type === "paragraph_open") {
|
|
10767
|
-
const contentToken = tokens[k + 1];
|
|
10768
|
-
const preToken = tokens[k - 1];
|
|
10769
|
-
const contentStr = String(contentToken.content ?? "");
|
|
10770
|
-
if (/\n\d+$/.test(contentStr)) {
|
|
10771
|
-
contentToken.content = contentStr.replace(/\n\d+$/, "");
|
|
10772
|
-
contentToken.children?.splice(-1, 1);
|
|
10773
|
-
}
|
|
10774
|
-
itemChildren.push({
|
|
10775
|
-
type: "paragraph",
|
|
10776
|
-
children: parseInlineTokens(contentToken.children || [], String(contentToken.content ?? ""), preToken, {
|
|
10777
|
-
requireClosingStrong: options?.requireClosingStrong,
|
|
10778
|
-
customHtmlTags: options?.customHtmlTags
|
|
10779
|
-
}),
|
|
10780
|
-
raw: String(contentToken.content ?? "")
|
|
10781
|
-
});
|
|
10782
|
-
k += 3;
|
|
10783
|
-
} else if (tokens[k].type === "blockquote_open") {
|
|
10784
|
-
const [blockquoteNode, newIndex] = parseBlockquote(tokens, k, options);
|
|
10785
|
-
itemChildren.push(blockquoteNode);
|
|
10786
|
-
k = newIndex;
|
|
10787
|
-
} else if (tokens[k].type === "bullet_list_open" || tokens[k].type === "ordered_list_open") {
|
|
10788
|
-
const [nestedListNode, newIndex] = parseList(tokens, k, options);
|
|
10789
|
-
itemChildren.push(nestedListNode);
|
|
10790
|
-
k = newIndex;
|
|
10791
|
-
} else {
|
|
10792
|
-
const handled = parseCommonBlockToken(tokens, k, options, containerTokenHandlers);
|
|
10793
|
-
if (handled) {
|
|
10794
|
-
itemChildren.push(handled[0]);
|
|
10795
|
-
k = handled[1];
|
|
10796
|
-
} else k += 1;
|
|
10797
|
-
}
|
|
10798
|
-
listItems.push({
|
|
10799
|
-
type: "list_item",
|
|
10800
|
-
children: itemChildren,
|
|
10801
|
-
raw: itemChildren.map((child) => child.raw).join("")
|
|
10802
|
-
});
|
|
10803
|
-
j = k + 1;
|
|
10804
|
-
} else j += 1;
|
|
10805
|
-
return [{
|
|
10806
|
-
type: "list",
|
|
10807
|
-
ordered: token.type === "ordered_list_open",
|
|
10808
|
-
start: (() => {
|
|
10809
|
-
if (token.attrs && token.attrs.length) {
|
|
10810
|
-
const found = token.attrs.find((a) => a[0] === "start");
|
|
10811
|
-
if (found) {
|
|
10812
|
-
const parsed = Number(found[1]);
|
|
10813
|
-
return Number.isFinite(parsed) && parsed !== 0 ? parsed : 1;
|
|
10814
|
-
}
|
|
10815
|
-
}
|
|
10816
|
-
})(),
|
|
10817
|
-
items: listItems,
|
|
10818
|
-
raw: listItems.map((item) => item.raw).join("\n")
|
|
10819
|
-
}, j + 1];
|
|
10820
|
-
}
|
|
10821
|
-
|
|
10822
|
-
//#endregion
|
|
10823
|
-
//#region src/parser/node-parsers/admonition-parser.ts
|
|
10824
|
-
function parseAdmonition(tokens, index, match, options) {
|
|
10825
|
-
const kind = String(match[1] ?? "note");
|
|
10826
|
-
const title = String(match[2] ?? kind.charAt(0).toUpperCase() + kind.slice(1));
|
|
10827
|
-
const admonitionChildren = [];
|
|
10828
|
-
let j = index + 1;
|
|
10829
|
-
while (j < tokens.length && tokens[j].type !== "container_close") if (tokens[j].type === "paragraph_open") {
|
|
10830
|
-
const contentToken = tokens[j + 1];
|
|
10831
|
-
if (contentToken) admonitionChildren.push({
|
|
10832
|
-
type: "paragraph",
|
|
10833
|
-
children: parseInlineTokens(contentToken.children || [], String(contentToken.content ?? ""), void 0, {
|
|
10834
|
-
requireClosingStrong: options?.requireClosingStrong,
|
|
10835
|
-
customHtmlTags: options?.customHtmlTags
|
|
10836
|
-
}),
|
|
10837
|
-
raw: String(contentToken.content ?? "")
|
|
10838
|
-
});
|
|
10839
|
-
j += 3;
|
|
10840
|
-
} else if (tokens[j].type === "bullet_list_open" || tokens[j].type === "ordered_list_open") {
|
|
10841
|
-
const [listNode, newIndex] = parseList(tokens, j, options);
|
|
10842
|
-
admonitionChildren.push(listNode);
|
|
10843
|
-
j = newIndex;
|
|
10844
|
-
} else if (tokens[j].type === "blockquote_open") {
|
|
10845
|
-
const [blockquoteNode, newIndex] = parseBlockquote(tokens, j, options);
|
|
10846
|
-
admonitionChildren.push(blockquoteNode);
|
|
10847
|
-
j = newIndex;
|
|
10848
|
-
} else {
|
|
10849
|
-
const handled = parseBasicBlockToken(tokens, j, options);
|
|
10850
|
-
if (handled) {
|
|
10851
|
-
admonitionChildren.push(handled[0]);
|
|
10852
|
-
j = handled[1];
|
|
10853
|
-
} else j++;
|
|
10854
|
-
}
|
|
10855
|
-
return [{
|
|
10856
|
-
type: "admonition",
|
|
10857
|
-
kind,
|
|
10858
|
-
title,
|
|
10859
|
-
children: admonitionChildren,
|
|
10860
|
-
raw: `:::${kind} ${title}\n${admonitionChildren.map((child) => child.raw).join("\n")}\n:::`
|
|
10861
|
-
}, j + 1];
|
|
10862
|
-
}
|
|
10863
|
-
|
|
10864
|
-
//#endregion
|
|
10865
|
-
//#region src/parser/node-parsers/container-parser.ts
|
|
10866
|
-
function parseContainer(tokens, index, options) {
|
|
10867
|
-
const openToken = tokens[index];
|
|
10868
|
-
let kind = "note";
|
|
10869
|
-
let title = "";
|
|
10870
|
-
const typeMatch = openToken.type.match(/^container_(\w+)_open$/);
|
|
10871
|
-
if (typeMatch) {
|
|
10872
|
-
kind = typeMatch[1];
|
|
10873
|
-
const info = String(openToken.info ?? "").trim();
|
|
10874
|
-
if (info && !info.startsWith(":::")) {
|
|
10875
|
-
const maybe = info.replace(/* @__PURE__ */ new RegExp(`^${kind}`), "").trim();
|
|
10876
|
-
if (maybe) title = maybe;
|
|
10877
|
-
}
|
|
10878
|
-
} else {
|
|
10879
|
-
const info = String(openToken.info ?? "").trim();
|
|
10880
|
-
const match = /^:{1,3}\s*(warning|info|note|tip|danger|caution)\s*(.*)$/i.exec(info);
|
|
10881
|
-
if (match) {
|
|
10882
|
-
kind = match[1];
|
|
10883
|
-
title = String(match[2] ?? "");
|
|
10884
|
-
}
|
|
10885
|
-
}
|
|
10886
|
-
if (!title) title = kind.charAt(0).toUpperCase() + kind.slice(1);
|
|
10887
|
-
const children = [];
|
|
10888
|
-
let j = index + 1;
|
|
10889
|
-
const closeType = /* @__PURE__ */ new RegExp(`^container_${kind}_close$`);
|
|
10890
|
-
while (j < tokens.length && tokens[j].type !== "container_close" && !closeType.test(tokens[j].type)) if (tokens[j].type === "paragraph_open") {
|
|
10891
|
-
const contentToken = tokens[j + 1];
|
|
10892
|
-
if (contentToken) {
|
|
10893
|
-
const childrenArr = contentToken.children || [];
|
|
10894
|
-
let i = -1;
|
|
10895
|
-
for (let k = childrenArr.length - 1; k >= 0; k--) {
|
|
10896
|
-
const t = childrenArr[k];
|
|
10897
|
-
if (t.type === "text" && /:+/.test(t.content)) {
|
|
10898
|
-
i = k;
|
|
10899
|
-
break;
|
|
10900
|
-
}
|
|
10901
|
-
}
|
|
10902
|
-
const _children = i !== -1 ? childrenArr.slice(0, i) : childrenArr;
|
|
10903
|
-
children.push({
|
|
10904
|
-
type: "paragraph",
|
|
10905
|
-
children: parseInlineTokens(_children || [], void 0, void 0, {
|
|
10906
|
-
requireClosingStrong: options?.requireClosingStrong,
|
|
10907
|
-
customHtmlTags: options?.customHtmlTags
|
|
10908
|
-
}),
|
|
10909
|
-
raw: String(contentToken.content ?? "").replace(/\n:+$/, "").replace(/\n\s*:::\s*$/, "")
|
|
10910
|
-
});
|
|
10911
|
-
}
|
|
10912
|
-
j += 3;
|
|
10913
|
-
} else if (tokens[j].type === "bullet_list_open" || tokens[j].type === "ordered_list_open") {
|
|
10914
|
-
const [listNode, newIndex] = parseList(tokens, j, options);
|
|
10915
|
-
children.push(listNode);
|
|
10916
|
-
j = newIndex;
|
|
10917
|
-
} else if (tokens[j].type === "blockquote_open") {
|
|
10918
|
-
const [blockquoteNode, newIndex] = parseBlockquote(tokens, j, options);
|
|
10919
|
-
children.push(blockquoteNode);
|
|
10920
|
-
j = newIndex;
|
|
10921
|
-
} else {
|
|
10922
|
-
const handled = parseBasicBlockToken(tokens, j, options);
|
|
10923
|
-
if (handled) {
|
|
10924
|
-
children.push(handled[0]);
|
|
10925
|
-
j = handled[1];
|
|
10926
|
-
} else j++;
|
|
10927
|
-
}
|
|
10928
|
-
return [{
|
|
10929
|
-
type: "admonition",
|
|
10930
|
-
kind,
|
|
10931
|
-
title,
|
|
10932
|
-
children,
|
|
10933
|
-
raw: `:::${kind} ${title}\n${children.map((c) => c.raw).join("\n")}\n:::`
|
|
10934
|
-
}, j + 1];
|
|
10935
|
-
}
|
|
10936
|
-
|
|
10937
|
-
//#endregion
|
|
10938
|
-
//#region src/parser/node-parsers/container-token-handlers.ts
|
|
10939
|
-
const CONTAINER_REGEX = /^::: ?(warning|info|note|tip|danger|caution|error) ?(.*)$/;
|
|
10940
|
-
function handleContainerOpen(tokens, index, options) {
|
|
10941
|
-
const token = tokens[index];
|
|
10942
|
-
if (token.type !== "container_open") return null;
|
|
10943
|
-
const match = CONTAINER_REGEX.exec(String(token.info ?? ""));
|
|
10944
|
-
if (!match) return null;
|
|
10945
|
-
return parseAdmonition(tokens, index, match, options);
|
|
10946
|
-
}
|
|
10947
|
-
const containerTokenHandlers = {
|
|
10948
|
-
parseContainer: (tokens, index, options) => parseContainer(tokens, index, options),
|
|
10949
|
-
matchAdmonition: handleContainerOpen
|
|
10950
|
-
};
|
|
10951
|
-
|
|
10952
|
-
//#endregion
|
|
10953
|
-
//#region src/parser/node-parsers/blockquote-parser.ts
|
|
10954
|
-
function parseBlockquote(tokens, index, options) {
|
|
10955
|
-
const blockquoteChildren = [];
|
|
10956
|
-
let j = index + 1;
|
|
10957
|
-
while (j < tokens.length && tokens[j].type !== "blockquote_close") switch (tokens[j].type) {
|
|
10958
|
-
case "paragraph_open": {
|
|
10959
|
-
const contentToken = tokens[j + 1];
|
|
10960
|
-
blockquoteChildren.push({
|
|
10961
|
-
type: "paragraph",
|
|
10962
|
-
children: parseInlineTokens(contentToken.children || [], String(contentToken.content ?? ""), void 0, {
|
|
10963
|
-
requireClosingStrong: options?.requireClosingStrong,
|
|
10964
|
-
customHtmlTags: options?.customHtmlTags
|
|
10965
|
-
}),
|
|
10966
|
-
raw: String(contentToken.content ?? "")
|
|
10967
|
-
});
|
|
10968
|
-
j += 3;
|
|
10969
|
-
break;
|
|
10970
|
-
}
|
|
10971
|
-
case "bullet_list_open":
|
|
10972
|
-
case "ordered_list_open": {
|
|
10973
|
-
const [listNode, newIndex] = parseList(tokens, j, options);
|
|
10974
|
-
blockquoteChildren.push(listNode);
|
|
10975
|
-
j = newIndex;
|
|
10976
|
-
break;
|
|
10977
|
-
}
|
|
10978
|
-
case "blockquote_open": {
|
|
10979
|
-
const [nestedBlockquote, newIndex] = parseBlockquote(tokens, j, options);
|
|
10980
|
-
blockquoteChildren.push(nestedBlockquote);
|
|
10981
|
-
j = newIndex;
|
|
10982
|
-
break;
|
|
10983
|
-
}
|
|
10984
|
-
default: {
|
|
10985
|
-
const handled = parseCommonBlockToken(tokens, j, options, containerTokenHandlers);
|
|
10986
|
-
if (handled) {
|
|
10987
|
-
blockquoteChildren.push(handled[0]);
|
|
10988
|
-
j = handled[1];
|
|
10989
|
-
} else j++;
|
|
10990
|
-
break;
|
|
10991
|
-
}
|
|
10992
|
-
}
|
|
10993
|
-
return [{
|
|
10994
|
-
type: "blockquote",
|
|
10995
|
-
children: blockquoteChildren,
|
|
10996
|
-
raw: blockquoteChildren.map((child) => child.raw).join("\n")
|
|
10997
|
-
}, j + 1];
|
|
10998
|
-
}
|
|
10999
|
-
|
|
11000
11021
|
//#endregion
|
|
11001
11022
|
//#region src/parser/node-parsers/hardbreak-parser.ts
|
|
11002
11023
|
function parseHardBreak() {
|