bunki 0.5.0 → 0.5.2

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 (3) hide show
  1. package/dist/cli.js +87 -87
  2. package/dist/index.js +87 -87
  3. package/package.json +2 -2
package/dist/cli.js CHANGED
@@ -19256,24 +19256,24 @@ var require_lib2 = __commonJS((exports) => {
19256
19256
  // node_modules/domhandler/lib/node.js
19257
19257
  var require_node = __commonJS((exports) => {
19258
19258
  var __extends = exports && exports.__extends || function() {
19259
- var extendStatics = function(d2, b2) {
19260
- extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d3, b3) {
19261
- d3.__proto__ = b3;
19262
- } || function(d3, b3) {
19259
+ var extendStatics = function(d, b2) {
19260
+ extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b3) {
19261
+ d2.__proto__ = b3;
19262
+ } || function(d2, b3) {
19263
19263
  for (var p in b3)
19264
19264
  if (Object.prototype.hasOwnProperty.call(b3, p))
19265
- d3[p] = b3[p];
19265
+ d2[p] = b3[p];
19266
19266
  };
19267
- return extendStatics(d2, b2);
19267
+ return extendStatics(d, b2);
19268
19268
  };
19269
- return function(d2, b2) {
19269
+ return function(d, b2) {
19270
19270
  if (typeof b2 !== "function" && b2 !== null)
19271
19271
  throw new TypeError("Class extends value " + String(b2) + " is not a constructor or null");
19272
- extendStatics(d2, b2);
19272
+ extendStatics(d, b2);
19273
19273
  function __() {
19274
- this.constructor = d2;
19274
+ this.constructor = d;
19275
19275
  }
19276
- d2.prototype = b2 === null ? Object.create(b2) : (__.prototype = b2.prototype, new __);
19276
+ d.prototype = b2 === null ? Object.create(b2) : (__.prototype = b2.prototype, new __);
19277
19277
  };
19278
19278
  }();
19279
19279
  var __assign = exports && exports.__assign || function() {
@@ -21378,7 +21378,7 @@ var require_parse_srcset = __commonJS((exports, module) => {
21378
21378
  }
21379
21379
  }
21380
21380
  function parseDescriptors() {
21381
- var pError = false, w2, d2, h, i, candidate = {}, desc, lastChar, value, intVal, floatVal;
21381
+ var pError = false, w2, d, h2, i, candidate = {}, desc, lastChar, value, intVal, floatVal;
21382
21382
  for (i = 0;i < descriptors.length; i++) {
21383
21383
  desc = descriptors[i];
21384
21384
  lastChar = desc[desc.length - 1];
@@ -21386,7 +21386,7 @@ var require_parse_srcset = __commonJS((exports, module) => {
21386
21386
  intVal = parseInt(value, 10);
21387
21387
  floatVal = parseFloat(value);
21388
21388
  if (regexNonNegativeInteger.test(value) && lastChar === "w") {
21389
- if (w2 || d2) {
21389
+ if (w2 || d) {
21390
21390
  pError = true;
21391
21391
  }
21392
21392
  if (intVal === 0) {
@@ -21395,22 +21395,22 @@ var require_parse_srcset = __commonJS((exports, module) => {
21395
21395
  w2 = intVal;
21396
21396
  }
21397
21397
  } else if (regexFloatingPoint.test(value) && lastChar === "x") {
21398
- if (w2 || d2 || h) {
21398
+ if (w2 || d || h2) {
21399
21399
  pError = true;
21400
21400
  }
21401
21401
  if (floatVal < 0) {
21402
21402
  pError = true;
21403
21403
  } else {
21404
- d2 = floatVal;
21404
+ d = floatVal;
21405
21405
  }
21406
21406
  } else if (regexNonNegativeInteger.test(value) && lastChar === "h") {
21407
- if (h || d2) {
21407
+ if (h2 || d) {
21408
21408
  pError = true;
21409
21409
  }
21410
21410
  if (intVal === 0) {
21411
21411
  pError = true;
21412
21412
  } else {
21413
- h = intVal;
21413
+ h2 = intVal;
21414
21414
  }
21415
21415
  } else {
21416
21416
  pError = true;
@@ -21421,11 +21421,11 @@ var require_parse_srcset = __commonJS((exports, module) => {
21421
21421
  if (w2) {
21422
21422
  candidate.w = w2;
21423
21423
  }
21424
- if (d2) {
21425
- candidate.d = d2;
21424
+ if (d) {
21425
+ candidate.d = d;
21426
21426
  }
21427
- if (h) {
21428
- candidate.h = h;
21427
+ if (h2) {
21428
+ candidate.h = h2;
21429
21429
  }
21430
21430
  candidates.push(candidate);
21431
21431
  } else if (console && console.log) {
@@ -31365,7 +31365,7 @@ function G(u) {
31365
31365
  T = u;
31366
31366
  }
31367
31367
  var I = { exec: () => null };
31368
- function d(u, e = "") {
31368
+ function h(u, e = "") {
31369
31369
  let t = typeof u == "string" ? u : u.source, n = { replace: (r, i) => {
31370
31370
  let s = typeof i == "string" ? i : i.source;
31371
31371
  return s = s.replace(m.caret, "$1"), t = t.replace(r, s), n;
@@ -31380,22 +31380,22 @@ var E = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/;
31380
31380
  var Oe = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/;
31381
31381
  var F = /(?:[*+-]|\d{1,9}[.)])/;
31382
31382
  var ie = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/;
31383
- var oe = d(ie).replace(/bull/g, F).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/\|table/g, "").getRegex();
31384
- var we = d(ie).replace(/bull/g, F).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex();
31383
+ var oe = h(ie).replace(/bull/g, F).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/\|table/g, "").getRegex();
31384
+ var we = h(ie).replace(/bull/g, F).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex();
31385
31385
  var j = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/;
31386
31386
  var ye = /^[^\n]+/;
31387
31387
  var Q = /(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/;
31388
- var Pe = d(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", Q).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex();
31389
- var Se = d(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g, F).getRegex();
31388
+ var Pe = h(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", Q).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex();
31389
+ var Se = h(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g, F).getRegex();
31390
31390
  var v = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul";
31391
31391
  var U = /<!--(?:-?>|[\s\S]*?(?:-->|$))/;
31392
- var $e = d("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))", "i").replace("comment", U).replace("tag", v).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();
31393
- var ae = d(j).replace("hr", E).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", v).getRegex();
31394
- var _e = d(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", ae).getRegex();
31392
+ var $e = h("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$))", "i").replace("comment", U).replace("tag", v).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();
31393
+ var ae = h(j).replace("hr", E).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", v).getRegex();
31394
+ var _e = h(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", ae).getRegex();
31395
31395
  var K = { blockquote: _e, code: Re, def: Pe, fences: Te, heading: Oe, hr: E, html: $e, lheading: oe, list: Se, newline: be, paragraph: ae, table: I, text: ye };
31396
- var re = d("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", E).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3}\t)[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", v).getRegex();
31397
- var Le = { ...K, lheading: we, table: re, paragraph: d(j).replace("hr", E).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", re).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", v).getRegex() };
31398
- var Me = { ...K, html: d(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment", U).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(), def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, heading: /^(#{1,6})(.*)(?:\n+|$)/, fences: I, lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/, paragraph: d(j).replace("hr", E).replace("heading", ` *#{1,6} *[^
31396
+ var re = h("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", E).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3}\t)[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", v).getRegex();
31397
+ var Le = { ...K, lheading: we, table: re, paragraph: h(j).replace("hr", E).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", re).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", v).getRegex() };
31398
+ var Me = { ...K, html: h(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment", U).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(), def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, heading: /^(#{1,6})(.*)(?:\n+|$)/, fences: I, lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/, paragraph: h(j).replace("hr", E).replace("heading", ` *#{1,6} *[^
31399
31399
  ]`).replace("lheading", oe).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex() };
31400
31400
  var ze = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/;
31401
31401
  var Ae = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/;
@@ -31404,32 +31404,32 @@ var Ie = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}
31404
31404
  var D = /[\p{P}\p{S}]/u;
31405
31405
  var W = /[\s\p{P}\p{S}]/u;
31406
31406
  var ue = /[^\s\p{P}\p{S}]/u;
31407
- var Ee = d(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, W).getRegex();
31407
+ var Ee = h(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, W).getRegex();
31408
31408
  var pe = /(?!~)[\p{P}\p{S}]/u;
31409
31409
  var Ce = /(?!~)[\s\p{P}\p{S}]/u;
31410
31410
  var Be = /(?:[^\s\p{P}\p{S}]|~)/u;
31411
- var qe = /\[(?:[^\[\]`]|`[^`]*?`)*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)|`[^`]*?`|<(?! )[^<>]*?>/g;
31411
+ var qe = h(/link|code|html/, "g").replace("link", /\[(?:[^\[\]`]|(?<!`)(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("code", /(?<!`)(?<b>`+)[^`]+\k<b>(?!`)/).replace("html", /<(?! )[^<>]*?>/).getRegex();
31412
31412
  var ce = /^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/;
31413
- var ve = d(ce, "u").replace(/punct/g, D).getRegex();
31414
- var De = d(ce, "u").replace(/punct/g, pe).getRegex();
31413
+ var ve = h(ce, "u").replace(/punct/g, D).getRegex();
31414
+ var De = h(ce, "u").replace(/punct/g, pe).getRegex();
31415
31415
  var he = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)";
31416
- var He = d(he, "gu").replace(/notPunctSpace/g, ue).replace(/punctSpace/g, W).replace(/punct/g, D).getRegex();
31417
- var Ze = d(he, "gu").replace(/notPunctSpace/g, Be).replace(/punctSpace/g, Ce).replace(/punct/g, pe).getRegex();
31418
- var Ge = d("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", "gu").replace(/notPunctSpace/g, ue).replace(/punctSpace/g, W).replace(/punct/g, D).getRegex();
31419
- var Ne = d(/\\(punct)/, "gu").replace(/punct/g, D).getRegex();
31420
- var Fe = d(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex();
31421
- var je = d(U).replace("(?:-->|$)", "-->").getRegex();
31422
- var Qe = d("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment", je).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex();
31416
+ var He = h(he, "gu").replace(/notPunctSpace/g, ue).replace(/punctSpace/g, W).replace(/punct/g, D).getRegex();
31417
+ var Ze = h(he, "gu").replace(/notPunctSpace/g, Be).replace(/punctSpace/g, Ce).replace(/punct/g, pe).getRegex();
31418
+ var Ge = h("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", "gu").replace(/notPunctSpace/g, ue).replace(/punctSpace/g, W).replace(/punct/g, D).getRegex();
31419
+ var Ne = h(/\\(punct)/, "gu").replace(/punct/g, D).getRegex();
31420
+ var Fe = h(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex();
31421
+ var je = h(U).replace("(?:-->|$)", "-->").getRegex();
31422
+ var Qe = h("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment", je).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex();
31423
31423
  var q = /(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/;
31424
- var Ue = d(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label", q).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex();
31425
- var de = d(/^!?\[(label)\]\[(ref)\]/).replace("label", q).replace("ref", Q).getRegex();
31426
- var ke = d(/^!?\[(ref)\](?:\[\])?/).replace("ref", Q).getRegex();
31427
- var Ke = d("reflink|nolink(?!\\()", "g").replace("reflink", de).replace("nolink", ke).getRegex();
31424
+ var Ue = h(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label", q).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex();
31425
+ var de = h(/^!?\[(label)\]\[(ref)\]/).replace("label", q).replace("ref", Q).getRegex();
31426
+ var ke = h(/^!?\[(ref)\](?:\[\])?/).replace("ref", Q).getRegex();
31427
+ var Ke = h("reflink|nolink(?!\\()", "g").replace("reflink", de).replace("nolink", ke).getRegex();
31428
31428
  var se = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/;
31429
31429
  var X = { _backpedal: I, anyPunctuation: Ne, autolink: Fe, blockSkip: qe, br: le, code: Ae, del: I, emStrongLDelim: ve, emStrongRDelimAst: He, emStrongRDelimUnd: Ge, escape: ze, link: Ue, nolink: ke, punctuation: Ee, reflink: de, reflinkSearch: Ke, tag: Qe, text: Ie, url: I };
31430
- var We = { ...X, link: d(/^!?\[(label)\]\((.*?)\)/).replace("label", q).getRegex(), reflink: d(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", q).getRegex() };
31431
- var N = { ...X, emStrongRDelimAst: Ze, emStrongLDelim: De, url: d(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol", se).replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(), _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/, del: /^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/, text: d(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol", se).getRegex() };
31432
- var Xe = { ...N, br: d(le).replace("{2,}", "*").getRegex(), text: d(N.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex() };
31430
+ var We = { ...X, link: h(/^!?\[(label)\]\((.*?)\)/).replace("label", q).getRegex(), reflink: h(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", q).getRegex() };
31431
+ var N = { ...X, emStrongRDelimAst: Ze, emStrongLDelim: De, url: h(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol", se).replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(), _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/, del: /^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/, text: h(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol", se).getRegex() };
31432
+ var Xe = { ...N, br: h(le).replace("{2,}", "*").getRegex(), text: h(N.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex() };
31433
31433
  var C = { normal: K, gfm: Le, pedantic: Me };
31434
31434
  var M = { normal: X, gfm: N, breaks: Xe, pedantic: We };
31435
31435
  var Je = { "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;" };
@@ -31586,20 +31586,20 @@ ${p}` : p;
31586
31586
  let g = this.lexer.state.top;
31587
31587
  if (this.lexer.state.top = true, this.lexer.blockTokens(p, s, true), this.lexer.state.top = g, n.length === 0)
31588
31588
  break;
31589
- let h = s.at(-1);
31590
- if (h?.type === "code")
31589
+ let d = s.at(-1);
31590
+ if (d?.type === "code")
31591
31591
  break;
31592
- if (h?.type === "blockquote") {
31593
- let R = h, f = R.raw + `
31592
+ if (d?.type === "blockquote") {
31593
+ let R = d, f = R.raw + `
31594
31594
  ` + n.join(`
31595
31595
  `), O = this.blockquote(f);
31596
31596
  s[s.length - 1] = O, r = r.substring(0, r.length - R.raw.length) + O.raw, i = i.substring(0, i.length - R.text.length) + O.text;
31597
31597
  break;
31598
- } else if (h?.type === "list") {
31599
- let R = h, f = R.raw + `
31598
+ } else if (d?.type === "list") {
31599
+ let R = d, f = R.raw + `
31600
31600
  ` + n.join(`
31601
31601
  `), O = this.list(f);
31602
- s[s.length - 1] = O, r = r.substring(0, r.length - h.raw.length) + O.raw, i = i.substring(0, i.length - R.raw.length) + O.raw, n = f.substring(s.at(-1).raw.length).split(`
31602
+ s[s.length - 1] = O, r = r.substring(0, r.length - d.raw.length) + O.raw, i = i.substring(0, i.length - R.raw.length) + O.raw, n = f.substring(s.at(-1).raw.length).split(`
31603
31603
  `);
31604
31604
  continue;
31605
31605
  }
@@ -31619,26 +31619,26 @@ ${p}` : p;
31619
31619
  break;
31620
31620
  c = t[0], e = e.substring(c.length);
31621
31621
  let g = t[2].split(`
31622
- `, 1)[0].replace(this.rules.other.listReplaceTabs, (H) => " ".repeat(3 * H.length)), h = e.split(`
31622
+ `, 1)[0].replace(this.rules.other.listReplaceTabs, (H) => " ".repeat(3 * H.length)), d = e.split(`
31623
31623
  `, 1)[0], R = !g.trim(), f = 0;
31624
- if (this.options.pedantic ? (f = 2, p = g.trimStart()) : R ? f = t[1].length + 1 : (f = t[2].search(this.rules.other.nonSpaceChar), f = f > 4 ? 1 : f, p = g.slice(f), f += t[1].length), R && this.rules.other.blankLine.test(h) && (c += h + `
31625
- `, e = e.substring(h.length + 1), l = true), !l) {
31624
+ if (this.options.pedantic ? (f = 2, p = g.trimStart()) : R ? f = t[1].length + 1 : (f = t[2].search(this.rules.other.nonSpaceChar), f = f > 4 ? 1 : f, p = g.slice(f), f += t[1].length), R && this.rules.other.blankLine.test(d) && (c += d + `
31625
+ `, e = e.substring(d.length + 1), l = true), !l) {
31626
31626
  let H = this.rules.other.nextBulletRegex(f), ee = this.rules.other.hrRegex(f), te = this.rules.other.fencesBeginRegex(f), ne = this.rules.other.headingBeginRegex(f), xe = this.rules.other.htmlBeginRegex(f);
31627
31627
  for (;e; ) {
31628
31628
  let Z = e.split(`
31629
31629
  `, 1)[0], A;
31630
- if (h = Z, this.options.pedantic ? (h = h.replace(this.rules.other.listReplaceNesting, " "), A = h) : A = h.replace(this.rules.other.tabCharGlobal, " "), te.test(h) || ne.test(h) || xe.test(h) || H.test(h) || ee.test(h))
31630
+ if (d = Z, this.options.pedantic ? (d = d.replace(this.rules.other.listReplaceNesting, " "), A = d) : A = d.replace(this.rules.other.tabCharGlobal, " "), te.test(d) || ne.test(d) || xe.test(d) || H.test(d) || ee.test(d))
31631
31631
  break;
31632
- if (A.search(this.rules.other.nonSpaceChar) >= f || !h.trim())
31632
+ if (A.search(this.rules.other.nonSpaceChar) >= f || !d.trim())
31633
31633
  p += `
31634
31634
  ` + A.slice(f);
31635
31635
  else {
31636
31636
  if (R || g.replace(this.rules.other.tabCharGlobal, " ").search(this.rules.other.nonSpaceChar) >= 4 || te.test(g) || ne.test(g) || ee.test(g))
31637
31637
  break;
31638
31638
  p += `
31639
- ` + h;
31639
+ ` + d;
31640
31640
  }
31641
- !R && !h.trim() && (R = true), c += Z + `
31641
+ !R && !d.trim() && (R = true), c += Z + `
31642
31642
  `, e = e.substring(Z.length + 1), g = A.slice(f);
31643
31643
  }
31644
31644
  }
@@ -31777,13 +31777,13 @@ ${p}` : p;
31777
31777
  if (l -= a, l > 0)
31778
31778
  continue;
31779
31779
  a = Math.min(a, a + l + c);
31780
- let g = [...r[0]][0].length, h = e.slice(0, s + r.index + g + a);
31780
+ let g = [...r[0]][0].length, d = e.slice(0, s + r.index + g + a);
31781
31781
  if (Math.min(s, a) % 2) {
31782
- let f = h.slice(1, -1);
31783
- return { type: "em", raw: h, text: f, tokens: this.lexer.inlineTokens(f) };
31782
+ let f = d.slice(1, -1);
31783
+ return { type: "em", raw: d, text: f, tokens: this.lexer.inlineTokens(f) };
31784
31784
  }
31785
- let R = h.slice(2, -2);
31786
- return { type: "strong", raw: h, text: R, tokens: this.lexer.inlineTokens(R) };
31785
+ let R = d.slice(2, -2);
31786
+ return { type: "strong", raw: d, text: R, tokens: this.lexer.inlineTokens(R) };
31787
31787
  }
31788
31788
  }
31789
31789
  }
@@ -32534,8 +32534,8 @@ var B = class {
32534
32534
  return (async () => {
32535
32535
  let a = s.hooks ? await s.hooks.preprocess(n) : n, c = await (s.hooks ? await s.hooks.provideLexer() : e ? x.lex : x.lexInline)(a, s), p = s.hooks ? await s.hooks.processAllTokens(c) : c;
32536
32536
  s.walkTokens && await Promise.all(this.walkTokens(p, s.walkTokens));
32537
- let h = await (s.hooks ? await s.hooks.provideParser() : e ? b.parse : b.parseInline)(p, s);
32538
- return s.hooks ? await s.hooks.postprocess(h) : h;
32537
+ let d = await (s.hooks ? await s.hooks.provideParser() : e ? b.parse : b.parseInline)(p, s);
32538
+ return s.hooks ? await s.hooks.postprocess(d) : d;
32539
32539
  })().catch(o);
32540
32540
  try {
32541
32541
  s.hooks && (n = s.hooks.preprocess(n));
@@ -33045,7 +33045,7 @@ class SiteGenerator {
33045
33045
  const pstDate = new Date(date).toLocaleString("en-US", {
33046
33046
  timeZone: "America/Los_Angeles"
33047
33047
  });
33048
- const d2 = new Date(pstDate);
33048
+ const d = new Date(pstDate);
33049
33049
  const months = [
33050
33050
  "January",
33051
33051
  "February",
@@ -33061,15 +33061,15 @@ class SiteGenerator {
33061
33061
  "December"
33062
33062
  ];
33063
33063
  if (format === "YYYY") {
33064
- return d2.getFullYear();
33064
+ return d.getFullYear();
33065
33065
  } else if (format === "MMMM D, YYYY") {
33066
- return `${months[d2.getMonth()]} ${d2.getDate()}, ${d2.getFullYear()}`;
33066
+ return `${months[d.getMonth()]} ${d.getDate()}, ${d.getFullYear()}`;
33067
33067
  } else if (format === "MMMM D, YYYY h:mm A") {
33068
- const hours = d2.getHours() % 12 || 12;
33069
- const ampm = d2.getHours() >= 12 ? "PM" : "AM";
33070
- return `${months[d2.getMonth()]} ${d2.getDate()}, ${d2.getFullYear()} @ ${hours} ${ampm}`;
33068
+ const hours = d.getHours() % 12 || 12;
33069
+ const ampm = d.getHours() >= 12 ? "PM" : "AM";
33070
+ return `${months[d.getMonth()]} ${d.getDate()}, ${d.getFullYear()} @ ${hours} ${ampm}`;
33071
33071
  } else {
33072
- return d2.toLocaleDateString("en-US", {
33072
+ return d.toLocaleDateString("en-US", {
33073
33073
  timeZone: "America/Los_Angeles"
33074
33074
  });
33075
33075
  }
@@ -33600,16 +33600,16 @@ class S3Uploader {
33600
33600
  try {
33601
33601
  console.log(`[S3] Checking if directory exists: ${imagesDir}`);
33602
33602
  try {
33603
- const glob2 = new Bun.Glob("*");
33604
- let hasFiles = false;
33603
+ const glob2 = new Bun.Glob("**/*");
33604
+ let hasContent = false;
33605
33605
  for await (const file of glob2.scan({
33606
33606
  cwd: imagesDir,
33607
33607
  absolute: false
33608
33608
  })) {
33609
- hasFiles = true;
33609
+ hasContent = true;
33610
33610
  break;
33611
33611
  }
33612
- if (!hasFiles) {
33612
+ if (!hasContent) {
33613
33613
  console.warn(`Directory exists but is empty: ${imagesDir}`);
33614
33614
  }
33615
33615
  console.log(`[S3] Directory exists and is accessible`);
@@ -33622,7 +33622,7 @@ class S3Uploader {
33622
33622
  const files = [];
33623
33623
  console.log(`[S3] Scanning directory ${imagesDir} for image files...`);
33624
33624
  try {
33625
- const dirGlob = new Bun.Glob("*");
33625
+ const dirGlob = new Bun.Glob("**/*");
33626
33626
  const allFiles = [];
33627
33627
  for await (const file of dirGlob.scan({
33628
33628
  cwd: imagesDir,
@@ -33630,7 +33630,7 @@ class S3Uploader {
33630
33630
  })) {
33631
33631
  allFiles.push(file);
33632
33632
  }
33633
- console.log(`[S3] Files in directory: ${allFiles.join(", ") || "none"}`);
33633
+ console.log(`[S3] Files in directory (including subdirs): ${allFiles.length > 0 ? allFiles.slice(0, 10).join(", ") + (allFiles.length > 10 ? "..." : "") : "none"}`);
33634
33634
  } catch (err) {
33635
33635
  console.error(`[S3] Error reading directory:`, err);
33636
33636
  }
@@ -33651,16 +33651,16 @@ class S3Uploader {
33651
33651
  try {
33652
33652
  const imagePath = path6.join(imagesDir, imageFile);
33653
33653
  const filename = path6.basename(imagePath);
33654
- console.log(`[S3] Uploading image ${imagePath} to S3 bucket ${this.s3Config.bucket}/${filename}...`);
33654
+ console.log(`[S3] Uploading image ${imagePath} to S3 bucket ${this.s3Config.bucket}/${imageFile}...`);
33655
33655
  const file = Bun.file(imagePath);
33656
33656
  const contentType = file.type;
33657
33657
  if (process.env.BUNKI_DRY_RUN === "true") {
33658
- console.log(`[S3] Dry run: would upload ${filename} with content type ${contentType}`);
33658
+ console.log(`[S3] Dry run: would upload ${imageFile} with content type ${contentType}`);
33659
33659
  } else {
33660
- const s3File = this.client.file(filename);
33660
+ const s3File = this.client.file(imageFile);
33661
33661
  await s3File.write(file);
33662
33662
  }
33663
- const imageUrl = this.getPublicUrl(filename);
33663
+ const imageUrl = this.getPublicUrl(imageFile);
33664
33664
  console.log(`[S3] Image uploaded to ${imageUrl}`);
33665
33665
  imageUrls[imageFile] = imageUrl;
33666
33666
  } catch (error) {
package/dist/index.js CHANGED
@@ -6547,24 +6547,24 @@ var require_lib = __commonJS((exports) => {
6547
6547
  // node_modules/domhandler/lib/node.js
6548
6548
  var require_node = __commonJS((exports) => {
6549
6549
  var __extends = exports && exports.__extends || function() {
6550
- var extendStatics = function(d2, b2) {
6551
- extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d3, b3) {
6552
- d3.__proto__ = b3;
6553
- } || function(d3, b3) {
6550
+ var extendStatics = function(d, b2) {
6551
+ extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b3) {
6552
+ d2.__proto__ = b3;
6553
+ } || function(d2, b3) {
6554
6554
  for (var p in b3)
6555
6555
  if (Object.prototype.hasOwnProperty.call(b3, p))
6556
- d3[p] = b3[p];
6556
+ d2[p] = b3[p];
6557
6557
  };
6558
- return extendStatics(d2, b2);
6558
+ return extendStatics(d, b2);
6559
6559
  };
6560
- return function(d2, b2) {
6560
+ return function(d, b2) {
6561
6561
  if (typeof b2 !== "function" && b2 !== null)
6562
6562
  throw new TypeError("Class extends value " + String(b2) + " is not a constructor or null");
6563
- extendStatics(d2, b2);
6563
+ extendStatics(d, b2);
6564
6564
  function __() {
6565
- this.constructor = d2;
6565
+ this.constructor = d;
6566
6566
  }
6567
- d2.prototype = b2 === null ? Object.create(b2) : (__.prototype = b2.prototype, new __);
6567
+ d.prototype = b2 === null ? Object.create(b2) : (__.prototype = b2.prototype, new __);
6568
6568
  };
6569
6569
  }();
6570
6570
  var __assign = exports && exports.__assign || function() {
@@ -8669,7 +8669,7 @@ var require_parse_srcset = __commonJS((exports, module) => {
8669
8669
  }
8670
8670
  }
8671
8671
  function parseDescriptors() {
8672
- var pError = false, w2, d2, h, i, candidate = {}, desc, lastChar, value, intVal, floatVal;
8672
+ var pError = false, w2, d, h2, i, candidate = {}, desc, lastChar, value, intVal, floatVal;
8673
8673
  for (i = 0;i < descriptors.length; i++) {
8674
8674
  desc = descriptors[i];
8675
8675
  lastChar = desc[desc.length - 1];
@@ -8677,7 +8677,7 @@ var require_parse_srcset = __commonJS((exports, module) => {
8677
8677
  intVal = parseInt(value, 10);
8678
8678
  floatVal = parseFloat(value);
8679
8679
  if (regexNonNegativeInteger.test(value) && lastChar === "w") {
8680
- if (w2 || d2) {
8680
+ if (w2 || d) {
8681
8681
  pError = true;
8682
8682
  }
8683
8683
  if (intVal === 0) {
@@ -8686,22 +8686,22 @@ var require_parse_srcset = __commonJS((exports, module) => {
8686
8686
  w2 = intVal;
8687
8687
  }
8688
8688
  } else if (regexFloatingPoint.test(value) && lastChar === "x") {
8689
- if (w2 || d2 || h) {
8689
+ if (w2 || d || h2) {
8690
8690
  pError = true;
8691
8691
  }
8692
8692
  if (floatVal < 0) {
8693
8693
  pError = true;
8694
8694
  } else {
8695
- d2 = floatVal;
8695
+ d = floatVal;
8696
8696
  }
8697
8697
  } else if (regexNonNegativeInteger.test(value) && lastChar === "h") {
8698
- if (h || d2) {
8698
+ if (h2 || d) {
8699
8699
  pError = true;
8700
8700
  }
8701
8701
  if (intVal === 0) {
8702
8702
  pError = true;
8703
8703
  } else {
8704
- h = intVal;
8704
+ h2 = intVal;
8705
8705
  }
8706
8706
  } else {
8707
8707
  pError = true;
@@ -8712,11 +8712,11 @@ var require_parse_srcset = __commonJS((exports, module) => {
8712
8712
  if (w2) {
8713
8713
  candidate.w = w2;
8714
8714
  }
8715
- if (d2) {
8716
- candidate.d = d2;
8715
+ if (d) {
8716
+ candidate.d = d;
8717
8717
  }
8718
- if (h) {
8719
- candidate.h = h;
8718
+ if (h2) {
8719
+ candidate.h = h2;
8720
8720
  }
8721
8721
  candidates.push(candidate);
8722
8722
  } else if (console && console.log) {
@@ -29010,7 +29010,7 @@ function G(u) {
29010
29010
  T = u;
29011
29011
  }
29012
29012
  var I = { exec: () => null };
29013
- function d(u, e = "") {
29013
+ function h(u, e = "") {
29014
29014
  let t = typeof u == "string" ? u : u.source, n = { replace: (r, i) => {
29015
29015
  let s = typeof i == "string" ? i : i.source;
29016
29016
  return s = s.replace(m.caret, "$1"), t = t.replace(r, s), n;
@@ -29025,22 +29025,22 @@ var E = /^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/;
29025
29025
  var Oe = /^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/;
29026
29026
  var F = /(?:[*+-]|\d{1,9}[.)])/;
29027
29027
  var ie = /^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/;
29028
- var oe = d(ie).replace(/bull/g, F).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/\|table/g, "").getRegex();
29029
- var we = d(ie).replace(/bull/g, F).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex();
29028
+ var oe = h(ie).replace(/bull/g, F).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/\|table/g, "").getRegex();
29029
+ var we = h(ie).replace(/bull/g, F).replace(/blockCode/g, /(?: {4}| {0,3}\t)/).replace(/fences/g, / {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g, / {0,3}>/).replace(/heading/g, / {0,3}#{1,6}/).replace(/html/g, / {0,3}<[^\n>]+>\n/).replace(/table/g, / {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex();
29030
29030
  var j = /^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/;
29031
29031
  var ye = /^[^\n]+/;
29032
29032
  var Q = /(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/;
29033
- var Pe = d(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", Q).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex();
29034
- var Se = d(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g, F).getRegex();
29033
+ var Pe = h(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label", Q).replace("title", /(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex();
29034
+ var Se = h(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g, F).getRegex();
29035
29035
  var v = "address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul";
29036
29036
  var U = /<!--(?:-?>|[\s\S]*?(?:-->|$))/;
29037
- var $e = d("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))", "i").replace("comment", U).replace("tag", v).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();
29038
- var ae = d(j).replace("hr", E).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", v).getRegex();
29039
- var _e = d(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", ae).getRegex();
29037
+ var $e = h("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$))", "i").replace("comment", U).replace("tag", v).replace("attribute", / +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex();
29038
+ var ae = h(j).replace("hr", E).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("|table", "").replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", v).getRegex();
29039
+ var _e = h(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph", ae).getRegex();
29040
29040
  var K = { blockquote: _e, code: Re, def: Pe, fences: Te, heading: Oe, hr: E, html: $e, lheading: oe, list: Se, newline: be, paragraph: ae, table: I, text: ye };
29041
- var re = d("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", E).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3}\t)[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", v).getRegex();
29042
- var Le = { ...K, lheading: we, table: re, paragraph: d(j).replace("hr", E).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", re).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", v).getRegex() };
29043
- var Me = { ...K, html: d(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment", U).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(), def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, heading: /^(#{1,6})(.*)(?:\n+|$)/, fences: I, lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/, paragraph: d(j).replace("hr", E).replace("heading", ` *#{1,6} *[^
29041
+ var re = h("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr", E).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("blockquote", " {0,3}>").replace("code", "(?: {4}| {0,3}\t)[^\\n]").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", v).getRegex();
29042
+ var Le = { ...K, lheading: we, table: re, paragraph: h(j).replace("hr", E).replace("heading", " {0,3}#{1,6}(?:\\s|$)").replace("|lheading", "").replace("table", re).replace("blockquote", " {0,3}>").replace("fences", " {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list", " {0,3}(?:[*+-]|1[.)]) ").replace("html", "</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag", v).getRegex() };
29043
+ var Me = { ...K, html: h(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment", U).replace(/tag/g, "(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(), def: /^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/, heading: /^(#{1,6})(.*)(?:\n+|$)/, fences: I, lheading: /^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/, paragraph: h(j).replace("hr", E).replace("heading", ` *#{1,6} *[^
29044
29044
  ]`).replace("lheading", oe).replace("|table", "").replace("blockquote", " {0,3}>").replace("|fences", "").replace("|list", "").replace("|html", "").replace("|tag", "").getRegex() };
29045
29045
  var ze = /^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/;
29046
29046
  var Ae = /^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/;
@@ -29049,32 +29049,32 @@ var Ie = /^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}
29049
29049
  var D = /[\p{P}\p{S}]/u;
29050
29050
  var W = /[\s\p{P}\p{S}]/u;
29051
29051
  var ue = /[^\s\p{P}\p{S}]/u;
29052
- var Ee = d(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, W).getRegex();
29052
+ var Ee = h(/^((?![*_])punctSpace)/, "u").replace(/punctSpace/g, W).getRegex();
29053
29053
  var pe = /(?!~)[\p{P}\p{S}]/u;
29054
29054
  var Ce = /(?!~)[\s\p{P}\p{S}]/u;
29055
29055
  var Be = /(?:[^\s\p{P}\p{S}]|~)/u;
29056
- var qe = /\[(?:[^\[\]`]|`[^`]*?`)*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)|`[^`]*?`|<(?! )[^<>]*?>/g;
29056
+ var qe = h(/link|code|html/, "g").replace("link", /\[(?:[^\[\]`]|(?<!`)(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("code", /(?<!`)(?<b>`+)[^`]+\k<b>(?!`)/).replace("html", /<(?! )[^<>]*?>/).getRegex();
29057
29057
  var ce = /^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/;
29058
- var ve = d(ce, "u").replace(/punct/g, D).getRegex();
29059
- var De = d(ce, "u").replace(/punct/g, pe).getRegex();
29058
+ var ve = h(ce, "u").replace(/punct/g, D).getRegex();
29059
+ var De = h(ce, "u").replace(/punct/g, pe).getRegex();
29060
29060
  var he = "^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)";
29061
- var He = d(he, "gu").replace(/notPunctSpace/g, ue).replace(/punctSpace/g, W).replace(/punct/g, D).getRegex();
29062
- var Ze = d(he, "gu").replace(/notPunctSpace/g, Be).replace(/punctSpace/g, Ce).replace(/punct/g, pe).getRegex();
29063
- var Ge = d("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", "gu").replace(/notPunctSpace/g, ue).replace(/punctSpace/g, W).replace(/punct/g, D).getRegex();
29064
- var Ne = d(/\\(punct)/, "gu").replace(/punct/g, D).getRegex();
29065
- var Fe = d(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex();
29066
- var je = d(U).replace("(?:-->|$)", "-->").getRegex();
29067
- var Qe = d("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment", je).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex();
29061
+ var He = h(he, "gu").replace(/notPunctSpace/g, ue).replace(/punctSpace/g, W).replace(/punct/g, D).getRegex();
29062
+ var Ze = h(he, "gu").replace(/notPunctSpace/g, Be).replace(/punctSpace/g, Ce).replace(/punct/g, pe).getRegex();
29063
+ var Ge = h("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)", "gu").replace(/notPunctSpace/g, ue).replace(/punctSpace/g, W).replace(/punct/g, D).getRegex();
29064
+ var Ne = h(/\\(punct)/, "gu").replace(/punct/g, D).getRegex();
29065
+ var Fe = h(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme", /[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email", /[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex();
29066
+ var je = h(U).replace("(?:-->|$)", "-->").getRegex();
29067
+ var Qe = h("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment", je).replace("attribute", /\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex();
29068
29068
  var q = /(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/;
29069
- var Ue = d(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label", q).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex();
29070
- var de = d(/^!?\[(label)\]\[(ref)\]/).replace("label", q).replace("ref", Q).getRegex();
29071
- var ke = d(/^!?\[(ref)\](?:\[\])?/).replace("ref", Q).getRegex();
29072
- var Ke = d("reflink|nolink(?!\\()", "g").replace("reflink", de).replace("nolink", ke).getRegex();
29069
+ var Ue = h(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label", q).replace("href", /<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title", /"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex();
29070
+ var de = h(/^!?\[(label)\]\[(ref)\]/).replace("label", q).replace("ref", Q).getRegex();
29071
+ var ke = h(/^!?\[(ref)\](?:\[\])?/).replace("ref", Q).getRegex();
29072
+ var Ke = h("reflink|nolink(?!\\()", "g").replace("reflink", de).replace("nolink", ke).getRegex();
29073
29073
  var se = /[hH][tT][tT][pP][sS]?|[fF][tT][pP]/;
29074
29074
  var X = { _backpedal: I, anyPunctuation: Ne, autolink: Fe, blockSkip: qe, br: le, code: Ae, del: I, emStrongLDelim: ve, emStrongRDelimAst: He, emStrongRDelimUnd: Ge, escape: ze, link: Ue, nolink: ke, punctuation: Ee, reflink: de, reflinkSearch: Ke, tag: Qe, text: Ie, url: I };
29075
- var We = { ...X, link: d(/^!?\[(label)\]\((.*?)\)/).replace("label", q).getRegex(), reflink: d(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", q).getRegex() };
29076
- var N = { ...X, emStrongRDelimAst: Ze, emStrongLDelim: De, url: d(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol", se).replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(), _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/, del: /^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/, text: d(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol", se).getRegex() };
29077
- var Xe = { ...N, br: d(le).replace("{2,}", "*").getRegex(), text: d(N.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex() };
29075
+ var We = { ...X, link: h(/^!?\[(label)\]\((.*?)\)/).replace("label", q).getRegex(), reflink: h(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label", q).getRegex() };
29076
+ var N = { ...X, emStrongRDelimAst: Ze, emStrongLDelim: De, url: h(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol", se).replace("email", /[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(), _backpedal: /(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/, del: /^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/, text: h(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol", se).getRegex() };
29077
+ var Xe = { ...N, br: h(le).replace("{2,}", "*").getRegex(), text: h(N.text).replace("\\b_", "\\b_| {2,}\\n").replace(/\{2,\}/g, "*").getRegex() };
29078
29078
  var C = { normal: K, gfm: Le, pedantic: Me };
29079
29079
  var M = { normal: X, gfm: N, breaks: Xe, pedantic: We };
29080
29080
  var Je = { "&": "&amp;", "<": "&lt;", ">": "&gt;", '"': "&quot;", "'": "&#39;" };
@@ -29231,20 +29231,20 @@ ${p}` : p;
29231
29231
  let g = this.lexer.state.top;
29232
29232
  if (this.lexer.state.top = true, this.lexer.blockTokens(p, s, true), this.lexer.state.top = g, n.length === 0)
29233
29233
  break;
29234
- let h = s.at(-1);
29235
- if (h?.type === "code")
29234
+ let d = s.at(-1);
29235
+ if (d?.type === "code")
29236
29236
  break;
29237
- if (h?.type === "blockquote") {
29238
- let R = h, f = R.raw + `
29237
+ if (d?.type === "blockquote") {
29238
+ let R = d, f = R.raw + `
29239
29239
  ` + n.join(`
29240
29240
  `), O = this.blockquote(f);
29241
29241
  s[s.length - 1] = O, r = r.substring(0, r.length - R.raw.length) + O.raw, i = i.substring(0, i.length - R.text.length) + O.text;
29242
29242
  break;
29243
- } else if (h?.type === "list") {
29244
- let R = h, f = R.raw + `
29243
+ } else if (d?.type === "list") {
29244
+ let R = d, f = R.raw + `
29245
29245
  ` + n.join(`
29246
29246
  `), O = this.list(f);
29247
- s[s.length - 1] = O, r = r.substring(0, r.length - h.raw.length) + O.raw, i = i.substring(0, i.length - R.raw.length) + O.raw, n = f.substring(s.at(-1).raw.length).split(`
29247
+ s[s.length - 1] = O, r = r.substring(0, r.length - d.raw.length) + O.raw, i = i.substring(0, i.length - R.raw.length) + O.raw, n = f.substring(s.at(-1).raw.length).split(`
29248
29248
  `);
29249
29249
  continue;
29250
29250
  }
@@ -29264,26 +29264,26 @@ ${p}` : p;
29264
29264
  break;
29265
29265
  c = t[0], e = e.substring(c.length);
29266
29266
  let g = t[2].split(`
29267
- `, 1)[0].replace(this.rules.other.listReplaceTabs, (H) => " ".repeat(3 * H.length)), h = e.split(`
29267
+ `, 1)[0].replace(this.rules.other.listReplaceTabs, (H) => " ".repeat(3 * H.length)), d = e.split(`
29268
29268
  `, 1)[0], R = !g.trim(), f = 0;
29269
- if (this.options.pedantic ? (f = 2, p = g.trimStart()) : R ? f = t[1].length + 1 : (f = t[2].search(this.rules.other.nonSpaceChar), f = f > 4 ? 1 : f, p = g.slice(f), f += t[1].length), R && this.rules.other.blankLine.test(h) && (c += h + `
29270
- `, e = e.substring(h.length + 1), l = true), !l) {
29269
+ if (this.options.pedantic ? (f = 2, p = g.trimStart()) : R ? f = t[1].length + 1 : (f = t[2].search(this.rules.other.nonSpaceChar), f = f > 4 ? 1 : f, p = g.slice(f), f += t[1].length), R && this.rules.other.blankLine.test(d) && (c += d + `
29270
+ `, e = e.substring(d.length + 1), l = true), !l) {
29271
29271
  let H = this.rules.other.nextBulletRegex(f), ee = this.rules.other.hrRegex(f), te = this.rules.other.fencesBeginRegex(f), ne = this.rules.other.headingBeginRegex(f), xe = this.rules.other.htmlBeginRegex(f);
29272
29272
  for (;e; ) {
29273
29273
  let Z = e.split(`
29274
29274
  `, 1)[0], A;
29275
- if (h = Z, this.options.pedantic ? (h = h.replace(this.rules.other.listReplaceNesting, " "), A = h) : A = h.replace(this.rules.other.tabCharGlobal, " "), te.test(h) || ne.test(h) || xe.test(h) || H.test(h) || ee.test(h))
29275
+ if (d = Z, this.options.pedantic ? (d = d.replace(this.rules.other.listReplaceNesting, " "), A = d) : A = d.replace(this.rules.other.tabCharGlobal, " "), te.test(d) || ne.test(d) || xe.test(d) || H.test(d) || ee.test(d))
29276
29276
  break;
29277
- if (A.search(this.rules.other.nonSpaceChar) >= f || !h.trim())
29277
+ if (A.search(this.rules.other.nonSpaceChar) >= f || !d.trim())
29278
29278
  p += `
29279
29279
  ` + A.slice(f);
29280
29280
  else {
29281
29281
  if (R || g.replace(this.rules.other.tabCharGlobal, " ").search(this.rules.other.nonSpaceChar) >= 4 || te.test(g) || ne.test(g) || ee.test(g))
29282
29282
  break;
29283
29283
  p += `
29284
- ` + h;
29284
+ ` + d;
29285
29285
  }
29286
- !R && !h.trim() && (R = true), c += Z + `
29286
+ !R && !d.trim() && (R = true), c += Z + `
29287
29287
  `, e = e.substring(Z.length + 1), g = A.slice(f);
29288
29288
  }
29289
29289
  }
@@ -29422,13 +29422,13 @@ ${p}` : p;
29422
29422
  if (l -= a, l > 0)
29423
29423
  continue;
29424
29424
  a = Math.min(a, a + l + c);
29425
- let g = [...r[0]][0].length, h = e.slice(0, s + r.index + g + a);
29425
+ let g = [...r[0]][0].length, d = e.slice(0, s + r.index + g + a);
29426
29426
  if (Math.min(s, a) % 2) {
29427
- let f = h.slice(1, -1);
29428
- return { type: "em", raw: h, text: f, tokens: this.lexer.inlineTokens(f) };
29427
+ let f = d.slice(1, -1);
29428
+ return { type: "em", raw: d, text: f, tokens: this.lexer.inlineTokens(f) };
29429
29429
  }
29430
- let R = h.slice(2, -2);
29431
- return { type: "strong", raw: h, text: R, tokens: this.lexer.inlineTokens(R) };
29430
+ let R = d.slice(2, -2);
29431
+ return { type: "strong", raw: d, text: R, tokens: this.lexer.inlineTokens(R) };
29432
29432
  }
29433
29433
  }
29434
29434
  }
@@ -30179,8 +30179,8 @@ var B = class {
30179
30179
  return (async () => {
30180
30180
  let a = s.hooks ? await s.hooks.preprocess(n) : n, c = await (s.hooks ? await s.hooks.provideLexer() : e ? x.lex : x.lexInline)(a, s), p = s.hooks ? await s.hooks.processAllTokens(c) : c;
30181
30181
  s.walkTokens && await Promise.all(this.walkTokens(p, s.walkTokens));
30182
- let h = await (s.hooks ? await s.hooks.provideParser() : e ? b.parse : b.parseInline)(p, s);
30183
- return s.hooks ? await s.hooks.postprocess(h) : h;
30182
+ let d = await (s.hooks ? await s.hooks.provideParser() : e ? b.parse : b.parseInline)(p, s);
30183
+ return s.hooks ? await s.hooks.postprocess(d) : d;
30184
30184
  })().catch(o);
30185
30185
  try {
30186
30186
  s.hooks && (n = s.hooks.preprocess(n));
@@ -30917,7 +30917,7 @@ class SiteGenerator {
30917
30917
  const pstDate = new Date(date).toLocaleString("en-US", {
30918
30918
  timeZone: "America/Los_Angeles"
30919
30919
  });
30920
- const d2 = new Date(pstDate);
30920
+ const d = new Date(pstDate);
30921
30921
  const months = [
30922
30922
  "January",
30923
30923
  "February",
@@ -30933,15 +30933,15 @@ class SiteGenerator {
30933
30933
  "December"
30934
30934
  ];
30935
30935
  if (format === "YYYY") {
30936
- return d2.getFullYear();
30936
+ return d.getFullYear();
30937
30937
  } else if (format === "MMMM D, YYYY") {
30938
- return `${months[d2.getMonth()]} ${d2.getDate()}, ${d2.getFullYear()}`;
30938
+ return `${months[d.getMonth()]} ${d.getDate()}, ${d.getFullYear()}`;
30939
30939
  } else if (format === "MMMM D, YYYY h:mm A") {
30940
- const hours = d2.getHours() % 12 || 12;
30941
- const ampm = d2.getHours() >= 12 ? "PM" : "AM";
30942
- return `${months[d2.getMonth()]} ${d2.getDate()}, ${d2.getFullYear()} @ ${hours} ${ampm}`;
30940
+ const hours = d.getHours() % 12 || 12;
30941
+ const ampm = d.getHours() >= 12 ? "PM" : "AM";
30942
+ return `${months[d.getMonth()]} ${d.getDate()}, ${d.getFullYear()} @ ${hours} ${ampm}`;
30943
30943
  } else {
30944
- return d2.toLocaleDateString("en-US", {
30944
+ return d.toLocaleDateString("en-US", {
30945
30945
  timeZone: "America/Los_Angeles"
30946
30946
  });
30947
30947
  }
@@ -31471,16 +31471,16 @@ class S3Uploader {
31471
31471
  try {
31472
31472
  console.log(`[S3] Checking if directory exists: ${imagesDir}`);
31473
31473
  try {
31474
- const glob2 = new Bun.Glob("*");
31475
- let hasFiles = false;
31474
+ const glob2 = new Bun.Glob("**/*");
31475
+ let hasContent = false;
31476
31476
  for await (const file of glob2.scan({
31477
31477
  cwd: imagesDir,
31478
31478
  absolute: false
31479
31479
  })) {
31480
- hasFiles = true;
31480
+ hasContent = true;
31481
31481
  break;
31482
31482
  }
31483
- if (!hasFiles) {
31483
+ if (!hasContent) {
31484
31484
  console.warn(`Directory exists but is empty: ${imagesDir}`);
31485
31485
  }
31486
31486
  console.log(`[S3] Directory exists and is accessible`);
@@ -31493,7 +31493,7 @@ class S3Uploader {
31493
31493
  const files = [];
31494
31494
  console.log(`[S3] Scanning directory ${imagesDir} for image files...`);
31495
31495
  try {
31496
- const dirGlob = new Bun.Glob("*");
31496
+ const dirGlob = new Bun.Glob("**/*");
31497
31497
  const allFiles = [];
31498
31498
  for await (const file of dirGlob.scan({
31499
31499
  cwd: imagesDir,
@@ -31501,7 +31501,7 @@ class S3Uploader {
31501
31501
  })) {
31502
31502
  allFiles.push(file);
31503
31503
  }
31504
- console.log(`[S3] Files in directory: ${allFiles.join(", ") || "none"}`);
31504
+ console.log(`[S3] Files in directory (including subdirs): ${allFiles.length > 0 ? allFiles.slice(0, 10).join(", ") + (allFiles.length > 10 ? "..." : "") : "none"}`);
31505
31505
  } catch (err) {
31506
31506
  console.error(`[S3] Error reading directory:`, err);
31507
31507
  }
@@ -31522,16 +31522,16 @@ class S3Uploader {
31522
31522
  try {
31523
31523
  const imagePath = path6.join(imagesDir, imageFile);
31524
31524
  const filename = path6.basename(imagePath);
31525
- console.log(`[S3] Uploading image ${imagePath} to S3 bucket ${this.s3Config.bucket}/${filename}...`);
31525
+ console.log(`[S3] Uploading image ${imagePath} to S3 bucket ${this.s3Config.bucket}/${imageFile}...`);
31526
31526
  const file = Bun.file(imagePath);
31527
31527
  const contentType = file.type;
31528
31528
  if (process.env.BUNKI_DRY_RUN === "true") {
31529
- console.log(`[S3] Dry run: would upload ${filename} with content type ${contentType}`);
31529
+ console.log(`[S3] Dry run: would upload ${imageFile} with content type ${contentType}`);
31530
31530
  } else {
31531
- const s3File = this.client.file(filename);
31531
+ const s3File = this.client.file(imageFile);
31532
31532
  await s3File.write(file);
31533
31533
  }
31534
- const imageUrl = this.getPublicUrl(filename);
31534
+ const imageUrl = this.getPublicUrl(imageFile);
31535
31535
  console.log(`[S3] Image uploaded to ${imageUrl}`);
31536
31536
  imageUrls[imageFile] = imageUrl;
31537
31537
  } catch (error) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "bunki",
3
- "version": "0.5.0",
3
+ "version": "0.5.2",
4
4
  "description": "An opinionated static site generator built with Bun featuring PostCSS integration and modern web development workflows",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -50,7 +50,7 @@
50
50
  "commander": "^14.0.1",
51
51
  "gray-matter": "^4.0.3",
52
52
  "highlight.js": "^11.11.1",
53
- "marked": "^16.4.0",
53
+ "marked": "^16.4.1",
54
54
  "marked-highlight": "^2.2.2",
55
55
  "nunjucks": "^3.2.4",
56
56
  "postcss": "^8.5.6",