@jaredwray/fumanchu 4.0.2 → 4.0.3
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.cjs +10 -10
- package/dist/index.js +10 -10
- package/package.json +1 -4
package/dist/index.cjs
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
"use strict";var
|
|
2
|
-
`},
|
|
3
|
-
`)},
|
|
4
|
-
`)},
|
|
5
|
-
`)}</ul>`},
|
|
6
|
-
`)}</ol>`},
|
|
7
|
-
`,r+=`<img ${
|
|
8
|
-
`,t?
|
|
1
|
+
"use strict";var _e=Object.create;var H=Object.defineProperty;var Ce=Object.getOwnPropertyDescriptor;var Me=Object.getOwnPropertyNames;var ze=Object.getPrototypeOf,Le=Object.prototype.hasOwnProperty;var Pe=(e,n)=>{for(var r in n)H(e,r,{get:n[r],enumerable:!0})},E=(e,n,r,t)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of Me(n))!Le.call(e,o)&&o!==r&&H(e,o,{get:()=>n[o],enumerable:!(t=Ce(n,o))||t.enumerable});return e};var a=(e,n,r)=>(r=e!=null?_e(ze(e)):{},E(n||!e||!e.__esModule?H(r,"default",{value:e,enumerable:!0}):r,e)),Ue=e=>E(H({},"__esModule",{value:!0}),e);var zt={};Pe(zt,{Handlebars:()=>Et,HelperRegistry:()=>b,createHandlebars:()=>Ct,fumanchu:()=>Mt,handlebars:()=>Ft,helpers:()=>_t});module.exports=Ue(zt);var y=a(require("handlebars"),1);var Ie=(e,n)=>Array.isArray(e)?e.slice(n):[],Je=(e,n)=>Array.isArray(e)?e.slice(0,-n):[],g=e=>e==null?[]:Array.isArray(e)?e:[e],qe=(e,n)=>{if(Array.isArray(e))return typeof n!="number"?e[0]:e.slice(0,n)},We=(e,n)=>{if(!Array.isArray(e)&&typeof e!="string")return;if(typeof n!="number"){let t=e;return t[t.length-1]}let r=Math.abs(n);return e.slice(-r)},De=e=>e&&typeof e=="object"&&!Array.isArray(e)?Object.keys(e).length:typeof e=="string"||Array.isArray(e)?e.length:0,Ge=(e,n=", ")=>typeof e=="string"?e:Array.isArray(e)?e.join(n):"",F=[{name:"after",category:"array",compatibility:["browser","nodejs"],fn:Ie},{name:"before",category:"array",compatibility:["browser","nodejs"],fn:Je},{name:"arrayify",category:"array",compatibility:["browser","nodejs"],fn:g},{name:"first",category:"array",compatibility:["browser","nodejs"],fn:qe},{name:"last",category:"array",compatibility:["browser","nodejs"],fn:We},{name:"length",category:"array",compatibility:["browser","nodejs"],fn:De},{name:"join",category:"array",compatibility:["browser","nodejs"],fn:Ge}];var _=a(require("fs"),1),C=a(require("path"),1),A=a(require("html-tag"),1),M=a(require("to-gfm-code-block"),1),ve=(e,n)=>{let r=typeof n=="string"?n:C.default.extname(e).slice(1),t=_.default.readFileSync(e,"utf8");return(r==="markdown"||r==="md")&&(r="markdown",t=t.split("`").join("`")),`${(0,M.default)(t,r).trim()}
|
|
2
|
+
`},Ye=e=>(0,A.default)("script",{src:`https://gist.github.com/${e}.js`}),Qe=e=>{if(!e||!e.id)throw new Error("jsfiddle helper expects an `id`");let{id:n,width:r="100%",height:t="300",skin:o="/presentation/",tabs:s="result,js,html,css",allowfullscreen:i="allowfullscreen",frameborder:p="0"}=e,k=`http://jsfiddle.net/${n}/embedded/${s}${o}`;return(0,A.default)("iframe",{width:r,height:t,src:k,allowfullscreen:i,frameborder:p})},z=[{name:"embed",category:"code",compatibility:["nodejs"],fn:ve},{name:"gist",category:"code",compatibility:["browser","nodejs"],fn:Ye},{name:"jsfiddle",category:"code",compatibility:["browser","nodejs"],fn:Qe}];var Ze=e=>e==null?!0:Array.isArray(e)?e.length===0:typeof e=="object"?Object.keys(e).length===0:!1,Ke=(e,n,r)=>{if(Array.isArray(e)){let t="";for(let o=0;o<e.length;o++)t+=n(e[o],o);return t}if(e&&typeof e=="object"){let t="";for(let o of Object.keys(e))t+=n(e[o],o);return t}return r?r():""},L=[{name:"isEmpty",category:"collection",compatibility:["browser","nodejs"],fn:Ze},{name:"iterate",category:"collection",compatibility:["browser","nodejs"],fn:Ke}];var Ve=(...e)=>e.every(Boolean),Xe=(e,n,r)=>{switch(n){case"==":return e==r;case"===":return e===r;case"!=":return e!=r;case"!==":return e!==r;case"<":return e<r;case">":return e>r;case"<=":return e<=r;case">=":return e>=r;case"typeof":return typeof e===r;default:throw new Error(`helper {{compare}}: invalid operator: '${n}'`)}},en=(e,n,r=0)=>e==null?!1:typeof e=="string"||Array.isArray(e)?e.indexOf(n,r)>-1:typeof e=="object"?n in e:!1,nn=(...e)=>{for(let n of e)if(n!=null)return n;return""},rn=(e,n)=>e===n,tn=(e,n)=>e>n,on=(e,n)=>e>=n,sn=(e,n)=>e==null||n==null?!1:Array.isArray(e)||typeof e=="string"?e.indexOf(n)>-1:typeof e=="object"?n in e:!1,P=(e,n)=>{if(!e)return!0;let r=Array.isArray(n)?n:n!=null?[n]:["0","false","nada","nil","nay","nah","negative","no","none","nope","nul","null","nix","nyet","uh-uh","veto","zero"],t=typeof e=="string"?e.toLowerCase():null;for(let o of r)if(o===e||t!=null&&o===t)return!0;return!1},an=e=>P(e),cn=e=>!P(e),pn=e=>typeof e=="number"&&e%2===0,mn=(e,n)=>typeof e=="number"&&typeof n=="number"&&n%e===0,ln=e=>typeof e=="number"&&Math.abs(e%2)===1,yn=(e,n)=>e==n,gn=(e,n)=>e!=n,fn=(e,n)=>e<n,un=(e,n)=>e<=n,bn=(e,n)=>!e&&!n,dn=e=>!e,hn=(...e)=>e.some(Boolean),wn=(e,n)=>e!==n,jn=(e,n)=>e<=n,kn=(e,n)=>e>=n,Hn=(e,n)=>e<n,xn=(e,n)=>e>n,U=[{name:"and",category:"comparison",compatibility:["browser","nodejs"],fn:Ve},{name:"compare",category:"comparison",compatibility:["browser","nodejs"],fn:Xe},{name:"contains",category:"comparison",compatibility:["browser","nodejs"],fn:en},{name:"default",category:"comparison",compatibility:["browser","nodejs"],fn:nn},{name:"eq",category:"comparison",compatibility:["browser","nodejs"],fn:rn},{name:"gt",category:"comparison",compatibility:["browser","nodejs"],fn:tn},{name:"gte",category:"comparison",compatibility:["browser","nodejs"],fn:on},{name:"has",category:"comparison",compatibility:["browser","nodejs"],fn:sn},{name:"isFalsey",category:"comparison",compatibility:["browser","nodejs"],fn:an},{name:"isTruthy",category:"comparison",compatibility:["browser","nodejs"],fn:cn},{name:"ifEven",category:"comparison",compatibility:["browser","nodejs"],fn:pn},{name:"ifNth",category:"comparison",compatibility:["browser","nodejs"],fn:mn},{name:"ifOdd",category:"comparison",compatibility:["browser","nodejs"],fn:ln},{name:"is",category:"comparison",compatibility:["browser","nodejs"],fn:yn},{name:"isnt",category:"comparison",compatibility:["browser","nodejs"],fn:gn},{name:"lt",category:"comparison",compatibility:["browser","nodejs"],fn},{name:"lte",category:"comparison",compatibility:["browser","nodejs"],fn:un},{name:"neither",category:"comparison",compatibility:["browser","nodejs"],fn:bn},{name:"not",category:"comparison",compatibility:["browser","nodejs"],fn:dn},{name:"or",category:"comparison",compatibility:["browser","nodejs"],fn:hn},{name:"unlessEq",category:"comparison",compatibility:["browser","nodejs"],fn:wn},{name:"unlessGt",category:"comparison",compatibility:["browser","nodejs"],fn:jn},{name:"unlessLt",category:"comparison",compatibility:["browser","nodejs"],fn:kn},{name:"unlessGteq",category:"comparison",compatibility:["browser","nodejs"],fn:Hn},{name:"unlessLteq",category:"comparison",compatibility:["browser","nodejs"],fn:xn}];var J=require("chrono-node"),q=a(require("dayjs"),1),On=()=>new Date().getFullYear().toString(),I=(e,n)=>{let r=(0,J.parseDate)(e);if(!r)throw new Error(`Unable to parse date: ${e}`);return(0,q.default)(r).format(n)},W=[{name:"year",category:"date",compatibility:["browser","nodejs"],fn:On},{name:"date",category:"date",compatibility:["browser","nodejs"],fn:I},{name:"moment",category:"date",compatibility:["browser","nodejs"],fn:I}];var x=a(require("fs"),1),D=a(require("path"),1),G=a(require("is-glob"),1),v=a(require("micromatch"),1),Nn=(e,n)=>{if(e==null)return"0 B";let r=typeof e=="number"?e:e.length??0;if(!r)return"0 B";let t=typeof n=="number"?n:2,o=["B","kB","MB","GB","TB","PB","EB","ZB","YB"],s=10**t,i=o.length-1;do{let p=10**(i*3);if(p<=r+1)return`${Math.round(r*s/p)/s} ${o[i]}`}while(--i>=0);return`${r} B`},$n=e=>x.default.readFileSync(e,"utf8"),An=e=>!!(e&&typeof e=="object"&&"hash"in e),Rn=(e,n)=>{let r=x.default.readdirSync(e).map(o=>D.default.join(e,o)),t=An(n)?void 0:n;if(typeof t=="function")return t(r);if(t instanceof RegExp)return r.filter(o=>t.test(o));if(typeof t=="string"){if((0,G.default)(t))return(0,v.default)(r,t);if(t==="isFile"||t==="isDirectory")return r.filter(o=>{let s=x.default.statSync(o);return t==="isFile"?s.isFile():s.isDirectory()})}return r},Y=[{name:"fileSize",category:"fs",compatibility:["nodejs"],fn:Nn},{name:"read",category:"fs",compatibility:["nodejs"],fn:$n},{name:"readdir",category:"fs",compatibility:["nodejs"],fn:Rn}];var O=a(require("path"),1),R=a(require("html-tag"),1),Q=a(require("striptags"),1);var f=(e={})=>Object.keys(e).map(n=>`${n}="${String(e[n]).replace(/^['"]|["']$/g,"")}"`).join(" "),Sn=e=>{let n=f(e?.hash??{});return n.trim()?` ${n}`:""},Bn=function(e,n){arguments.length<2&&(n=e,e=[]);let r=g(e??[]),t="";return this&&this.options&&(t=this.options.assets||""),n?.hash?.href&&(r=g(n.hash.href)),r.map(o=>{let s=O.default.extname(o),i=o;return/(^\/\/)|(:\/\/)/.test(o)||(i=O.default.posix.join(t,o)),s===".less"?`<link type="text/css" rel="stylesheet/less" href="${i}">`:`<link type="text/css" rel="stylesheet" href="${i}">`}).join(`
|
|
3
|
+
`)},Tn=e=>{if(e&&typeof e=="object"&&!Array.isArray(e)){let r=f(e.hash??{});return`<script${r?` ${r}`:""}></script>`}return typeof e=="string"?`<script src="${e}"></script>`:g(e).map(r=>O.default.extname(r)===".coffee"?(0,R.default)("script",{type:"text/coffeescript",src:r}):(0,R.default)("script",{src:r})).join(`
|
|
4
|
+
`)},En=e=>typeof e!="string"?"":(0,Q.default)(e).trim(),Fn=(e,n)=>{let r=f(n.hash??{}),t=e.map(s=>typeof s=="string"?s:n.fn(s));return`${r?`<ul ${r}>`:"<ul>"}${t.map(s=>`<li>${s}</li>`).join(`
|
|
5
|
+
`)}</ul>`},_n=(e,n)=>{let r=f(n.hash??{}),t=e.map(s=>typeof s=="string"?s:n.fn(s));return`${r?`<ol ${r}>`:"<ol>"}${t.map(s=>`<li>${s}</li>`).join(`
|
|
6
|
+
`)}</ol>`},Cn=e=>{let n="",r="",t=e.full||!1,o={alt:e.alt,src:e.thumbnail,width:e.size.width,height:e.size.height},s={id:`image-${e.id}`},i={href:t,rel:"thumbnail"};return e.classes&&(e.classes.image&&(o.class=e.classes.image.join(" ")),e.classes.figure&&(s.class=e.classes.figure.join(" ")),e.classes.link&&(i.class=e.classes.link.join(" "))),n+=`<figure ${f(s)}>
|
|
7
|
+
`,r+=`<img ${f(o)}>
|
|
8
|
+
`,t?n+=`<a ${f(i)}>
|
|
9
9
|
${r}</a>
|
|
10
|
-
`:
|
|
11
|
-
`),e+="</figure>",e},Q=[{name:"attr",category:"html",compatibility:["browser","nodejs"],fn:Te},{name:"css",category:"html",compatibility:["nodejs"],fn:Ee},{name:"js",category:"html",compatibility:["nodejs"],fn:Fe},{name:"sanitize",category:"html",compatibility:["browser","nodejs"],fn:_e},{name:"ul",category:"html",compatibility:["browser","nodejs"],fn:Ce},{name:"ol",category:"html",compatibility:["browser","nodejs"],fn:Me},{name:"thumbnailImage",category:"html",compatibility:["browser","nodejs"],fn:ze}];var Z=i(require("get-value"),1),Le=function(n,e,r){if(e&&typeof e=="object"&&"hash"in e&&r===void 0&&(r=e,e={}),typeof n!="string")throw new Error('{{i18n}} helper expected "key" to be a string');let t={...this,...e,...r?.hash??{}},o=t.language||t.lang;if(typeof o!="string")throw new TypeError('{{i18n}} helper expected "language" to be a string');let s=t[o];if(typeof s>"u")throw new Error(`{{i18n}} helper cannot find language "${o}"`);let a=(0,Z.default)(s,n);if(typeof a>"u")throw new Error('{{i18n}} helper cannot find property "'+String(n)+'" for language "'+o+'"');return String(a)},V=[{name:"i18n",category:"i18n",compatibility:["browser","nodejs"],fn:Le}];var Ue=(n,e,r,t)=>{let o=n>1||n===0?r:e;return t?`${n} ${o}`:o},Pe=n=>{let e=Math.abs(Math.round(Number(n))),r=String(n),t=e%100;if([11,12,13].includes(t))return`${r}th`;switch(e%10){case 1:return`${r}st`;case 2:return`${r}nd`;case 3:return`${r}rd`;default:return`${r}th`}},K=[{name:"inflect",category:"inflection",compatibility:["browser","nodejs"],fn:Ue},{name:"ordinalize",category:"inflection",compatibility:["browser","nodejs"],fn:Pe}];var X=i(require("logging-helpers"),1),{log:Ie,ok:Je,success:qe,info:We,warning:De,warn:Ge,error:ve,danger:Ye,bold:Qe,_debug:Ze,_inspect:Ve}=X.default,nn=[{name:"log",category:"logging",compatibility:["nodejs"],fn:Ie},{name:"ok",category:"logging",compatibility:["nodejs"],fn:Je},{name:"success",category:"logging",compatibility:["nodejs"],fn:qe},{name:"info",category:"logging",compatibility:["nodejs"],fn:We},{name:"warning",category:"logging",compatibility:["nodejs"],fn:De},{name:"warn",category:"logging",compatibility:["nodejs"],fn:Ge},{name:"error",category:"logging",compatibility:["nodejs"],fn:ve},{name:"danger",category:"logging",compatibility:["nodejs"],fn:Ye},{name:"bold",category:"logging",compatibility:["nodejs"],fn:Qe},{name:"_debug",category:"logging",compatibility:["nodejs"],fn:Ze},{name:"_inspect",category:"logging",compatibility:["nodejs"],fn:Ve}];var R=i(require("micromatch"),1),en=(n,e,r)=>{let t=typeof e=="string"?e.split(/, */):e;return(0,R.default)(n,t,r)},Ke=(n,e,r)=>R.default.isMatch(n,e,r),Xe=(...n)=>(console.log("the {{mm}} helper is depcrecated and will be removed"),console.log("in handlebars-helpers v1.0.0, please use the {{match}}"),console.log("helper instead."),en(...n)),rn=[{name:"match",category:"match",compatibility:["browser","nodejs"],fn:en},{name:"isMatch",category:"match",compatibility:["browser","nodejs"],fn:Ke},{name:"mm",category:"match",compatibility:["browser","nodejs"],fn:Xe}];var N=n=>typeof n=="number"&&!Number.isNaN(n)||typeof n=="string"&&n.trim()!==""&&!Number.isNaN(Number(n)),c=(n,e="expected a number")=>{if(N(n))return Number(n);throw new TypeError(e)},nr=n=>{let e=c(n);return Math.abs(e)},er=(n,e)=>N(n)&&N(e)?Number(n)+Number(e):"",rr=(...n)=>{let e=n.flat().map(r=>Number(r));return on(e)/e.length},tr=n=>{let e=c(n);return Math.ceil(e)},or=(n,e)=>{let r=c(n,"expected the first argument to be a number"),t=c(e,"expected the second argument to be a number");return r/t},sr=n=>{let e=c(n);return Math.floor(e)},ir=(n,e)=>{let r=c(n,"expected the first argument to be a number"),t=c(e,"expected the second argument to be a number");return r-t},ar=(n,e)=>{let r=c(n,"expected the first argument to be a number"),t=c(e,"expected the second argument to be a number");return r%t},tn=(n,e)=>{let r=c(n,"expected the first argument to be a number"),t=c(e,"expected the second argument to be a number");return r*t},cr=(n,e)=>{let r=c(n,"expected the first argument to be a number"),t=c(e,"expected the second argument to be a number");return r+t},pr=(n,e)=>{let r=c(n,"expected minimum to be a number"),t=c(e,"expected maximum to be a number");return r+Math.floor(Math.random()*(t-r+1))},mr=(n,e)=>n%e,lr=n=>{let e=c(n);return Math.round(e)},yr=(n,e)=>{let r=c(n,"expected the first argument to be a number"),t=c(e,"expected the second argument to be a number");return r-t},on=(...n)=>{let e=n.flat(),r=0;for(let t of e)N(t)&&(r+=Number(t));return r},gr=(n,e)=>tn(n,e),sn=[{name:"abs",category:"math",compatibility:["browser","nodejs"],fn:nr},{name:"add",category:"math",compatibility:["browser","nodejs"],fn:er},{name:"avg",category:"math",compatibility:["browser","nodejs"],fn:rr},{name:"ceil",category:"math",compatibility:["browser","nodejs"],fn:tr},{name:"divide",category:"math",compatibility:["browser","nodejs"],fn:or},{name:"floor",category:"math",compatibility:["browser","nodejs"],fn:sr},{name:"minus",category:"math",compatibility:["browser","nodejs"],fn:ir},{name:"modulo",category:"math",compatibility:["browser","nodejs"],fn:ar},{name:"multiply",category:"math",compatibility:["browser","nodejs"],fn:tn},{name:"plus",category:"math",compatibility:["browser","nodejs"],fn:cr},{name:"random",category:"math",compatibility:["browser","nodejs"],fn:pr},{name:"remainder",category:"math",compatibility:["browser","nodejs"],fn:mr},{name:"round",category:"math",compatibility:["browser","nodejs"],fn:lr},{name:"subtract",category:"math",compatibility:["browser","nodejs"],fn:yr},{name:"sum",category:"math",compatibility:["browser","nodejs"],fn:on},{name:"times",category:"math",compatibility:["browser","nodejs"],fn:gr}];var S=i(require("fs"),1),an=i(require("path"),1),cn=i(require("process"),1),pn=i(require("ent"),1),mn=i(require("handlebars"),1),ln=require("remarkable"),fr=(n,e={})=>{let r={cwd:cn.default.cwd(),...e},t=new ln.Remarkable({breaks:!0,html:!0,langPrefix:"lang-",typographer:!1,xhtmlOut:!1}),o=an.default.resolve(r.cwd,n),s=n;return S.default.existsSync(o)&&(s=S.default.readFileSync(o,"utf8")),new mn.default.SafeString(pn.default.decode(t.render(s)))},yn=[{name:"md",category:"markdown",compatibility:["nodejs"],fn:fr}];var gn=i(require("get-value"),1),fn=i(require("handlebars-helper-create-frame"),1),un=i(require("handlebars-utils"),1),bn=i(require("kind-of"),1),ur=fn.default;function br(n,e,r){return(0,gn.default)(un.default.options(this,e,r),n)}function dr(n){return n.fn(this)}var hr=bn.default;function wr(n){return n.hash&&Object.keys(n.hash).length?n.fn(n.hash):n.inverse(this)}var dn=[{name:"frame",category:"misc",compatibility:["browser","nodejs"],fn:ur},{name:"option",category:"misc",compatibility:["browser","nodejs"],fn:br},{name:"noop",category:"misc",compatibility:["browser","nodejs"],fn:dr},{name:"typeOf",category:"misc",compatibility:["browser","nodejs"],fn:hr},{name:"withHash",category:"misc",compatibility:["browser","nodejs"],fn:wr}];var d=n=>typeof n=="number"&&!Number.isNaN(n),jr=(n,e)=>{if(n==null)return"0 B";let r;if(typeof n=="string"){if(r=n.length,!r)return"0 B"}else if(d(n))r=Number(n);else if(typeof n.length=="number"){if(r=n.length,!r)return"0 B"}else return"0 B";let t=typeof e=="number"&&!Number.isNaN(e)?e:2,o=["B","kB","MB","GB","TB","PB","EB","ZB","YB"],s=10**t;for(let a=o.length-1;a>=0;a--){let p=10**(a*3);if(p<=r+1)return`${Math.round(r*s/p)/s} ${o[a]}`}return`${r}`},kr=n=>n.toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1,"),Hr=n=>{let e=n.toString();return`(${e.substr(0,3)}) ${e.substr(3,3)}-${e.substr(6,4)}`},xr=(n,e)=>{let r=d(n)?Number(n):0,o=10**(typeof e=="number"&&!Number.isNaN(e)?e:2),s=["k","m","b","t","q"];for(let a=s.length-1;a>=0;a--){let p=10**((a+1)*3);if(p<=r+1)return`${Math.round(r*o/p)/o}${s[a]}`}return`${r}`},Nr=(n,e)=>{let r=d(n)?Number(n):0,t=typeof e=="number"&&!Number.isNaN(e)?e:0;return Number(r).toExponential(t)},$r=(n,e)=>{let r=d(n)?Number(n):0,t=typeof e=="number"&&!Number.isNaN(e)?e:0;return Number(r).toFixed(t)},Or=n=>parseFloat(String(n)),Ar=n=>parseInt(String(n),10),Rr=(n,e)=>{let r=d(n)?Number(n):0,t=typeof e=="number"&&!Number.isNaN(e)?e:1;return Number(r).toPrecision(t)},hn=[{name:"bytes",category:"number",compatibility:["browser","nodejs"],fn:jr},{name:"addCommas",category:"number",compatibility:["browser","nodejs"],fn:kr},{name:"phoneNumber",category:"number",compatibility:["browser","nodejs"],fn:Hr},{name:"toAbbr",category:"number",compatibility:["browser","nodejs"],fn:xr},{name:"toExponential",category:"number",compatibility:["browser","nodejs"],fn:Nr},{name:"toFixed",category:"number",compatibility:["browser","nodejs"],fn:$r},{name:"toFloat",category:"number",compatibility:["browser","nodejs"],fn:Or},{name:"toInt",category:"number",compatibility:["browser","nodejs"],fn:Ar},{name:"toPrecision",category:"number",compatibility:["browser","nodejs"],fn:Rr}];var B=i(require("get-object"),1),wn=i(require("get-value"),1);var $=n=>!!(n&&typeof n=="object"&&"hash"in n),jn=(n,e)=>({...n?.data||{},...e}),Sr=(...n)=>{let e=[...n];if(e.length&&$(e[e.length-1])){let t=e.pop();e.push(t.hash)}let r={};for(let t of e)t&&typeof t=="object"&&!Array.isArray(t)&&Object.assign(r,t);return r},Br=(n,e)=>{if(!$(e))return e?.inverse?.(n)??"";let r=jn(e,e.hash||{}),t="";for(let o in n)r.key=o,t+=e.fn(n[o],{data:r});return t},Tr=(n,e)=>{if(!$(e))return e?.inverse?.(n)??"";let r=jn(e,e.hash||{}),t="";for(let o in n)Object.hasOwn(n,o)&&(r.key=o,t+=e.fn(n[o],{data:r}));return t},Er=(...n)=>{let e=[];for(let r of n)(typeof r=="string"||typeof r=="number")&&e.push(r);return e.join(".")},Fr=(n,e,r)=>{let t=(0,wn.default)(e,n);return r&&typeof r.fn=="function"?t?r.fn(t):r.inverse?.(e):t},_r=(n,e)=>(0,B.default)(e,n),Cr=(n,e)=>Object.hasOwn(n,e),Mr=n=>!!n&&typeof n=="object"&&!Array.isArray(n),kn=n=>JSON.parse(n),Hn=(n,e)=>JSON.stringify(n,null,typeof e=="number"?e:0),zr=(n,...e)=>{let r=[n,...e];if(r.length&&$(r[r.length-1])){let t=r.pop();r.push(t.hash)}return Object.assign(...r)},Lr=kn,Ur=Hn,Pr=(n,e,r)=>{let t=y(n),o={};for(let s of t)o=Object.assign({},o,(0,B.default)(e,s));return r&&typeof r.fn=="function"?Object.keys(o).length?r.fn(o):r.inverse?.(e):o},xn=[{name:"extend",category:"object",compatibility:["browser","nodejs"],fn:Sr},{name:"forIn",category:"object",compatibility:["browser","nodejs"],fn:Br},{name:"forOwn",category:"object",compatibility:["browser","nodejs"],fn:Tr},{name:"toPath",category:"object",compatibility:["browser","nodejs"],fn:Er},{name:"get",category:"object",compatibility:["browser","nodejs"],fn:Fr},{name:"getObject",category:"object",compatibility:["browser","nodejs"],fn:_r},{name:"hasOwn",category:"object",compatibility:["browser","nodejs"],fn:Cr},{name:"isObject",category:"object",compatibility:["browser","nodejs"],fn:Mr},{name:"JSONparse",category:"object",compatibility:["browser","nodejs"],fn:kn},{name:"JSONstringify",category:"object",compatibility:["browser","nodejs"],fn:Hn},{name:"merge",category:"object",compatibility:["browser","nodejs"],fn:zr},{name:"parseJSON",category:"object",compatibility:["browser","nodejs"],fn:Lr},{name:"pick",category:"object",compatibility:["browser","nodejs"],fn:Pr},{name:"stringify",category:"object",compatibility:["browser","nodejs"],fn:Ur}];var m=i(require("path"),1),Ir=(n,e,r)=>{let t=Object.prototype.toString.call(r).slice(8,-1).toLowerCase();return`Expected ${n} to be of type ${e}, but got ${t}`},l=(n,e)=>{if(typeof e!="string")throw new TypeError(Ir(n,"string",e));return e},Jr=function(n,e){let r=l("filepath",n),t=e?.data?.root?.cwd??this?.cwd??process.cwd();return m.default.resolve(t,r)},qr=n=>{let e=l("filepath",n);return m.default.dirname(e)},Wr=(n,e)=>{let r=l("first path",n),t=l("second path",e);return m.default.relative(m.default.dirname(r),t)},Dr=n=>{let e=l("filepath",n);return m.default.basename(e)},Gr=n=>{let e=l("filepath",n);return m.default.basename(e,m.default.extname(e))},vr=n=>{let e=l("filepath",n);return m.default.extname(e)},Yr=function(n,...e){let r,t=e[e.length-1];typeof t=="object"&&t&&"data"in t&&(r=e.pop());let s=[r?.data?.root?.cwd??this?.cwd??process.cwd(),l("filepath",n),...e.map((a,p)=>l(`path${p}`,a))];return m.default.resolve(...s)},Qr=(n,e,r)=>{let t=l("filepath",n),o=Number(e),s=Number(r);return t.split(/[\\/]+/).slice(o,s).join("/")},Nn=[{name:"absolute",category:"path",compatibility:["nodejs"],fn:Jr},{name:"dirname",category:"path",compatibility:["nodejs"],fn:qr},{name:"relative",category:"path",compatibility:["nodejs"],fn:Wr},{name:"basename",category:"path",compatibility:["nodejs"],fn:Dr},{name:"stem",category:"path",compatibility:["nodejs"],fn:Gr},{name:"extname",category:"path",compatibility:["nodejs"],fn:vr},{name:"resolve",category:"path",compatibility:["nodejs"],fn:Yr},{name:"segments",category:"path",compatibility:["nodejs"],fn:Qr}];var $n=i(require("handlebars-utils"),1),Zr=(n,e,r)=>{let t=$n.default.options({},e,r);return new RegExp(n,t.flags)},Vr=(n,e)=>{if(typeof n!="string")return!1;if(!(e instanceof RegExp))throw new TypeError("expected a regular expression");return e.test(n)},On=[{name:"toRegex",category:"regex",compatibility:["browser","nodejs"],fn:Zr},{name:"test",category:"regex",compatibility:["browser","nodejs"],fn:Vr}];var An=n=>n.trim().replace(/^[-_.\W\s]+|[-_.\W\s]+$/g,""),b=(n,e)=>n.length===1?n.toLowerCase():An(n).toLowerCase().replace(/[-_.\W\s]+(\w|$)/g,(t,o)=>e(o)),Kr=(n,e)=>typeof n=="string"&&typeof e=="string"?n+e:n,Xr=n=>typeof n=="string"?b(n,e=>e.toUpperCase()):"",Rn=n=>typeof n!="string"||n.length===0?"":n.charAt(0).toUpperCase()+n.slice(1),nt=n=>typeof n!="string"?"":n.replace(/\w\S*/g,e=>Rn(e)),et=(n,e)=>{if(typeof n!="string")return"";let r="";for(let t=0;t<e;t++)r+=" ";return r+n+r},rt=n=>typeof n=="string"?An(n):"",tt=n=>typeof n=="string"?b(n,e=>`-${e}`):"",ot=n=>typeof n=="string"?b(n,e=>`.${e}`):"",Sn=(n,e,r)=>typeof n=="string"?(typeof r!="string"&&(r=""),n.length>e?n.slice(0,e-r.length)+r:n):"",st=(n,e)=>typeof n=="string"?n.length<=e?n:`${Sn(n,e)}\u2026`:"",it=n=>typeof n=="string"?n.split(" ").join("-"):"",at=n=>typeof n=="string",Bn=n=>typeof n=="object"&&n!==null&&"fn"in n&&typeof n.fn=="function"?String(n.fn()).toLowerCase():typeof n!="string"?"":n.toLowerCase(),ct=(...n)=>Bn(...n),pt=(n,e)=>{if(typeof n!="string")return"";let r=e.length,t=n.indexOf(e,0),o=0;for(;t>-1;)o++,t=n.indexOf(e,t+r);return o},mt=n=>{if(typeof n!="string")return"";let e=b(n,r=>r.toUpperCase());return e.charAt(0).toUpperCase()+e.slice(1)},lt=n=>typeof n=="string"?b(n,e=>`/${e}`):"",yt=(n,e)=>typeof n!="string"?"":(typeof e!="string"&&(e=" "),n.split(e).join("+")),gt=(n,e)=>typeof n=="string"&&typeof e=="string"?e+n:n,ft=(n,e)=>typeof n!="string"?"":typeof e!="string"?n:n.split(e).join(""),ut=(n,e)=>typeof n!="string"?"":typeof e!="string"?n:n.replace(e,""),bt=(n,e,r)=>typeof n!="string"?"":typeof e!="string"?n:(typeof r!="string"&&(r=""),n.split(e).join(r)),dt=(n,e,r)=>typeof n!="string"?"":typeof e!="string"?n:(typeof r!="string"&&(r=""),n.replace(e,r)),ht=n=>typeof n=="string"?n.split("").reverse().join(""):"",wt=n=>typeof n!="string"?"":n.replace(/((?:\S[^.?!]*)[.?!]*)/g,e=>e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()),jt=n=>typeof n=="string"?b(n,e=>`_${e}`):"",kt=n=>typeof n=="string"?n.trim():"",Ht=n=>typeof n=="string"?n.replace(/^\s+/,""):"",xt=n=>typeof n=="string"?n.replace(/\s+$/,""):"",Nt=(n,e,r)=>{if(typeof n=="string"&&typeof e=="number"&&Number.isFinite(e)){typeof r!="string"&&(r="...");let t=Math.trunc(e),o=n.split(" ");return t<o.length&&(o=o.slice(0,t)),o.join(" ").trim()+r}return""},$t=Nt,Tn=n=>typeof n=="object"&&n!==null&&"fn"in n&&typeof n.fn=="function"?String(n.fn()).toUpperCase():typeof n!="string"?"":n.toUpperCase(),Ot=(...n)=>Tn(...n),En=[{name:"append",category:"string",compatibility:["browser","nodejs"],fn:Kr},{name:"camelcase",category:"string",compatibility:["browser","nodejs"],fn:Xr},{name:"capitalize",category:"string",compatibility:["browser","nodejs"],fn:Rn},{name:"capitalizeAll",category:"string",compatibility:["browser","nodejs"],fn:nt},{name:"center",category:"string",compatibility:["browser","nodejs"],fn:et},{name:"chop",category:"string",compatibility:["browser","nodejs"],fn:rt},{name:"dashcase",category:"string",compatibility:["browser","nodejs"],fn:tt},{name:"dotcase",category:"string",compatibility:["browser","nodejs"],fn:ot},{name:"ellipsis",category:"string",compatibility:["browser","nodejs"],fn:st},{name:"hyphenate",category:"string",compatibility:["browser","nodejs"],fn:it},{name:"isString",category:"string",compatibility:["browser","nodejs"],fn:at},{name:"lowercase",category:"string",compatibility:["browser","nodejs"],fn:Bn},{name:"downcase",category:"string",compatibility:["browser","nodejs"],fn:ct},{name:"occurrences",category:"string",compatibility:["browser","nodejs"],fn:pt},{name:"pascalcase",category:"string",compatibility:["browser","nodejs"],fn:mt},{name:"pathcase",category:"string",compatibility:["browser","nodejs"],fn:lt},{name:"plusify",category:"string",compatibility:["browser","nodejs"],fn:yt},{name:"prepend",category:"string",compatibility:["browser","nodejs"],fn:gt},{name:"remove",category:"string",compatibility:["browser","nodejs"],fn:ft},{name:"removeFirst",category:"string",compatibility:["browser","nodejs"],fn:ut},{name:"replace",category:"string",compatibility:["browser","nodejs"],fn:bt},{name:"replaceFirst",category:"string",compatibility:["browser","nodejs"],fn:dt},{name:"reverse",category:"string",compatibility:["browser","nodejs"],fn:ht},{name:"sentence",category:"string",compatibility:["browser","nodejs"],fn:wt},{name:"snakecase",category:"string",compatibility:["browser","nodejs"],fn:jt},{name:"trim",category:"string",compatibility:["browser","nodejs"],fn:kt},{name:"trimLeft",category:"string",compatibility:["browser","nodejs"],fn:Ht},{name:"trimRight",category:"string",compatibility:["browser","nodejs"],fn:xt},{name:"truncate",category:"string",compatibility:["browser","nodejs"],fn:Sn},{name:"truncateWords",category:"string",compatibility:["browser","nodejs"],fn:$t},{name:"uppercase",category:"string",compatibility:["browser","nodejs"],fn:Tn},{name:"upcase",category:"string",compatibility:["browser","nodejs"],fn:Ot}];var Fn=require("querystring"),f=require("url"),h=["browser","nodejs"],_n=n=>{if(typeof n=="string")return encodeURIComponent(n)},At=n=>{if(typeof n=="string")return(0,Fn.escape)(n)},Cn=n=>{if(typeof n=="string")return decodeURIComponent(n)};function Rt(...n){return _n.apply(this,n)}function St(...n){return Cn.apply(this,n)}var Bt=(n,e)=>(0,f.resolve)(String(n),String(e)),Tt=n=>(0,f.parse)(String(n)),Et=n=>{if(typeof n=="string")return n.split("?")[0]},Ft=n=>{if(typeof n=="string"){let e=(0,f.parse)(n);return e.protocol="",(0,f.format)(e)}},Mn=[{name:"encodeURI",category:"url",compatibility:h,fn:_n},{name:"escape",category:"url",compatibility:["nodejs"],fn:At},{name:"decodeURI",category:"url",compatibility:h,fn:Cn},{name:"url_encode",category:"url",compatibility:h,fn:Rt},{name:"url_decode",category:"url",compatibility:h,fn:St},{name:"urlResolve",category:"url",compatibility:["nodejs"],fn:Bt},{name:"urlParse",category:"url",compatibility:["nodejs"],fn:Tt},{name:"stripQuerystring",category:"url",compatibility:h,fn:Et},{name:"stripProtocol",category:"url",compatibility:["nodejs"],fn:Ft}];var u=class{_helpers=[];constructor(){this.init()}get helpers(){return this._helpers}init(){this.registerHelpers(E),this.registerHelpers(z),this.registerHelpers(q),this.registerHelpers(v),this.registerHelpers(M),this.registerHelpers(yn),this.registerHelpers(Q),this.registerHelpers(U),this.registerHelpers(V),this.registerHelpers(K),this.registerHelpers(nn),this.registerHelpers(rn),this.registerHelpers(sn),this.registerHelpers(dn),this.registerHelpers(hn),this.registerHelpers(Nn),this.registerHelpers(On),this.registerHelpers(En),this.registerHelpers(Mn),this.registerHelpers(xn)}register(e){return this.has(e.name)||this._helpers.push(e),!1}registerHelpers(e){for(let r of e)this.register(r)}has(e){return this._helpers.some(r=>r.name===e)}filter(e){let r=this._helpers;return e.names&&(r=r.filter(t=>e.names?.includes(t.name))),e.categories&&(r=r.filter(t=>e.categories?.includes(t.category))),e.compatibility&&(r=r.filter(t=>t.compatibility?.some(o=>e.compatibility?.includes(o)))),r}load(e,r){let t=this._helpers;r&&(t=this.filter(r));for(let o of t)e.registerHelper(o.name,o.fn)}swap(e){for(let r of this._helpers)e.unregisterHelper(r.name),e.registerHelper(r.name,r.fn)}};var _t=w.default,Ct=w.default.create();function Mt(n){new u().load(n.handlebars??n.hbs)}async function zt(){let n=new u,e=w.default.create();return n.load(e),process.env.NODE_ENV==="development"&&console.warn("createHandlebars will be deprecated in future versions, use `fumanchu` instead."),e}function Lt(n){let e=new u,r=w.default.create();return n?.handlebars&&(r=n.handlebars),e.load(r),r}0&&(module.exports={Handlebars,HelperRegistry,createHandlebars,fumanchu,handlebars,helpers});
|
|
10
|
+
`:n+=r,e.caption&&(n+=`<figcaption>${e.caption}</figcaption>
|
|
11
|
+
`),n+="</figure>",n},Z=[{name:"attr",category:"html",compatibility:["browser","nodejs"],fn:Sn},{name:"css",category:"html",compatibility:["nodejs"],fn:Bn},{name:"js",category:"html",compatibility:["nodejs"],fn:Tn},{name:"sanitize",category:"html",compatibility:["browser","nodejs"],fn:En},{name:"ul",category:"html",compatibility:["browser","nodejs"],fn:Fn},{name:"ol",category:"html",compatibility:["browser","nodejs"],fn:_n},{name:"thumbnailImage",category:"html",compatibility:["browser","nodejs"],fn:Cn}];var d=(e,n)=>{if(!e||typeof e!="object")return;let r=Array.isArray(n)?n:n.split("."),t=e;for(let o of r){if(t==null||typeof t!="object")return;t=t[o]}return t},S=(e,n)=>{if(!e||typeof e!="object")return;let r=Array.isArray(n)?n:n.split(".");if(r.length===0)return;let t=e;for(let s=0;s<r.length-1;s++){if(t==null||typeof t!="object")return;t=t[r[s]]}let o=r[r.length-1];if(!(t==null||typeof t!="object"||!(o in t)))return{[o]:t[o]}};var Mn=function(e,n,r){if(n&&typeof n=="object"&&"hash"in n&&r===void 0&&(r=n,n={}),typeof e!="string")throw new Error('{{i18n}} helper expected "key" to be a string');let t={...this,...n,...r?.hash??{}},o=t.language||t.lang;if(typeof o!="string")throw new TypeError('{{i18n}} helper expected "language" to be a string');let s=t[o];if(typeof s>"u")throw new Error(`{{i18n}} helper cannot find language "${o}"`);let i=d(s,e);if(typeof i>"u")throw new Error('{{i18n}} helper cannot find property "'+String(e)+'" for language "'+o+'"');return String(i)},K=[{name:"i18n",category:"i18n",compatibility:["browser","nodejs"],fn:Mn}];var zn=(e,n,r,t)=>{let o=e>1||e===0?r:n;return t?`${e} ${o}`:o},Ln=e=>{let n=Math.abs(Math.round(Number(e))),r=String(e),t=n%100;if([11,12,13].includes(t))return`${r}th`;switch(n%10){case 1:return`${r}st`;case 2:return`${r}nd`;case 3:return`${r}rd`;default:return`${r}th`}},V=[{name:"inflect",category:"inflection",compatibility:["browser","nodejs"],fn:zn},{name:"ordinalize",category:"inflection",compatibility:["browser","nodejs"],fn:Ln}];var X=a(require("logging-helpers"),1),{log:Pn,ok:Un,success:In,info:Jn,warning:qn,warn:Wn,error:Dn,danger:Gn,bold:vn,_debug:Yn,_inspect:Qn}=X.default,ee=[{name:"log",category:"logging",compatibility:["nodejs"],fn:Pn},{name:"ok",category:"logging",compatibility:["nodejs"],fn:Un},{name:"success",category:"logging",compatibility:["nodejs"],fn:In},{name:"info",category:"logging",compatibility:["nodejs"],fn:Jn},{name:"warning",category:"logging",compatibility:["nodejs"],fn:qn},{name:"warn",category:"logging",compatibility:["nodejs"],fn:Wn},{name:"error",category:"logging",compatibility:["nodejs"],fn:Dn},{name:"danger",category:"logging",compatibility:["nodejs"],fn:Gn},{name:"bold",category:"logging",compatibility:["nodejs"],fn:vn},{name:"_debug",category:"logging",compatibility:["nodejs"],fn:Yn},{name:"_inspect",category:"logging",compatibility:["nodejs"],fn:Qn}];var B=a(require("micromatch"),1),ne=(e,n,r)=>{let t=typeof n=="string"?n.split(/, */):n;return(0,B.default)(e,t,r)},Zn=(e,n,r)=>B.default.isMatch(e,n,r),Kn=(...e)=>(console.log("the {{mm}} helper is depcrecated and will be removed"),console.log("in handlebars-helpers v1.0.0, please use the {{match}}"),console.log("helper instead."),ne(...e)),re=[{name:"match",category:"match",compatibility:["browser","nodejs"],fn:ne},{name:"isMatch",category:"match",compatibility:["browser","nodejs"],fn:Zn},{name:"mm",category:"match",compatibility:["browser","nodejs"],fn:Kn}];var N=e=>typeof e=="number"&&!Number.isNaN(e)||typeof e=="string"&&e.trim()!==""&&!Number.isNaN(Number(e)),c=(e,n="expected a number")=>{if(N(e))return Number(e);throw new TypeError(n)},Vn=e=>{let n=c(e);return Math.abs(n)},Xn=(e,n)=>N(e)&&N(n)?Number(e)+Number(n):"",er=(...e)=>{let n=e.flat().map(r=>Number(r));return oe(n)/n.length},nr=e=>{let n=c(e);return Math.ceil(n)},rr=(e,n)=>{let r=c(e,"expected the first argument to be a number"),t=c(n,"expected the second argument to be a number");return r/t},tr=e=>{let n=c(e);return Math.floor(n)},or=(e,n)=>{let r=c(e,"expected the first argument to be a number"),t=c(n,"expected the second argument to be a number");return r-t},sr=(e,n)=>{let r=c(e,"expected the first argument to be a number"),t=c(n,"expected the second argument to be a number");return r%t},te=(e,n)=>{let r=c(e,"expected the first argument to be a number"),t=c(n,"expected the second argument to be a number");return r*t},ir=(e,n)=>{let r=c(e,"expected the first argument to be a number"),t=c(n,"expected the second argument to be a number");return r+t},ar=(e,n)=>{let r=c(e,"expected minimum to be a number"),t=c(n,"expected maximum to be a number");return r+Math.floor(Math.random()*(t-r+1))},cr=(e,n)=>e%n,pr=e=>{let n=c(e);return Math.round(n)},mr=(e,n)=>{let r=c(e,"expected the first argument to be a number"),t=c(n,"expected the second argument to be a number");return r-t},oe=(...e)=>{let n=e.flat(),r=0;for(let t of n)N(t)&&(r+=Number(t));return r},lr=(e,n)=>te(e,n),se=[{name:"abs",category:"math",compatibility:["browser","nodejs"],fn:Vn},{name:"add",category:"math",compatibility:["browser","nodejs"],fn:Xn},{name:"avg",category:"math",compatibility:["browser","nodejs"],fn:er},{name:"ceil",category:"math",compatibility:["browser","nodejs"],fn:nr},{name:"divide",category:"math",compatibility:["browser","nodejs"],fn:rr},{name:"floor",category:"math",compatibility:["browser","nodejs"],fn:tr},{name:"minus",category:"math",compatibility:["browser","nodejs"],fn:or},{name:"modulo",category:"math",compatibility:["browser","nodejs"],fn:sr},{name:"multiply",category:"math",compatibility:["browser","nodejs"],fn:te},{name:"plus",category:"math",compatibility:["browser","nodejs"],fn:ir},{name:"random",category:"math",compatibility:["browser","nodejs"],fn:ar},{name:"remainder",category:"math",compatibility:["browser","nodejs"],fn:cr},{name:"round",category:"math",compatibility:["browser","nodejs"],fn:pr},{name:"subtract",category:"math",compatibility:["browser","nodejs"],fn:mr},{name:"sum",category:"math",compatibility:["browser","nodejs"],fn:oe},{name:"times",category:"math",compatibility:["browser","nodejs"],fn:lr}];var T=a(require("fs"),1),ie=a(require("path"),1),ae=a(require("process"),1),ce=a(require("ent"),1),pe=a(require("handlebars"),1),me=require("remarkable"),yr=(e,n={})=>{let r={cwd:ae.default.cwd(),...n},t=new me.Remarkable({breaks:!0,html:!0,langPrefix:"lang-",typographer:!1,xhtmlOut:!1}),o=ie.default.resolve(r.cwd,e),s=e;return T.default.existsSync(o)&&(s=T.default.readFileSync(o,"utf8")),new pe.default.SafeString(ce.default.decode(t.render(s)))},le=[{name:"md",category:"markdown",compatibility:["nodejs"],fn:yr}];var ye=a(require("handlebars-helper-create-frame"),1),ge=a(require("handlebars-utils"),1),fe=a(require("kind-of"),1);var gr=ye.default;function fr(e,n,r){return d(ge.default.options(this,n,r),e)}function ur(e){return e.fn(this)}var br=fe.default;function dr(e){return e.hash&&Object.keys(e.hash).length?e.fn(e.hash):e.inverse(this)}var ue=[{name:"frame",category:"misc",compatibility:["browser","nodejs"],fn:gr},{name:"option",category:"misc",compatibility:["browser","nodejs"],fn:fr},{name:"noop",category:"misc",compatibility:["browser","nodejs"],fn:ur},{name:"typeOf",category:"misc",compatibility:["browser","nodejs"],fn:br},{name:"withHash",category:"misc",compatibility:["browser","nodejs"],fn:dr}];var w=e=>typeof e=="number"&&!Number.isNaN(e),hr=(e,n)=>{if(e==null)return"0 B";let r;if(typeof e=="string"){if(r=e.length,!r)return"0 B"}else if(w(e))r=Number(e);else if(typeof e.length=="number"){if(r=e.length,!r)return"0 B"}else return"0 B";let t=typeof n=="number"&&!Number.isNaN(n)?n:2,o=["B","kB","MB","GB","TB","PB","EB","ZB","YB"],s=10**t;for(let i=o.length-1;i>=0;i--){let p=10**(i*3);if(p<=r+1)return`${Math.round(r*s/p)/s} ${o[i]}`}return`${r}`},wr=e=>e.toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1,"),jr=e=>{let n=e.toString();return`(${n.substr(0,3)}) ${n.substr(3,3)}-${n.substr(6,4)}`},kr=(e,n)=>{let r=w(e)?Number(e):0,o=10**(typeof n=="number"&&!Number.isNaN(n)?n:2),s=["k","m","b","t","q"];for(let i=s.length-1;i>=0;i--){let p=10**((i+1)*3);if(p<=r+1)return`${Math.round(r*o/p)/o}${s[i]}`}return`${r}`},Hr=(e,n)=>{let r=w(e)?Number(e):0,t=typeof n=="number"&&!Number.isNaN(n)?n:0;return Number(r).toExponential(t)},xr=(e,n)=>{let r=w(e)?Number(e):0,t=typeof n=="number"&&!Number.isNaN(n)?n:0;return Number(r).toFixed(t)},Or=e=>parseFloat(String(e)),Nr=e=>parseInt(String(e),10),$r=(e,n)=>{let r=w(e)?Number(e):0,t=typeof n=="number"&&!Number.isNaN(n)?n:1;return Number(r).toPrecision(t)},be=[{name:"bytes",category:"number",compatibility:["browser","nodejs"],fn:hr},{name:"addCommas",category:"number",compatibility:["browser","nodejs"],fn:wr},{name:"phoneNumber",category:"number",compatibility:["browser","nodejs"],fn:jr},{name:"toAbbr",category:"number",compatibility:["browser","nodejs"],fn:kr},{name:"toExponential",category:"number",compatibility:["browser","nodejs"],fn:Hr},{name:"toFixed",category:"number",compatibility:["browser","nodejs"],fn:xr},{name:"toFloat",category:"number",compatibility:["browser","nodejs"],fn:Or},{name:"toInt",category:"number",compatibility:["browser","nodejs"],fn:Nr},{name:"toPrecision",category:"number",compatibility:["browser","nodejs"],fn:$r}];var $=e=>!!(e&&typeof e=="object"&&"hash"in e),de=(e,n)=>({...e?.data||{},...n}),Ar=(...e)=>{let n=[...e];if(n.length&&$(n[n.length-1])){let t=n.pop();n.push(t.hash)}let r={};for(let t of n)t&&typeof t=="object"&&!Array.isArray(t)&&Object.assign(r,t);return r},Rr=(e,n)=>{if(!$(n))return n?.inverse?.(e)??"";let r=de(n,n.hash||{}),t="";for(let o in e)r.key=o,t+=n.fn(e[o],{data:r});return t},Sr=(e,n)=>{if(!$(n))return n?.inverse?.(e)??"";let r=de(n,n.hash||{}),t="";for(let o in e)Object.hasOwn(e,o)&&(r.key=o,t+=n.fn(e[o],{data:r}));return t},Br=(...e)=>{let n=[];for(let r of e)(typeof r=="string"||typeof r=="number")&&n.push(r);return n.join(".")},Tr=(e,n,r)=>{let t=d(n,e);return r&&typeof r.fn=="function"?t?r.fn(t):r.inverse?.(n):t},Er=(e,n)=>S(n,e),Fr=(e,n)=>Object.hasOwn(e,n),_r=e=>!!e&&typeof e=="object"&&!Array.isArray(e),he=e=>JSON.parse(e),we=(e,n)=>JSON.stringify(e,null,typeof n=="number"?n:0),Cr=(e,...n)=>{let r=[e,...n];if(r.length&&$(r[r.length-1])){let t=r.pop();r.push(t.hash)}return Object.assign(...r)},Mr=he,zr=we,Lr=(e,n,r)=>{let t=g(e),o={};for(let s of t)o=Object.assign({},o,S(n,s));return r&&typeof r.fn=="function"?Object.keys(o).length?r.fn(o):r.inverse?.(n):o},je=[{name:"extend",category:"object",compatibility:["browser","nodejs"],fn:Ar},{name:"forIn",category:"object",compatibility:["browser","nodejs"],fn:Rr},{name:"forOwn",category:"object",compatibility:["browser","nodejs"],fn:Sr},{name:"toPath",category:"object",compatibility:["browser","nodejs"],fn:Br},{name:"get",category:"object",compatibility:["browser","nodejs"],fn:Tr},{name:"getObject",category:"object",compatibility:["browser","nodejs"],fn:Er},{name:"hasOwn",category:"object",compatibility:["browser","nodejs"],fn:Fr},{name:"isObject",category:"object",compatibility:["browser","nodejs"],fn:_r},{name:"JSONparse",category:"object",compatibility:["browser","nodejs"],fn:he},{name:"JSONstringify",category:"object",compatibility:["browser","nodejs"],fn:we},{name:"merge",category:"object",compatibility:["browser","nodejs"],fn:Cr},{name:"parseJSON",category:"object",compatibility:["browser","nodejs"],fn:Mr},{name:"pick",category:"object",compatibility:["browser","nodejs"],fn:Lr},{name:"stringify",category:"object",compatibility:["browser","nodejs"],fn:zr}];var m=a(require("path"),1),Pr=(e,n,r)=>{let t=Object.prototype.toString.call(r).slice(8,-1).toLowerCase();return`Expected ${e} to be of type ${n}, but got ${t}`},l=(e,n)=>{if(typeof n!="string")throw new TypeError(Pr(e,"string",n));return n},Ur=function(e,n){let r=l("filepath",e),t=n?.data?.root?.cwd??this?.cwd??process.cwd();return m.default.resolve(t,r)},Ir=e=>{let n=l("filepath",e);return m.default.dirname(n)},Jr=(e,n)=>{let r=l("first path",e),t=l("second path",n);return m.default.relative(m.default.dirname(r),t)},qr=e=>{let n=l("filepath",e);return m.default.basename(n)},Wr=e=>{let n=l("filepath",e);return m.default.basename(n,m.default.extname(n))},Dr=e=>{let n=l("filepath",e);return m.default.extname(n)},Gr=function(e,...n){let r,t=n[n.length-1];typeof t=="object"&&t&&"data"in t&&(r=n.pop());let s=[r?.data?.root?.cwd??this?.cwd??process.cwd(),l("filepath",e),...n.map((i,p)=>l(`path${p}`,i))];return m.default.resolve(...s)},vr=(e,n,r)=>{let t=l("filepath",e),o=Number(n),s=Number(r);return t.split(/[\\/]+/).slice(o,s).join("/")},ke=[{name:"absolute",category:"path",compatibility:["nodejs"],fn:Ur},{name:"dirname",category:"path",compatibility:["nodejs"],fn:Ir},{name:"relative",category:"path",compatibility:["nodejs"],fn:Jr},{name:"basename",category:"path",compatibility:["nodejs"],fn:qr},{name:"stem",category:"path",compatibility:["nodejs"],fn:Wr},{name:"extname",category:"path",compatibility:["nodejs"],fn:Dr},{name:"resolve",category:"path",compatibility:["nodejs"],fn:Gr},{name:"segments",category:"path",compatibility:["nodejs"],fn:vr}];var He=a(require("handlebars-utils"),1),Yr=(e,n,r)=>{let t=He.default.options({},n,r);return new RegExp(e,t.flags)},Qr=(e,n)=>{if(typeof e!="string")return!1;if(!(n instanceof RegExp))throw new TypeError("expected a regular expression");return n.test(e)},xe=[{name:"toRegex",category:"regex",compatibility:["browser","nodejs"],fn:Yr},{name:"test",category:"regex",compatibility:["browser","nodejs"],fn:Qr}];var Oe=e=>e.trim().replace(/^[-_.\W\s]+|[-_.\W\s]+$/g,""),h=(e,n)=>e.length===1?e.toLowerCase():Oe(e).toLowerCase().replace(/[-_.\W\s]+(\w|$)/g,(t,o)=>n(o)),Zr=(e,n)=>typeof e=="string"&&typeof n=="string"?e+n:e,Kr=e=>typeof e=="string"?h(e,n=>n.toUpperCase()):"",Ne=e=>typeof e!="string"||e.length===0?"":e.charAt(0).toUpperCase()+e.slice(1),Vr=e=>typeof e!="string"?"":e.replace(/\w\S*/g,n=>Ne(n)),Xr=(e,n)=>{if(typeof e!="string")return"";let r="";for(let t=0;t<n;t++)r+=" ";return r+e+r},et=e=>typeof e=="string"?Oe(e):"",nt=e=>typeof e=="string"?h(e,n=>`-${n}`):"",rt=e=>typeof e=="string"?h(e,n=>`.${n}`):"",$e=(e,n,r)=>typeof e=="string"?(typeof r!="string"&&(r=""),e.length>n?e.slice(0,n-r.length)+r:e):"",tt=(e,n)=>typeof e=="string"?e.length<=n?e:`${$e(e,n)}\u2026`:"",ot=e=>typeof e=="string"?e.split(" ").join("-"):"",st=e=>typeof e=="string",Ae=e=>typeof e=="object"&&e!==null&&"fn"in e&&typeof e.fn=="function"?String(e.fn()).toLowerCase():typeof e!="string"?"":e.toLowerCase(),it=(...e)=>Ae(...e),at=(e,n)=>{if(typeof e!="string")return"";let r=n.length,t=e.indexOf(n,0),o=0;for(;t>-1;)o++,t=e.indexOf(n,t+r);return o},ct=e=>{if(typeof e!="string")return"";let n=h(e,r=>r.toUpperCase());return n.charAt(0).toUpperCase()+n.slice(1)},pt=e=>typeof e=="string"?h(e,n=>`/${n}`):"",mt=(e,n)=>typeof e!="string"?"":(typeof n!="string"&&(n=" "),e.split(n).join("+")),lt=(e,n)=>typeof e=="string"&&typeof n=="string"?n+e:e,yt=(e,n)=>typeof e!="string"?"":typeof n!="string"?e:e.split(n).join(""),gt=(e,n)=>typeof e!="string"?"":typeof n!="string"?e:e.replace(n,""),ft=(e,n,r)=>typeof e!="string"?"":typeof n!="string"?e:(typeof r!="string"&&(r=""),e.split(n).join(r)),ut=(e,n,r)=>typeof e!="string"?"":typeof n!="string"?e:(typeof r!="string"&&(r=""),e.replace(n,r)),bt=e=>typeof e=="string"?e.split("").reverse().join(""):"",dt=e=>typeof e!="string"?"":e.replace(/((?:\S[^.?!]*)[.?!]*)/g,n=>n.charAt(0).toUpperCase()+n.substr(1).toLowerCase()),ht=e=>typeof e=="string"?h(e,n=>`_${n}`):"",wt=e=>typeof e=="string"?e.trim():"",jt=e=>typeof e=="string"?e.replace(/^\s+/,""):"",kt=e=>typeof e=="string"?e.replace(/\s+$/,""):"",Ht=(e,n,r)=>{if(typeof e=="string"&&typeof n=="number"&&Number.isFinite(n)){typeof r!="string"&&(r="...");let t=Math.trunc(n),o=e.split(" ");return t<o.length&&(o=o.slice(0,t)),o.join(" ").trim()+r}return""},xt=Ht,Re=e=>typeof e=="object"&&e!==null&&"fn"in e&&typeof e.fn=="function"?String(e.fn()).toUpperCase():typeof e!="string"?"":e.toUpperCase(),Ot=(...e)=>Re(...e),Se=[{name:"append",category:"string",compatibility:["browser","nodejs"],fn:Zr},{name:"camelcase",category:"string",compatibility:["browser","nodejs"],fn:Kr},{name:"capitalize",category:"string",compatibility:["browser","nodejs"],fn:Ne},{name:"capitalizeAll",category:"string",compatibility:["browser","nodejs"],fn:Vr},{name:"center",category:"string",compatibility:["browser","nodejs"],fn:Xr},{name:"chop",category:"string",compatibility:["browser","nodejs"],fn:et},{name:"dashcase",category:"string",compatibility:["browser","nodejs"],fn:nt},{name:"dotcase",category:"string",compatibility:["browser","nodejs"],fn:rt},{name:"ellipsis",category:"string",compatibility:["browser","nodejs"],fn:tt},{name:"hyphenate",category:"string",compatibility:["browser","nodejs"],fn:ot},{name:"isString",category:"string",compatibility:["browser","nodejs"],fn:st},{name:"lowercase",category:"string",compatibility:["browser","nodejs"],fn:Ae},{name:"downcase",category:"string",compatibility:["browser","nodejs"],fn:it},{name:"occurrences",category:"string",compatibility:["browser","nodejs"],fn:at},{name:"pascalcase",category:"string",compatibility:["browser","nodejs"],fn:ct},{name:"pathcase",category:"string",compatibility:["browser","nodejs"],fn:pt},{name:"plusify",category:"string",compatibility:["browser","nodejs"],fn:mt},{name:"prepend",category:"string",compatibility:["browser","nodejs"],fn:lt},{name:"remove",category:"string",compatibility:["browser","nodejs"],fn:yt},{name:"removeFirst",category:"string",compatibility:["browser","nodejs"],fn:gt},{name:"replace",category:"string",compatibility:["browser","nodejs"],fn:ft},{name:"replaceFirst",category:"string",compatibility:["browser","nodejs"],fn:ut},{name:"reverse",category:"string",compatibility:["browser","nodejs"],fn:bt},{name:"sentence",category:"string",compatibility:["browser","nodejs"],fn:dt},{name:"snakecase",category:"string",compatibility:["browser","nodejs"],fn:ht},{name:"trim",category:"string",compatibility:["browser","nodejs"],fn:wt},{name:"trimLeft",category:"string",compatibility:["browser","nodejs"],fn:jt},{name:"trimRight",category:"string",compatibility:["browser","nodejs"],fn:kt},{name:"truncate",category:"string",compatibility:["browser","nodejs"],fn:$e},{name:"truncateWords",category:"string",compatibility:["browser","nodejs"],fn:xt},{name:"uppercase",category:"string",compatibility:["browser","nodejs"],fn:Re},{name:"upcase",category:"string",compatibility:["browser","nodejs"],fn:Ot}];var Be=require("querystring"),u=require("url"),j=["browser","nodejs"],Te=e=>{if(typeof e=="string")return encodeURIComponent(e)},Nt=e=>{if(typeof e=="string")return(0,Be.escape)(e)},Ee=e=>{if(typeof e=="string")return decodeURIComponent(e)};function $t(...e){return Te.apply(this,e)}function At(...e){return Ee.apply(this,e)}var Rt=(e,n)=>(0,u.resolve)(String(e),String(n)),St=e=>(0,u.parse)(String(e)),Bt=e=>{if(typeof e=="string")return e.split("?")[0]},Tt=e=>{if(typeof e=="string"){let n=(0,u.parse)(e);return n.protocol="",(0,u.format)(n)}},Fe=[{name:"encodeURI",category:"url",compatibility:j,fn:Te},{name:"escape",category:"url",compatibility:["nodejs"],fn:Nt},{name:"decodeURI",category:"url",compatibility:j,fn:Ee},{name:"url_encode",category:"url",compatibility:j,fn:$t},{name:"url_decode",category:"url",compatibility:j,fn:At},{name:"urlResolve",category:"url",compatibility:["nodejs"],fn:Rt},{name:"urlParse",category:"url",compatibility:["nodejs"],fn:St},{name:"stripQuerystring",category:"url",compatibility:j,fn:Bt},{name:"stripProtocol",category:"url",compatibility:["nodejs"],fn:Tt}];var b=class{_helpers=[];constructor(){this.init()}get helpers(){return this._helpers}init(){this.registerHelpers(F),this.registerHelpers(L),this.registerHelpers(W),this.registerHelpers(Y),this.registerHelpers(z),this.registerHelpers(le),this.registerHelpers(Z),this.registerHelpers(U),this.registerHelpers(K),this.registerHelpers(V),this.registerHelpers(ee),this.registerHelpers(re),this.registerHelpers(se),this.registerHelpers(ue),this.registerHelpers(be),this.registerHelpers(ke),this.registerHelpers(xe),this.registerHelpers(Se),this.registerHelpers(Fe),this.registerHelpers(je)}register(n){return this.has(n.name)||this._helpers.push(n),!1}registerHelpers(n){for(let r of n)this.register(r)}has(n){return this._helpers.some(r=>r.name===n)}filter(n){let r=this._helpers;return n.names&&(r=r.filter(t=>n.names?.includes(t.name))),n.categories&&(r=r.filter(t=>n.categories?.includes(t.category))),n.compatibility&&(r=r.filter(t=>t.compatibility?.some(o=>n.compatibility?.includes(o)))),r}load(n,r){let t=this._helpers;r&&(t=this.filter(r));for(let o of t)n.registerHelper(o.name,o.fn)}swap(n){for(let r of this._helpers)n.unregisterHelper(r.name),n.registerHelper(r.name,r.fn)}};var Et=y.default,Ft=y.default.create();function _t(e){new b().load(e.handlebars??e.hbs)}async function Ct(){let e=new b,n=y.default.create();return Object.keys(y.default.partials).length>0&&n.registerPartial(y.default.partials),e.load(n),process.env.NODE_ENV==="development"&&console.warn("createHandlebars will be deprecated in future versions, use `fumanchu` instead."),n}function Mt(e){let n=new b,r=y.default.create();return e?.handlebars?r=e.handlebars:Object.keys(y.default.partials).length>0&&r.registerPartial(y.default.partials),n.load(r),r}0&&(module.exports={Handlebars,HelperRegistry,createHandlebars,fumanchu,handlebars,helpers});
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import
|
|
2
|
-
`},
|
|
3
|
-
`)},
|
|
4
|
-
`)},
|
|
5
|
-
`)}</ul>`},
|
|
6
|
-
`)}</ol>`},
|
|
7
|
-
`,r+=`<img ${
|
|
8
|
-
`,t?
|
|
1
|
+
import l from"handlebars";var le=(e,n)=>Array.isArray(e)?e.slice(n):[],ye=(e,n)=>Array.isArray(e)?e.slice(0,-n):[],y=e=>e==null?[]:Array.isArray(e)?e:[e],ge=(e,n)=>{if(Array.isArray(e))return typeof n!="number"?e[0]:e.slice(0,n)},fe=(e,n)=>{if(!Array.isArray(e)&&typeof e!="string")return;if(typeof n!="number"){let t=e;return t[t.length-1]}let r=Math.abs(n);return e.slice(-r)},ue=e=>e&&typeof e=="object"&&!Array.isArray(e)?Object.keys(e).length:typeof e=="string"||Array.isArray(e)?e.length:0,be=(e,n=", ")=>typeof e=="string"?e:Array.isArray(e)?e.join(n):"",N=[{name:"after",category:"array",compatibility:["browser","nodejs"],fn:le},{name:"before",category:"array",compatibility:["browser","nodejs"],fn:ye},{name:"arrayify",category:"array",compatibility:["browser","nodejs"],fn:y},{name:"first",category:"array",compatibility:["browser","nodejs"],fn:ge},{name:"last",category:"array",compatibility:["browser","nodejs"],fn:fe},{name:"length",category:"array",compatibility:["browser","nodejs"],fn:ue},{name:"join",category:"array",compatibility:["browser","nodejs"],fn:be}];import de from"fs";import he from"path";import $ from"html-tag";import we from"to-gfm-code-block";var je=(e,n)=>{let r=typeof n=="string"?n:he.extname(e).slice(1),t=de.readFileSync(e,"utf8");return(r==="markdown"||r==="md")&&(r="markdown",t=t.split("`").join("`")),`${we(t,r).trim()}
|
|
2
|
+
`},ke=e=>$("script",{src:`https://gist.github.com/${e}.js`}),He=e=>{if(!e||!e.id)throw new Error("jsfiddle helper expects an `id`");let{id:n,width:r="100%",height:t="300",skin:o="/presentation/",tabs:s="result,js,html,css",allowfullscreen:i="allowfullscreen",frameborder:c="0"}=e,w=`http://jsfiddle.net/${n}/embedded/${s}${o}`;return $("iframe",{width:r,height:t,src:w,allowfullscreen:i,frameborder:c})},A=[{name:"embed",category:"code",compatibility:["nodejs"],fn:je},{name:"gist",category:"code",compatibility:["browser","nodejs"],fn:ke},{name:"jsfiddle",category:"code",compatibility:["browser","nodejs"],fn:He}];var xe=e=>e==null?!0:Array.isArray(e)?e.length===0:typeof e=="object"?Object.keys(e).length===0:!1,Oe=(e,n,r)=>{if(Array.isArray(e)){let t="";for(let o=0;o<e.length;o++)t+=n(e[o],o);return t}if(e&&typeof e=="object"){let t="";for(let o of Object.keys(e))t+=n(e[o],o);return t}return r?r():""},R=[{name:"isEmpty",category:"collection",compatibility:["browser","nodejs"],fn:xe},{name:"iterate",category:"collection",compatibility:["browser","nodejs"],fn:Oe}];var Ne=(...e)=>e.every(Boolean),$e=(e,n,r)=>{switch(n){case"==":return e==r;case"===":return e===r;case"!=":return e!=r;case"!==":return e!==r;case"<":return e<r;case">":return e>r;case"<=":return e<=r;case">=":return e>=r;case"typeof":return typeof e===r;default:throw new Error(`helper {{compare}}: invalid operator: '${n}'`)}},Ae=(e,n,r=0)=>e==null?!1:typeof e=="string"||Array.isArray(e)?e.indexOf(n,r)>-1:typeof e=="object"?n in e:!1,Re=(...e)=>{for(let n of e)if(n!=null)return n;return""},Se=(e,n)=>e===n,Be=(e,n)=>e>n,Te=(e,n)=>e>=n,Ee=(e,n)=>e==null||n==null?!1:Array.isArray(e)||typeof e=="string"?e.indexOf(n)>-1:typeof e=="object"?n in e:!1,S=(e,n)=>{if(!e)return!0;let r=Array.isArray(n)?n:n!=null?[n]:["0","false","nada","nil","nay","nah","negative","no","none","nope","nul","null","nix","nyet","uh-uh","veto","zero"],t=typeof e=="string"?e.toLowerCase():null;for(let o of r)if(o===e||t!=null&&o===t)return!0;return!1},Fe=e=>S(e),_e=e=>!S(e),Ce=e=>typeof e=="number"&&e%2===0,Me=(e,n)=>typeof e=="number"&&typeof n=="number"&&n%e===0,ze=e=>typeof e=="number"&&Math.abs(e%2)===1,Le=(e,n)=>e==n,Pe=(e,n)=>e!=n,Ue=(e,n)=>e<n,Ie=(e,n)=>e<=n,Je=(e,n)=>!e&&!n,qe=e=>!e,We=(...e)=>e.some(Boolean),De=(e,n)=>e!==n,Ge=(e,n)=>e<=n,ve=(e,n)=>e>=n,Ye=(e,n)=>e<n,Qe=(e,n)=>e>n,B=[{name:"and",category:"comparison",compatibility:["browser","nodejs"],fn:Ne},{name:"compare",category:"comparison",compatibility:["browser","nodejs"],fn:$e},{name:"contains",category:"comparison",compatibility:["browser","nodejs"],fn:Ae},{name:"default",category:"comparison",compatibility:["browser","nodejs"],fn:Re},{name:"eq",category:"comparison",compatibility:["browser","nodejs"],fn:Se},{name:"gt",category:"comparison",compatibility:["browser","nodejs"],fn:Be},{name:"gte",category:"comparison",compatibility:["browser","nodejs"],fn:Te},{name:"has",category:"comparison",compatibility:["browser","nodejs"],fn:Ee},{name:"isFalsey",category:"comparison",compatibility:["browser","nodejs"],fn:Fe},{name:"isTruthy",category:"comparison",compatibility:["browser","nodejs"],fn:_e},{name:"ifEven",category:"comparison",compatibility:["browser","nodejs"],fn:Ce},{name:"ifNth",category:"comparison",compatibility:["browser","nodejs"],fn:Me},{name:"ifOdd",category:"comparison",compatibility:["browser","nodejs"],fn:ze},{name:"is",category:"comparison",compatibility:["browser","nodejs"],fn:Le},{name:"isnt",category:"comparison",compatibility:["browser","nodejs"],fn:Pe},{name:"lt",category:"comparison",compatibility:["browser","nodejs"],fn:Ue},{name:"lte",category:"comparison",compatibility:["browser","nodejs"],fn:Ie},{name:"neither",category:"comparison",compatibility:["browser","nodejs"],fn:Je},{name:"not",category:"comparison",compatibility:["browser","nodejs"],fn:qe},{name:"or",category:"comparison",compatibility:["browser","nodejs"],fn:We},{name:"unlessEq",category:"comparison",compatibility:["browser","nodejs"],fn:De},{name:"unlessGt",category:"comparison",compatibility:["browser","nodejs"],fn:Ge},{name:"unlessLt",category:"comparison",compatibility:["browser","nodejs"],fn:ve},{name:"unlessGteq",category:"comparison",compatibility:["browser","nodejs"],fn:Ye},{name:"unlessLteq",category:"comparison",compatibility:["browser","nodejs"],fn:Qe}];import{parseDate as Ze}from"chrono-node";import Ke from"dayjs";var Ve=()=>new Date().getFullYear().toString(),T=(e,n)=>{let r=Ze(e);if(!r)throw new Error(`Unable to parse date: ${e}`);return Ke(r).format(n)},E=[{name:"year",category:"date",compatibility:["browser","nodejs"],fn:Ve},{name:"date",category:"date",compatibility:["browser","nodejs"],fn:T},{name:"moment",category:"date",compatibility:["browser","nodejs"],fn:T}];import H from"fs";import Xe from"path";import en from"is-glob";import nn from"micromatch";var rn=(e,n)=>{if(e==null)return"0 B";let r=typeof e=="number"?e:e.length??0;if(!r)return"0 B";let t=typeof n=="number"?n:2,o=["B","kB","MB","GB","TB","PB","EB","ZB","YB"],s=10**t,i=o.length-1;do{let c=10**(i*3);if(c<=r+1)return`${Math.round(r*s/c)/s} ${o[i]}`}while(--i>=0);return`${r} B`},tn=e=>H.readFileSync(e,"utf8"),on=e=>!!(e&&typeof e=="object"&&"hash"in e),sn=(e,n)=>{let r=H.readdirSync(e).map(o=>Xe.join(e,o)),t=on(n)?void 0:n;if(typeof t=="function")return t(r);if(t instanceof RegExp)return r.filter(o=>t.test(o));if(typeof t=="string"){if(en(t))return nn(r,t);if(t==="isFile"||t==="isDirectory")return r.filter(o=>{let s=H.statSync(o);return t==="isFile"?s.isFile():s.isDirectory()})}return r},F=[{name:"fileSize",category:"fs",compatibility:["nodejs"],fn:rn},{name:"read",category:"fs",compatibility:["nodejs"],fn:tn},{name:"readdir",category:"fs",compatibility:["nodejs"],fn:sn}];import x from"path";import _ from"html-tag";import an from"striptags";var g=(e={})=>Object.keys(e).map(n=>`${n}="${String(e[n]).replace(/^['"]|["']$/g,"")}"`).join(" "),cn=e=>{let n=g(e?.hash??{});return n.trim()?` ${n}`:""},pn=function(e,n){arguments.length<2&&(n=e,e=[]);let r=y(e??[]),t="";return this&&this.options&&(t=this.options.assets||""),n?.hash?.href&&(r=y(n.hash.href)),r.map(o=>{let s=x.extname(o),i=o;return/(^\/\/)|(:\/\/)/.test(o)||(i=x.posix.join(t,o)),s===".less"?`<link type="text/css" rel="stylesheet/less" href="${i}">`:`<link type="text/css" rel="stylesheet" href="${i}">`}).join(`
|
|
3
|
+
`)},mn=e=>{if(e&&typeof e=="object"&&!Array.isArray(e)){let r=g(e.hash??{});return`<script${r?` ${r}`:""}></script>`}return typeof e=="string"?`<script src="${e}"></script>`:y(e).map(r=>x.extname(r)===".coffee"?_("script",{type:"text/coffeescript",src:r}):_("script",{src:r})).join(`
|
|
4
|
+
`)},ln=e=>typeof e!="string"?"":an(e).trim(),yn=(e,n)=>{let r=g(n.hash??{}),t=e.map(s=>typeof s=="string"?s:n.fn(s));return`${r?`<ul ${r}>`:"<ul>"}${t.map(s=>`<li>${s}</li>`).join(`
|
|
5
|
+
`)}</ul>`},gn=(e,n)=>{let r=g(n.hash??{}),t=e.map(s=>typeof s=="string"?s:n.fn(s));return`${r?`<ol ${r}>`:"<ol>"}${t.map(s=>`<li>${s}</li>`).join(`
|
|
6
|
+
`)}</ol>`},fn=e=>{let n="",r="",t=e.full||!1,o={alt:e.alt,src:e.thumbnail,width:e.size.width,height:e.size.height},s={id:`image-${e.id}`},i={href:t,rel:"thumbnail"};return e.classes&&(e.classes.image&&(o.class=e.classes.image.join(" ")),e.classes.figure&&(s.class=e.classes.figure.join(" ")),e.classes.link&&(i.class=e.classes.link.join(" "))),n+=`<figure ${g(s)}>
|
|
7
|
+
`,r+=`<img ${g(o)}>
|
|
8
|
+
`,t?n+=`<a ${g(i)}>
|
|
9
9
|
${r}</a>
|
|
10
|
-
`:
|
|
11
|
-
`),e+="</figure>",e},F=[{name:"attr",category:"html",compatibility:["browser","nodejs"],fn:ae},{name:"css",category:"html",compatibility:["nodejs"],fn:ce},{name:"js",category:"html",compatibility:["nodejs"],fn:pe},{name:"sanitize",category:"html",compatibility:["browser","nodejs"],fn:me},{name:"ul",category:"html",compatibility:["browser","nodejs"],fn:le},{name:"ol",category:"html",compatibility:["browser","nodejs"],fn:ye},{name:"thumbnailImage",category:"html",compatibility:["browser","nodejs"],fn:ge}];import fe from"get-value";var ue=function(n,e,r){if(e&&typeof e=="object"&&"hash"in e&&r===void 0&&(r=e,e={}),typeof n!="string")throw new Error('{{i18n}} helper expected "key" to be a string');let t={...this,...e,...r?.hash??{}},o=t.language||t.lang;if(typeof o!="string")throw new TypeError('{{i18n}} helper expected "language" to be a string');let s=t[o];if(typeof s>"u")throw new Error(`{{i18n}} helper cannot find language "${o}"`);let i=fe(s,n);if(typeof i>"u")throw new Error('{{i18n}} helper cannot find property "'+String(n)+'" for language "'+o+'"');return String(i)},_=[{name:"i18n",category:"i18n",compatibility:["browser","nodejs"],fn:ue}];var be=(n,e,r,t)=>{let o=n>1||n===0?r:e;return t?`${n} ${o}`:o},de=n=>{let e=Math.abs(Math.round(Number(n))),r=String(n),t=e%100;if([11,12,13].includes(t))return`${r}th`;switch(e%10){case 1:return`${r}st`;case 2:return`${r}nd`;case 3:return`${r}rd`;default:return`${r}th`}},C=[{name:"inflect",category:"inflection",compatibility:["browser","nodejs"],fn:be},{name:"ordinalize",category:"inflection",compatibility:["browser","nodejs"],fn:de}];import he from"logging-helpers";var{log:we,ok:je,success:ke,info:He,warning:xe,warn:Ne,error:$e,danger:Oe,bold:Ae,_debug:Re,_inspect:Se}=he,M=[{name:"log",category:"logging",compatibility:["nodejs"],fn:we},{name:"ok",category:"logging",compatibility:["nodejs"],fn:je},{name:"success",category:"logging",compatibility:["nodejs"],fn:ke},{name:"info",category:"logging",compatibility:["nodejs"],fn:He},{name:"warning",category:"logging",compatibility:["nodejs"],fn:xe},{name:"warn",category:"logging",compatibility:["nodejs"],fn:Ne},{name:"error",category:"logging",compatibility:["nodejs"],fn:$e},{name:"danger",category:"logging",compatibility:["nodejs"],fn:Oe},{name:"bold",category:"logging",compatibility:["nodejs"],fn:Ae},{name:"_debug",category:"logging",compatibility:["nodejs"],fn:Re},{name:"_inspect",category:"logging",compatibility:["nodejs"],fn:Se}];import z from"micromatch";var L=(n,e,r)=>{let t=typeof e=="string"?e.split(/, */):e;return z(n,t,r)},Be=(n,e,r)=>z.isMatch(n,e,r),Te=(...n)=>(console.log("the {{mm}} helper is depcrecated and will be removed"),console.log("in handlebars-helpers v1.0.0, please use the {{match}}"),console.log("helper instead."),L(...n)),U=[{name:"match",category:"match",compatibility:["browser","nodejs"],fn:L},{name:"isMatch",category:"match",compatibility:["browser","nodejs"],fn:Be},{name:"mm",category:"match",compatibility:["browser","nodejs"],fn:Te}];var h=n=>typeof n=="number"&&!Number.isNaN(n)||typeof n=="string"&&n.trim()!==""&&!Number.isNaN(Number(n)),a=(n,e="expected a number")=>{if(h(n))return Number(n);throw new TypeError(e)},Ee=n=>{let e=a(n);return Math.abs(e)},Fe=(n,e)=>h(n)&&h(e)?Number(n)+Number(e):"",_e=(...n)=>{let e=n.flat().map(r=>Number(r));return I(e)/e.length},Ce=n=>{let e=a(n);return Math.ceil(e)},Me=(n,e)=>{let r=a(n,"expected the first argument to be a number"),t=a(e,"expected the second argument to be a number");return r/t},ze=n=>{let e=a(n);return Math.floor(e)},Le=(n,e)=>{let r=a(n,"expected the first argument to be a number"),t=a(e,"expected the second argument to be a number");return r-t},Ue=(n,e)=>{let r=a(n,"expected the first argument to be a number"),t=a(e,"expected the second argument to be a number");return r%t},P=(n,e)=>{let r=a(n,"expected the first argument to be a number"),t=a(e,"expected the second argument to be a number");return r*t},Pe=(n,e)=>{let r=a(n,"expected the first argument to be a number"),t=a(e,"expected the second argument to be a number");return r+t},Ie=(n,e)=>{let r=a(n,"expected minimum to be a number"),t=a(e,"expected maximum to be a number");return r+Math.floor(Math.random()*(t-r+1))},Je=(n,e)=>n%e,qe=n=>{let e=a(n);return Math.round(e)},We=(n,e)=>{let r=a(n,"expected the first argument to be a number"),t=a(e,"expected the second argument to be a number");return r-t},I=(...n)=>{let e=n.flat(),r=0;for(let t of e)h(t)&&(r+=Number(t));return r},De=(n,e)=>P(n,e),J=[{name:"abs",category:"math",compatibility:["browser","nodejs"],fn:Ee},{name:"add",category:"math",compatibility:["browser","nodejs"],fn:Fe},{name:"avg",category:"math",compatibility:["browser","nodejs"],fn:_e},{name:"ceil",category:"math",compatibility:["browser","nodejs"],fn:Ce},{name:"divide",category:"math",compatibility:["browser","nodejs"],fn:Me},{name:"floor",category:"math",compatibility:["browser","nodejs"],fn:ze},{name:"minus",category:"math",compatibility:["browser","nodejs"],fn:Le},{name:"modulo",category:"math",compatibility:["browser","nodejs"],fn:Ue},{name:"multiply",category:"math",compatibility:["browser","nodejs"],fn:P},{name:"plus",category:"math",compatibility:["browser","nodejs"],fn:Pe},{name:"random",category:"math",compatibility:["browser","nodejs"],fn:Ie},{name:"remainder",category:"math",compatibility:["browser","nodejs"],fn:Je},{name:"round",category:"math",compatibility:["browser","nodejs"],fn:qe},{name:"subtract",category:"math",compatibility:["browser","nodejs"],fn:We},{name:"sum",category:"math",compatibility:["browser","nodejs"],fn:I},{name:"times",category:"math",compatibility:["browser","nodejs"],fn:De}];import q from"fs";import Ge from"path";import ve from"process";import Ye from"ent";import Qe from"handlebars";import{Remarkable as Ze}from"remarkable";var Ve=(n,e={})=>{let r={cwd:ve.cwd(),...e},t=new Ze({breaks:!0,html:!0,langPrefix:"lang-",typographer:!1,xhtmlOut:!1}),o=Ge.resolve(r.cwd,n),s=n;return q.existsSync(o)&&(s=q.readFileSync(o,"utf8")),new Qe.SafeString(Ye.decode(t.render(s)))},W=[{name:"md",category:"markdown",compatibility:["nodejs"],fn:Ve}];import Ke from"get-value";import Xe from"handlebars-helper-create-frame";import nr from"handlebars-utils";import er from"kind-of";var rr=Xe;function tr(n,e,r){return Ke(nr.options(this,e,r),n)}function or(n){return n.fn(this)}var sr=er;function ir(n){return n.hash&&Object.keys(n.hash).length?n.fn(n.hash):n.inverse(this)}var D=[{name:"frame",category:"misc",compatibility:["browser","nodejs"],fn:rr},{name:"option",category:"misc",compatibility:["browser","nodejs"],fn:tr},{name:"noop",category:"misc",compatibility:["browser","nodejs"],fn:or},{name:"typeOf",category:"misc",compatibility:["browser","nodejs"],fn:sr},{name:"withHash",category:"misc",compatibility:["browser","nodejs"],fn:ir}];var u=n=>typeof n=="number"&&!Number.isNaN(n),ar=(n,e)=>{if(n==null)return"0 B";let r;if(typeof n=="string"){if(r=n.length,!r)return"0 B"}else if(u(n))r=Number(n);else if(typeof n.length=="number"){if(r=n.length,!r)return"0 B"}else return"0 B";let t=typeof e=="number"&&!Number.isNaN(e)?e:2,o=["B","kB","MB","GB","TB","PB","EB","ZB","YB"],s=10**t;for(let i=o.length-1;i>=0;i--){let c=10**(i*3);if(c<=r+1)return`${Math.round(r*s/c)/s} ${o[i]}`}return`${r}`},cr=n=>n.toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1,"),pr=n=>{let e=n.toString();return`(${e.substr(0,3)}) ${e.substr(3,3)}-${e.substr(6,4)}`},mr=(n,e)=>{let r=u(n)?Number(n):0,o=10**(typeof e=="number"&&!Number.isNaN(e)?e:2),s=["k","m","b","t","q"];for(let i=s.length-1;i>=0;i--){let c=10**((i+1)*3);if(c<=r+1)return`${Math.round(r*o/c)/o}${s[i]}`}return`${r}`},lr=(n,e)=>{let r=u(n)?Number(n):0,t=typeof e=="number"&&!Number.isNaN(e)?e:0;return Number(r).toExponential(t)},yr=(n,e)=>{let r=u(n)?Number(n):0,t=typeof e=="number"&&!Number.isNaN(e)?e:0;return Number(r).toFixed(t)},gr=n=>parseFloat(String(n)),fr=n=>parseInt(String(n),10),ur=(n,e)=>{let r=u(n)?Number(n):0,t=typeof e=="number"&&!Number.isNaN(e)?e:1;return Number(r).toPrecision(t)},G=[{name:"bytes",category:"number",compatibility:["browser","nodejs"],fn:ar},{name:"addCommas",category:"number",compatibility:["browser","nodejs"],fn:cr},{name:"phoneNumber",category:"number",compatibility:["browser","nodejs"],fn:pr},{name:"toAbbr",category:"number",compatibility:["browser","nodejs"],fn:mr},{name:"toExponential",category:"number",compatibility:["browser","nodejs"],fn:lr},{name:"toFixed",category:"number",compatibility:["browser","nodejs"],fn:yr},{name:"toFloat",category:"number",compatibility:["browser","nodejs"],fn:gr},{name:"toInt",category:"number",compatibility:["browser","nodejs"],fn:fr},{name:"toPrecision",category:"number",compatibility:["browser","nodejs"],fn:ur}];import v from"get-object";import br from"get-value";var w=n=>!!(n&&typeof n=="object"&&"hash"in n),Y=(n,e)=>({...n?.data||{},...e}),dr=(...n)=>{let e=[...n];if(e.length&&w(e[e.length-1])){let t=e.pop();e.push(t.hash)}let r={};for(let t of e)t&&typeof t=="object"&&!Array.isArray(t)&&Object.assign(r,t);return r},hr=(n,e)=>{if(!w(e))return e?.inverse?.(n)??"";let r=Y(e,e.hash||{}),t="";for(let o in n)r.key=o,t+=e.fn(n[o],{data:r});return t},wr=(n,e)=>{if(!w(e))return e?.inverse?.(n)??"";let r=Y(e,e.hash||{}),t="";for(let o in n)Object.hasOwn(n,o)&&(r.key=o,t+=e.fn(n[o],{data:r}));return t},jr=(...n)=>{let e=[];for(let r of n)(typeof r=="string"||typeof r=="number")&&e.push(r);return e.join(".")},kr=(n,e,r)=>{let t=br(e,n);return r&&typeof r.fn=="function"?t?r.fn(t):r.inverse?.(e):t},Hr=(n,e)=>v(e,n),xr=(n,e)=>Object.hasOwn(n,e),Nr=n=>!!n&&typeof n=="object"&&!Array.isArray(n),Q=n=>JSON.parse(n),Z=(n,e)=>JSON.stringify(n,null,typeof e=="number"?e:0),$r=(n,...e)=>{let r=[n,...e];if(r.length&&w(r[r.length-1])){let t=r.pop();r.push(t.hash)}return Object.assign(...r)},Or=Q,Ar=Z,Rr=(n,e,r)=>{let t=l(n),o={};for(let s of t)o=Object.assign({},o,v(e,s));return r&&typeof r.fn=="function"?Object.keys(o).length?r.fn(o):r.inverse?.(e):o},V=[{name:"extend",category:"object",compatibility:["browser","nodejs"],fn:dr},{name:"forIn",category:"object",compatibility:["browser","nodejs"],fn:hr},{name:"forOwn",category:"object",compatibility:["browser","nodejs"],fn:wr},{name:"toPath",category:"object",compatibility:["browser","nodejs"],fn:jr},{name:"get",category:"object",compatibility:["browser","nodejs"],fn:kr},{name:"getObject",category:"object",compatibility:["browser","nodejs"],fn:Hr},{name:"hasOwn",category:"object",compatibility:["browser","nodejs"],fn:xr},{name:"isObject",category:"object",compatibility:["browser","nodejs"],fn:Nr},{name:"JSONparse",category:"object",compatibility:["browser","nodejs"],fn:Q},{name:"JSONstringify",category:"object",compatibility:["browser","nodejs"],fn:Z},{name:"merge",category:"object",compatibility:["browser","nodejs"],fn:$r},{name:"parseJSON",category:"object",compatibility:["browser","nodejs"],fn:Or},{name:"pick",category:"object",compatibility:["browser","nodejs"],fn:Rr},{name:"stringify",category:"object",compatibility:["browser","nodejs"],fn:Ar}];import m from"path";var Sr=(n,e,r)=>{let t=Object.prototype.toString.call(r).slice(8,-1).toLowerCase();return`Expected ${n} to be of type ${e}, but got ${t}`},p=(n,e)=>{if(typeof e!="string")throw new TypeError(Sr(n,"string",e));return e},Br=function(n,e){let r=p("filepath",n),t=e?.data?.root?.cwd??this?.cwd??process.cwd();return m.resolve(t,r)},Tr=n=>{let e=p("filepath",n);return m.dirname(e)},Er=(n,e)=>{let r=p("first path",n),t=p("second path",e);return m.relative(m.dirname(r),t)},Fr=n=>{let e=p("filepath",n);return m.basename(e)},_r=n=>{let e=p("filepath",n);return m.basename(e,m.extname(e))},Cr=n=>{let e=p("filepath",n);return m.extname(e)},Mr=function(n,...e){let r,t=e[e.length-1];typeof t=="object"&&t&&"data"in t&&(r=e.pop());let s=[r?.data?.root?.cwd??this?.cwd??process.cwd(),p("filepath",n),...e.map((i,c)=>p(`path${c}`,i))];return m.resolve(...s)},zr=(n,e,r)=>{let t=p("filepath",n),o=Number(e),s=Number(r);return t.split(/[\\/]+/).slice(o,s).join("/")},K=[{name:"absolute",category:"path",compatibility:["nodejs"],fn:Br},{name:"dirname",category:"path",compatibility:["nodejs"],fn:Tr},{name:"relative",category:"path",compatibility:["nodejs"],fn:Er},{name:"basename",category:"path",compatibility:["nodejs"],fn:Fr},{name:"stem",category:"path",compatibility:["nodejs"],fn:_r},{name:"extname",category:"path",compatibility:["nodejs"],fn:Cr},{name:"resolve",category:"path",compatibility:["nodejs"],fn:Mr},{name:"segments",category:"path",compatibility:["nodejs"],fn:zr}];import Lr from"handlebars-utils";var Ur=(n,e,r)=>{let t=Lr.options({},e,r);return new RegExp(n,t.flags)},Pr=(n,e)=>{if(typeof n!="string")return!1;if(!(e instanceof RegExp))throw new TypeError("expected a regular expression");return e.test(n)},X=[{name:"toRegex",category:"regex",compatibility:["browser","nodejs"],fn:Ur},{name:"test",category:"regex",compatibility:["browser","nodejs"],fn:Pr}];var nn=n=>n.trim().replace(/^[-_.\W\s]+|[-_.\W\s]+$/g,""),g=(n,e)=>n.length===1?n.toLowerCase():nn(n).toLowerCase().replace(/[-_.\W\s]+(\w|$)/g,(t,o)=>e(o)),Ir=(n,e)=>typeof n=="string"&&typeof e=="string"?n+e:n,Jr=n=>typeof n=="string"?g(n,e=>e.toUpperCase()):"",en=n=>typeof n!="string"||n.length===0?"":n.charAt(0).toUpperCase()+n.slice(1),qr=n=>typeof n!="string"?"":n.replace(/\w\S*/g,e=>en(e)),Wr=(n,e)=>{if(typeof n!="string")return"";let r="";for(let t=0;t<e;t++)r+=" ";return r+n+r},Dr=n=>typeof n=="string"?nn(n):"",Gr=n=>typeof n=="string"?g(n,e=>`-${e}`):"",vr=n=>typeof n=="string"?g(n,e=>`.${e}`):"",rn=(n,e,r)=>typeof n=="string"?(typeof r!="string"&&(r=""),n.length>e?n.slice(0,e-r.length)+r:n):"",Yr=(n,e)=>typeof n=="string"?n.length<=e?n:`${rn(n,e)}\u2026`:"",Qr=n=>typeof n=="string"?n.split(" ").join("-"):"",Zr=n=>typeof n=="string",tn=n=>typeof n=="object"&&n!==null&&"fn"in n&&typeof n.fn=="function"?String(n.fn()).toLowerCase():typeof n!="string"?"":n.toLowerCase(),Vr=(...n)=>tn(...n),Kr=(n,e)=>{if(typeof n!="string")return"";let r=e.length,t=n.indexOf(e,0),o=0;for(;t>-1;)o++,t=n.indexOf(e,t+r);return o},Xr=n=>{if(typeof n!="string")return"";let e=g(n,r=>r.toUpperCase());return e.charAt(0).toUpperCase()+e.slice(1)},nt=n=>typeof n=="string"?g(n,e=>`/${e}`):"",et=(n,e)=>typeof n!="string"?"":(typeof e!="string"&&(e=" "),n.split(e).join("+")),rt=(n,e)=>typeof n=="string"&&typeof e=="string"?e+n:n,tt=(n,e)=>typeof n!="string"?"":typeof e!="string"?n:n.split(e).join(""),ot=(n,e)=>typeof n!="string"?"":typeof e!="string"?n:n.replace(e,""),st=(n,e,r)=>typeof n!="string"?"":typeof e!="string"?n:(typeof r!="string"&&(r=""),n.split(e).join(r)),it=(n,e,r)=>typeof n!="string"?"":typeof e!="string"?n:(typeof r!="string"&&(r=""),n.replace(e,r)),at=n=>typeof n=="string"?n.split("").reverse().join(""):"",ct=n=>typeof n!="string"?"":n.replace(/((?:\S[^.?!]*)[.?!]*)/g,e=>e.charAt(0).toUpperCase()+e.substr(1).toLowerCase()),pt=n=>typeof n=="string"?g(n,e=>`_${e}`):"",mt=n=>typeof n=="string"?n.trim():"",lt=n=>typeof n=="string"?n.replace(/^\s+/,""):"",yt=n=>typeof n=="string"?n.replace(/\s+$/,""):"",gt=(n,e,r)=>{if(typeof n=="string"&&typeof e=="number"&&Number.isFinite(e)){typeof r!="string"&&(r="...");let t=Math.trunc(e),o=n.split(" ");return t<o.length&&(o=o.slice(0,t)),o.join(" ").trim()+r}return""},ft=gt,on=n=>typeof n=="object"&&n!==null&&"fn"in n&&typeof n.fn=="function"?String(n.fn()).toUpperCase():typeof n!="string"?"":n.toUpperCase(),ut=(...n)=>on(...n),sn=[{name:"append",category:"string",compatibility:["browser","nodejs"],fn:Ir},{name:"camelcase",category:"string",compatibility:["browser","nodejs"],fn:Jr},{name:"capitalize",category:"string",compatibility:["browser","nodejs"],fn:en},{name:"capitalizeAll",category:"string",compatibility:["browser","nodejs"],fn:qr},{name:"center",category:"string",compatibility:["browser","nodejs"],fn:Wr},{name:"chop",category:"string",compatibility:["browser","nodejs"],fn:Dr},{name:"dashcase",category:"string",compatibility:["browser","nodejs"],fn:Gr},{name:"dotcase",category:"string",compatibility:["browser","nodejs"],fn:vr},{name:"ellipsis",category:"string",compatibility:["browser","nodejs"],fn:Yr},{name:"hyphenate",category:"string",compatibility:["browser","nodejs"],fn:Qr},{name:"isString",category:"string",compatibility:["browser","nodejs"],fn:Zr},{name:"lowercase",category:"string",compatibility:["browser","nodejs"],fn:tn},{name:"downcase",category:"string",compatibility:["browser","nodejs"],fn:Vr},{name:"occurrences",category:"string",compatibility:["browser","nodejs"],fn:Kr},{name:"pascalcase",category:"string",compatibility:["browser","nodejs"],fn:Xr},{name:"pathcase",category:"string",compatibility:["browser","nodejs"],fn:nt},{name:"plusify",category:"string",compatibility:["browser","nodejs"],fn:et},{name:"prepend",category:"string",compatibility:["browser","nodejs"],fn:rt},{name:"remove",category:"string",compatibility:["browser","nodejs"],fn:tt},{name:"removeFirst",category:"string",compatibility:["browser","nodejs"],fn:ot},{name:"replace",category:"string",compatibility:["browser","nodejs"],fn:st},{name:"replaceFirst",category:"string",compatibility:["browser","nodejs"],fn:it},{name:"reverse",category:"string",compatibility:["browser","nodejs"],fn:at},{name:"sentence",category:"string",compatibility:["browser","nodejs"],fn:ct},{name:"snakecase",category:"string",compatibility:["browser","nodejs"],fn:pt},{name:"trim",category:"string",compatibility:["browser","nodejs"],fn:mt},{name:"trimLeft",category:"string",compatibility:["browser","nodejs"],fn:lt},{name:"trimRight",category:"string",compatibility:["browser","nodejs"],fn:yt},{name:"truncate",category:"string",compatibility:["browser","nodejs"],fn:rn},{name:"truncateWords",category:"string",compatibility:["browser","nodejs"],fn:ft},{name:"uppercase",category:"string",compatibility:["browser","nodejs"],fn:on},{name:"upcase",category:"string",compatibility:["browser","nodejs"],fn:ut}];import{escape as bt}from"querystring";import{format as dt,parse as an,resolve as ht}from"url";var b=["browser","nodejs"],cn=n=>{if(typeof n=="string")return encodeURIComponent(n)},wt=n=>{if(typeof n=="string")return bt(n)},pn=n=>{if(typeof n=="string")return decodeURIComponent(n)};function jt(...n){return cn.apply(this,n)}function kt(...n){return pn.apply(this,n)}var Ht=(n,e)=>ht(String(n),String(e)),xt=n=>an(String(n)),Nt=n=>{if(typeof n=="string")return n.split("?")[0]},$t=n=>{if(typeof n=="string"){let e=an(n);return e.protocol="",dt(e)}},mn=[{name:"encodeURI",category:"url",compatibility:b,fn:cn},{name:"escape",category:"url",compatibility:["nodejs"],fn:wt},{name:"decodeURI",category:"url",compatibility:b,fn:pn},{name:"url_encode",category:"url",compatibility:b,fn:jt},{name:"url_decode",category:"url",compatibility:b,fn:kt},{name:"urlResolve",category:"url",compatibility:["nodejs"],fn:Ht},{name:"urlParse",category:"url",compatibility:["nodejs"],fn:xt},{name:"stripQuerystring",category:"url",compatibility:b,fn:Nt},{name:"stripProtocol",category:"url",compatibility:["nodejs"],fn:$t}];var f=class{_helpers=[];constructor(){this.init()}get helpers(){return this._helpers}init(){this.registerHelpers(x),this.registerHelpers(O),this.registerHelpers(B),this.registerHelpers(T),this.registerHelpers($),this.registerHelpers(W),this.registerHelpers(F),this.registerHelpers(R),this.registerHelpers(_),this.registerHelpers(C),this.registerHelpers(M),this.registerHelpers(U),this.registerHelpers(J),this.registerHelpers(D),this.registerHelpers(G),this.registerHelpers(K),this.registerHelpers(X),this.registerHelpers(sn),this.registerHelpers(mn),this.registerHelpers(V)}register(e){return this.has(e.name)||this._helpers.push(e),!1}registerHelpers(e){for(let r of e)this.register(r)}has(e){return this._helpers.some(r=>r.name===e)}filter(e){let r=this._helpers;return e.names&&(r=r.filter(t=>e.names?.includes(t.name))),e.categories&&(r=r.filter(t=>e.categories?.includes(t.category))),e.compatibility&&(r=r.filter(t=>t.compatibility?.some(o=>e.compatibility?.includes(o)))),r}load(e,r){let t=this._helpers;r&&(t=this.filter(r));for(let o of t)e.registerHelper(o.name,o.fn)}swap(e){for(let r of this._helpers)e.unregisterHelper(r.name),e.registerHelper(r.name,r.fn)}};var Vo=j,Ko=j.create();function Xo(n){new f().load(n.handlebars??n.hbs)}async function ns(){let n=new f,e=j.create();return n.load(e),process.env.NODE_ENV==="development"&&console.warn("createHandlebars will be deprecated in future versions, use `fumanchu` instead."),e}function es(n){let e=new f,r=j.create();return n?.handlebars&&(r=n.handlebars),e.load(r),r}export{Vo as Handlebars,f as HelperRegistry,ns as createHandlebars,es as fumanchu,Ko as handlebars,Xo as helpers};
|
|
10
|
+
`:n+=r,e.caption&&(n+=`<figcaption>${e.caption}</figcaption>
|
|
11
|
+
`),n+="</figure>",n},C=[{name:"attr",category:"html",compatibility:["browser","nodejs"],fn:cn},{name:"css",category:"html",compatibility:["nodejs"],fn:pn},{name:"js",category:"html",compatibility:["nodejs"],fn:mn},{name:"sanitize",category:"html",compatibility:["browser","nodejs"],fn:ln},{name:"ul",category:"html",compatibility:["browser","nodejs"],fn:yn},{name:"ol",category:"html",compatibility:["browser","nodejs"],fn:gn},{name:"thumbnailImage",category:"html",compatibility:["browser","nodejs"],fn}];var f=(e,n)=>{if(!e||typeof e!="object")return;let r=Array.isArray(n)?n:n.split("."),t=e;for(let o of r){if(t==null||typeof t!="object")return;t=t[o]}return t},O=(e,n)=>{if(!e||typeof e!="object")return;let r=Array.isArray(n)?n:n.split(".");if(r.length===0)return;let t=e;for(let s=0;s<r.length-1;s++){if(t==null||typeof t!="object")return;t=t[r[s]]}let o=r[r.length-1];if(!(t==null||typeof t!="object"||!(o in t)))return{[o]:t[o]}};var un=function(e,n,r){if(n&&typeof n=="object"&&"hash"in n&&r===void 0&&(r=n,n={}),typeof e!="string")throw new Error('{{i18n}} helper expected "key" to be a string');let t={...this,...n,...r?.hash??{}},o=t.language||t.lang;if(typeof o!="string")throw new TypeError('{{i18n}} helper expected "language" to be a string');let s=t[o];if(typeof s>"u")throw new Error(`{{i18n}} helper cannot find language "${o}"`);let i=f(s,e);if(typeof i>"u")throw new Error('{{i18n}} helper cannot find property "'+String(e)+'" for language "'+o+'"');return String(i)},M=[{name:"i18n",category:"i18n",compatibility:["browser","nodejs"],fn:un}];var bn=(e,n,r,t)=>{let o=e>1||e===0?r:n;return t?`${e} ${o}`:o},dn=e=>{let n=Math.abs(Math.round(Number(e))),r=String(e),t=n%100;if([11,12,13].includes(t))return`${r}th`;switch(n%10){case 1:return`${r}st`;case 2:return`${r}nd`;case 3:return`${r}rd`;default:return`${r}th`}},z=[{name:"inflect",category:"inflection",compatibility:["browser","nodejs"],fn:bn},{name:"ordinalize",category:"inflection",compatibility:["browser","nodejs"],fn:dn}];import hn from"logging-helpers";var{log:wn,ok:jn,success:kn,info:Hn,warning:xn,warn:On,error:Nn,danger:$n,bold:An,_debug:Rn,_inspect:Sn}=hn,L=[{name:"log",category:"logging",compatibility:["nodejs"],fn:wn},{name:"ok",category:"logging",compatibility:["nodejs"],fn:jn},{name:"success",category:"logging",compatibility:["nodejs"],fn:kn},{name:"info",category:"logging",compatibility:["nodejs"],fn:Hn},{name:"warning",category:"logging",compatibility:["nodejs"],fn:xn},{name:"warn",category:"logging",compatibility:["nodejs"],fn:On},{name:"error",category:"logging",compatibility:["nodejs"],fn:Nn},{name:"danger",category:"logging",compatibility:["nodejs"],fn:$n},{name:"bold",category:"logging",compatibility:["nodejs"],fn:An},{name:"_debug",category:"logging",compatibility:["nodejs"],fn:Rn},{name:"_inspect",category:"logging",compatibility:["nodejs"],fn:Sn}];import P from"micromatch";var U=(e,n,r)=>{let t=typeof n=="string"?n.split(/, */):n;return P(e,t,r)},Bn=(e,n,r)=>P.isMatch(e,n,r),Tn=(...e)=>(console.log("the {{mm}} helper is depcrecated and will be removed"),console.log("in handlebars-helpers v1.0.0, please use the {{match}}"),console.log("helper instead."),U(...e)),I=[{name:"match",category:"match",compatibility:["browser","nodejs"],fn:U},{name:"isMatch",category:"match",compatibility:["browser","nodejs"],fn:Bn},{name:"mm",category:"match",compatibility:["browser","nodejs"],fn:Tn}];var j=e=>typeof e=="number"&&!Number.isNaN(e)||typeof e=="string"&&e.trim()!==""&&!Number.isNaN(Number(e)),a=(e,n="expected a number")=>{if(j(e))return Number(e);throw new TypeError(n)},En=e=>{let n=a(e);return Math.abs(n)},Fn=(e,n)=>j(e)&&j(n)?Number(e)+Number(n):"",_n=(...e)=>{let n=e.flat().map(r=>Number(r));return q(n)/n.length},Cn=e=>{let n=a(e);return Math.ceil(n)},Mn=(e,n)=>{let r=a(e,"expected the first argument to be a number"),t=a(n,"expected the second argument to be a number");return r/t},zn=e=>{let n=a(e);return Math.floor(n)},Ln=(e,n)=>{let r=a(e,"expected the first argument to be a number"),t=a(n,"expected the second argument to be a number");return r-t},Pn=(e,n)=>{let r=a(e,"expected the first argument to be a number"),t=a(n,"expected the second argument to be a number");return r%t},J=(e,n)=>{let r=a(e,"expected the first argument to be a number"),t=a(n,"expected the second argument to be a number");return r*t},Un=(e,n)=>{let r=a(e,"expected the first argument to be a number"),t=a(n,"expected the second argument to be a number");return r+t},In=(e,n)=>{let r=a(e,"expected minimum to be a number"),t=a(n,"expected maximum to be a number");return r+Math.floor(Math.random()*(t-r+1))},Jn=(e,n)=>e%n,qn=e=>{let n=a(e);return Math.round(n)},Wn=(e,n)=>{let r=a(e,"expected the first argument to be a number"),t=a(n,"expected the second argument to be a number");return r-t},q=(...e)=>{let n=e.flat(),r=0;for(let t of n)j(t)&&(r+=Number(t));return r},Dn=(e,n)=>J(e,n),W=[{name:"abs",category:"math",compatibility:["browser","nodejs"],fn:En},{name:"add",category:"math",compatibility:["browser","nodejs"],fn:Fn},{name:"avg",category:"math",compatibility:["browser","nodejs"],fn:_n},{name:"ceil",category:"math",compatibility:["browser","nodejs"],fn:Cn},{name:"divide",category:"math",compatibility:["browser","nodejs"],fn:Mn},{name:"floor",category:"math",compatibility:["browser","nodejs"],fn:zn},{name:"minus",category:"math",compatibility:["browser","nodejs"],fn:Ln},{name:"modulo",category:"math",compatibility:["browser","nodejs"],fn:Pn},{name:"multiply",category:"math",compatibility:["browser","nodejs"],fn:J},{name:"plus",category:"math",compatibility:["browser","nodejs"],fn:Un},{name:"random",category:"math",compatibility:["browser","nodejs"],fn:In},{name:"remainder",category:"math",compatibility:["browser","nodejs"],fn:Jn},{name:"round",category:"math",compatibility:["browser","nodejs"],fn:qn},{name:"subtract",category:"math",compatibility:["browser","nodejs"],fn:Wn},{name:"sum",category:"math",compatibility:["browser","nodejs"],fn:q},{name:"times",category:"math",compatibility:["browser","nodejs"],fn:Dn}];import D from"fs";import Gn from"path";import vn from"process";import Yn from"ent";import Qn from"handlebars";import{Remarkable as Zn}from"remarkable";var Kn=(e,n={})=>{let r={cwd:vn.cwd(),...n},t=new Zn({breaks:!0,html:!0,langPrefix:"lang-",typographer:!1,xhtmlOut:!1}),o=Gn.resolve(r.cwd,e),s=e;return D.existsSync(o)&&(s=D.readFileSync(o,"utf8")),new Qn.SafeString(Yn.decode(t.render(s)))},G=[{name:"md",category:"markdown",compatibility:["nodejs"],fn:Kn}];import Vn from"handlebars-helper-create-frame";import Xn from"handlebars-utils";import er from"kind-of";var nr=Vn;function rr(e,n,r){return f(Xn.options(this,n,r),e)}function tr(e){return e.fn(this)}var or=er;function sr(e){return e.hash&&Object.keys(e.hash).length?e.fn(e.hash):e.inverse(this)}var v=[{name:"frame",category:"misc",compatibility:["browser","nodejs"],fn:nr},{name:"option",category:"misc",compatibility:["browser","nodejs"],fn:rr},{name:"noop",category:"misc",compatibility:["browser","nodejs"],fn:tr},{name:"typeOf",category:"misc",compatibility:["browser","nodejs"],fn:or},{name:"withHash",category:"misc",compatibility:["browser","nodejs"],fn:sr}];var d=e=>typeof e=="number"&&!Number.isNaN(e),ir=(e,n)=>{if(e==null)return"0 B";let r;if(typeof e=="string"){if(r=e.length,!r)return"0 B"}else if(d(e))r=Number(e);else if(typeof e.length=="number"){if(r=e.length,!r)return"0 B"}else return"0 B";let t=typeof n=="number"&&!Number.isNaN(n)?n:2,o=["B","kB","MB","GB","TB","PB","EB","ZB","YB"],s=10**t;for(let i=o.length-1;i>=0;i--){let c=10**(i*3);if(c<=r+1)return`${Math.round(r*s/c)/s} ${o[i]}`}return`${r}`},ar=e=>e.toString().replace(/(\d)(?=(\d\d\d)+(?!\d))/g,"$1,"),cr=e=>{let n=e.toString();return`(${n.substr(0,3)}) ${n.substr(3,3)}-${n.substr(6,4)}`},pr=(e,n)=>{let r=d(e)?Number(e):0,o=10**(typeof n=="number"&&!Number.isNaN(n)?n:2),s=["k","m","b","t","q"];for(let i=s.length-1;i>=0;i--){let c=10**((i+1)*3);if(c<=r+1)return`${Math.round(r*o/c)/o}${s[i]}`}return`${r}`},mr=(e,n)=>{let r=d(e)?Number(e):0,t=typeof n=="number"&&!Number.isNaN(n)?n:0;return Number(r).toExponential(t)},lr=(e,n)=>{let r=d(e)?Number(e):0,t=typeof n=="number"&&!Number.isNaN(n)?n:0;return Number(r).toFixed(t)},yr=e=>parseFloat(String(e)),gr=e=>parseInt(String(e),10),fr=(e,n)=>{let r=d(e)?Number(e):0,t=typeof n=="number"&&!Number.isNaN(n)?n:1;return Number(r).toPrecision(t)},Y=[{name:"bytes",category:"number",compatibility:["browser","nodejs"],fn:ir},{name:"addCommas",category:"number",compatibility:["browser","nodejs"],fn:ar},{name:"phoneNumber",category:"number",compatibility:["browser","nodejs"],fn:cr},{name:"toAbbr",category:"number",compatibility:["browser","nodejs"],fn:pr},{name:"toExponential",category:"number",compatibility:["browser","nodejs"],fn:mr},{name:"toFixed",category:"number",compatibility:["browser","nodejs"],fn:lr},{name:"toFloat",category:"number",compatibility:["browser","nodejs"],fn:yr},{name:"toInt",category:"number",compatibility:["browser","nodejs"],fn:gr},{name:"toPrecision",category:"number",compatibility:["browser","nodejs"],fn:fr}];var k=e=>!!(e&&typeof e=="object"&&"hash"in e),Q=(e,n)=>({...e?.data||{},...n}),ur=(...e)=>{let n=[...e];if(n.length&&k(n[n.length-1])){let t=n.pop();n.push(t.hash)}let r={};for(let t of n)t&&typeof t=="object"&&!Array.isArray(t)&&Object.assign(r,t);return r},br=(e,n)=>{if(!k(n))return n?.inverse?.(e)??"";let r=Q(n,n.hash||{}),t="";for(let o in e)r.key=o,t+=n.fn(e[o],{data:r});return t},dr=(e,n)=>{if(!k(n))return n?.inverse?.(e)??"";let r=Q(n,n.hash||{}),t="";for(let o in e)Object.hasOwn(e,o)&&(r.key=o,t+=n.fn(e[o],{data:r}));return t},hr=(...e)=>{let n=[];for(let r of e)(typeof r=="string"||typeof r=="number")&&n.push(r);return n.join(".")},wr=(e,n,r)=>{let t=f(n,e);return r&&typeof r.fn=="function"?t?r.fn(t):r.inverse?.(n):t},jr=(e,n)=>O(n,e),kr=(e,n)=>Object.hasOwn(e,n),Hr=e=>!!e&&typeof e=="object"&&!Array.isArray(e),Z=e=>JSON.parse(e),K=(e,n)=>JSON.stringify(e,null,typeof n=="number"?n:0),xr=(e,...n)=>{let r=[e,...n];if(r.length&&k(r[r.length-1])){let t=r.pop();r.push(t.hash)}return Object.assign(...r)},Or=Z,Nr=K,$r=(e,n,r)=>{let t=y(e),o={};for(let s of t)o=Object.assign({},o,O(n,s));return r&&typeof r.fn=="function"?Object.keys(o).length?r.fn(o):r.inverse?.(n):o},V=[{name:"extend",category:"object",compatibility:["browser","nodejs"],fn:ur},{name:"forIn",category:"object",compatibility:["browser","nodejs"],fn:br},{name:"forOwn",category:"object",compatibility:["browser","nodejs"],fn:dr},{name:"toPath",category:"object",compatibility:["browser","nodejs"],fn:hr},{name:"get",category:"object",compatibility:["browser","nodejs"],fn:wr},{name:"getObject",category:"object",compatibility:["browser","nodejs"],fn:jr},{name:"hasOwn",category:"object",compatibility:["browser","nodejs"],fn:kr},{name:"isObject",category:"object",compatibility:["browser","nodejs"],fn:Hr},{name:"JSONparse",category:"object",compatibility:["browser","nodejs"],fn:Z},{name:"JSONstringify",category:"object",compatibility:["browser","nodejs"],fn:K},{name:"merge",category:"object",compatibility:["browser","nodejs"],fn:xr},{name:"parseJSON",category:"object",compatibility:["browser","nodejs"],fn:Or},{name:"pick",category:"object",compatibility:["browser","nodejs"],fn:$r},{name:"stringify",category:"object",compatibility:["browser","nodejs"],fn:Nr}];import m from"path";var Ar=(e,n,r)=>{let t=Object.prototype.toString.call(r).slice(8,-1).toLowerCase();return`Expected ${e} to be of type ${n}, but got ${t}`},p=(e,n)=>{if(typeof n!="string")throw new TypeError(Ar(e,"string",n));return n},Rr=function(e,n){let r=p("filepath",e),t=n?.data?.root?.cwd??this?.cwd??process.cwd();return m.resolve(t,r)},Sr=e=>{let n=p("filepath",e);return m.dirname(n)},Br=(e,n)=>{let r=p("first path",e),t=p("second path",n);return m.relative(m.dirname(r),t)},Tr=e=>{let n=p("filepath",e);return m.basename(n)},Er=e=>{let n=p("filepath",e);return m.basename(n,m.extname(n))},Fr=e=>{let n=p("filepath",e);return m.extname(n)},_r=function(e,...n){let r,t=n[n.length-1];typeof t=="object"&&t&&"data"in t&&(r=n.pop());let s=[r?.data?.root?.cwd??this?.cwd??process.cwd(),p("filepath",e),...n.map((i,c)=>p(`path${c}`,i))];return m.resolve(...s)},Cr=(e,n,r)=>{let t=p("filepath",e),o=Number(n),s=Number(r);return t.split(/[\\/]+/).slice(o,s).join("/")},X=[{name:"absolute",category:"path",compatibility:["nodejs"],fn:Rr},{name:"dirname",category:"path",compatibility:["nodejs"],fn:Sr},{name:"relative",category:"path",compatibility:["nodejs"],fn:Br},{name:"basename",category:"path",compatibility:["nodejs"],fn:Tr},{name:"stem",category:"path",compatibility:["nodejs"],fn:Er},{name:"extname",category:"path",compatibility:["nodejs"],fn:Fr},{name:"resolve",category:"path",compatibility:["nodejs"],fn:_r},{name:"segments",category:"path",compatibility:["nodejs"],fn:Cr}];import Mr from"handlebars-utils";var zr=(e,n,r)=>{let t=Mr.options({},n,r);return new RegExp(e,t.flags)},Lr=(e,n)=>{if(typeof e!="string")return!1;if(!(n instanceof RegExp))throw new TypeError("expected a regular expression");return n.test(e)},ee=[{name:"toRegex",category:"regex",compatibility:["browser","nodejs"],fn:zr},{name:"test",category:"regex",compatibility:["browser","nodejs"],fn:Lr}];var ne=e=>e.trim().replace(/^[-_.\W\s]+|[-_.\W\s]+$/g,""),u=(e,n)=>e.length===1?e.toLowerCase():ne(e).toLowerCase().replace(/[-_.\W\s]+(\w|$)/g,(t,o)=>n(o)),Pr=(e,n)=>typeof e=="string"&&typeof n=="string"?e+n:e,Ur=e=>typeof e=="string"?u(e,n=>n.toUpperCase()):"",re=e=>typeof e!="string"||e.length===0?"":e.charAt(0).toUpperCase()+e.slice(1),Ir=e=>typeof e!="string"?"":e.replace(/\w\S*/g,n=>re(n)),Jr=(e,n)=>{if(typeof e!="string")return"";let r="";for(let t=0;t<n;t++)r+=" ";return r+e+r},qr=e=>typeof e=="string"?ne(e):"",Wr=e=>typeof e=="string"?u(e,n=>`-${n}`):"",Dr=e=>typeof e=="string"?u(e,n=>`.${n}`):"",te=(e,n,r)=>typeof e=="string"?(typeof r!="string"&&(r=""),e.length>n?e.slice(0,n-r.length)+r:e):"",Gr=(e,n)=>typeof e=="string"?e.length<=n?e:`${te(e,n)}\u2026`:"",vr=e=>typeof e=="string"?e.split(" ").join("-"):"",Yr=e=>typeof e=="string",oe=e=>typeof e=="object"&&e!==null&&"fn"in e&&typeof e.fn=="function"?String(e.fn()).toLowerCase():typeof e!="string"?"":e.toLowerCase(),Qr=(...e)=>oe(...e),Zr=(e,n)=>{if(typeof e!="string")return"";let r=n.length,t=e.indexOf(n,0),o=0;for(;t>-1;)o++,t=e.indexOf(n,t+r);return o},Kr=e=>{if(typeof e!="string")return"";let n=u(e,r=>r.toUpperCase());return n.charAt(0).toUpperCase()+n.slice(1)},Vr=e=>typeof e=="string"?u(e,n=>`/${n}`):"",Xr=(e,n)=>typeof e!="string"?"":(typeof n!="string"&&(n=" "),e.split(n).join("+")),et=(e,n)=>typeof e=="string"&&typeof n=="string"?n+e:e,nt=(e,n)=>typeof e!="string"?"":typeof n!="string"?e:e.split(n).join(""),rt=(e,n)=>typeof e!="string"?"":typeof n!="string"?e:e.replace(n,""),tt=(e,n,r)=>typeof e!="string"?"":typeof n!="string"?e:(typeof r!="string"&&(r=""),e.split(n).join(r)),ot=(e,n,r)=>typeof e!="string"?"":typeof n!="string"?e:(typeof r!="string"&&(r=""),e.replace(n,r)),st=e=>typeof e=="string"?e.split("").reverse().join(""):"",it=e=>typeof e!="string"?"":e.replace(/((?:\S[^.?!]*)[.?!]*)/g,n=>n.charAt(0).toUpperCase()+n.substr(1).toLowerCase()),at=e=>typeof e=="string"?u(e,n=>`_${n}`):"",ct=e=>typeof e=="string"?e.trim():"",pt=e=>typeof e=="string"?e.replace(/^\s+/,""):"",mt=e=>typeof e=="string"?e.replace(/\s+$/,""):"",lt=(e,n,r)=>{if(typeof e=="string"&&typeof n=="number"&&Number.isFinite(n)){typeof r!="string"&&(r="...");let t=Math.trunc(n),o=e.split(" ");return t<o.length&&(o=o.slice(0,t)),o.join(" ").trim()+r}return""},yt=lt,se=e=>typeof e=="object"&&e!==null&&"fn"in e&&typeof e.fn=="function"?String(e.fn()).toUpperCase():typeof e!="string"?"":e.toUpperCase(),gt=(...e)=>se(...e),ie=[{name:"append",category:"string",compatibility:["browser","nodejs"],fn:Pr},{name:"camelcase",category:"string",compatibility:["browser","nodejs"],fn:Ur},{name:"capitalize",category:"string",compatibility:["browser","nodejs"],fn:re},{name:"capitalizeAll",category:"string",compatibility:["browser","nodejs"],fn:Ir},{name:"center",category:"string",compatibility:["browser","nodejs"],fn:Jr},{name:"chop",category:"string",compatibility:["browser","nodejs"],fn:qr},{name:"dashcase",category:"string",compatibility:["browser","nodejs"],fn:Wr},{name:"dotcase",category:"string",compatibility:["browser","nodejs"],fn:Dr},{name:"ellipsis",category:"string",compatibility:["browser","nodejs"],fn:Gr},{name:"hyphenate",category:"string",compatibility:["browser","nodejs"],fn:vr},{name:"isString",category:"string",compatibility:["browser","nodejs"],fn:Yr},{name:"lowercase",category:"string",compatibility:["browser","nodejs"],fn:oe},{name:"downcase",category:"string",compatibility:["browser","nodejs"],fn:Qr},{name:"occurrences",category:"string",compatibility:["browser","nodejs"],fn:Zr},{name:"pascalcase",category:"string",compatibility:["browser","nodejs"],fn:Kr},{name:"pathcase",category:"string",compatibility:["browser","nodejs"],fn:Vr},{name:"plusify",category:"string",compatibility:["browser","nodejs"],fn:Xr},{name:"prepend",category:"string",compatibility:["browser","nodejs"],fn:et},{name:"remove",category:"string",compatibility:["browser","nodejs"],fn:nt},{name:"removeFirst",category:"string",compatibility:["browser","nodejs"],fn:rt},{name:"replace",category:"string",compatibility:["browser","nodejs"],fn:tt},{name:"replaceFirst",category:"string",compatibility:["browser","nodejs"],fn:ot},{name:"reverse",category:"string",compatibility:["browser","nodejs"],fn:st},{name:"sentence",category:"string",compatibility:["browser","nodejs"],fn:it},{name:"snakecase",category:"string",compatibility:["browser","nodejs"],fn:at},{name:"trim",category:"string",compatibility:["browser","nodejs"],fn:ct},{name:"trimLeft",category:"string",compatibility:["browser","nodejs"],fn:pt},{name:"trimRight",category:"string",compatibility:["browser","nodejs"],fn:mt},{name:"truncate",category:"string",compatibility:["browser","nodejs"],fn:te},{name:"truncateWords",category:"string",compatibility:["browser","nodejs"],fn:yt},{name:"uppercase",category:"string",compatibility:["browser","nodejs"],fn:se},{name:"upcase",category:"string",compatibility:["browser","nodejs"],fn:gt}];import{escape as ft}from"querystring";import{format as ut,parse as ae,resolve as bt}from"url";var h=["browser","nodejs"],ce=e=>{if(typeof e=="string")return encodeURIComponent(e)},dt=e=>{if(typeof e=="string")return ft(e)},pe=e=>{if(typeof e=="string")return decodeURIComponent(e)};function ht(...e){return ce.apply(this,e)}function wt(...e){return pe.apply(this,e)}var jt=(e,n)=>bt(String(e),String(n)),kt=e=>ae(String(e)),Ht=e=>{if(typeof e=="string")return e.split("?")[0]},xt=e=>{if(typeof e=="string"){let n=ae(e);return n.protocol="",ut(n)}},me=[{name:"encodeURI",category:"url",compatibility:h,fn:ce},{name:"escape",category:"url",compatibility:["nodejs"],fn:dt},{name:"decodeURI",category:"url",compatibility:h,fn:pe},{name:"url_encode",category:"url",compatibility:h,fn:ht},{name:"url_decode",category:"url",compatibility:h,fn:wt},{name:"urlResolve",category:"url",compatibility:["nodejs"],fn:jt},{name:"urlParse",category:"url",compatibility:["nodejs"],fn:kt},{name:"stripQuerystring",category:"url",compatibility:h,fn:Ht},{name:"stripProtocol",category:"url",compatibility:["nodejs"],fn:xt}];var b=class{_helpers=[];constructor(){this.init()}get helpers(){return this._helpers}init(){this.registerHelpers(N),this.registerHelpers(R),this.registerHelpers(E),this.registerHelpers(F),this.registerHelpers(A),this.registerHelpers(G),this.registerHelpers(C),this.registerHelpers(B),this.registerHelpers(M),this.registerHelpers(z),this.registerHelpers(L),this.registerHelpers(I),this.registerHelpers(W),this.registerHelpers(v),this.registerHelpers(Y),this.registerHelpers(X),this.registerHelpers(ee),this.registerHelpers(ie),this.registerHelpers(me),this.registerHelpers(V)}register(n){return this.has(n.name)||this._helpers.push(n),!1}registerHelpers(n){for(let r of n)this.register(r)}has(n){return this._helpers.some(r=>r.name===n)}filter(n){let r=this._helpers;return n.names&&(r=r.filter(t=>n.names?.includes(t.name))),n.categories&&(r=r.filter(t=>n.categories?.includes(t.category))),n.compatibility&&(r=r.filter(t=>t.compatibility?.some(o=>n.compatibility?.includes(o)))),r}load(n,r){let t=this._helpers;r&&(t=this.filter(r));for(let o of t)n.registerHelper(o.name,o.fn)}swap(n){for(let r of this._helpers)n.unregisterHelper(r.name),n.registerHelper(r.name,r.fn)}};var Qo=l,Zo=l.create();function Ko(e){new b().load(e.handlebars??e.hbs)}async function Vo(){let e=new b,n=l.create();return Object.keys(l.partials).length>0&&n.registerPartial(l.partials),e.load(n),process.env.NODE_ENV==="development"&&console.warn("createHandlebars will be deprecated in future versions, use `fumanchu` instead."),n}function Xo(e){let n=new b,r=l.create();return e?.handlebars?r=e.handlebars:Object.keys(l.partials).length>0&&r.registerPartial(l.partials),n.load(r),r}export{Qo as Handlebars,b as HelperRegistry,Vo as createHandlebars,Xo as fumanchu,Zo as handlebars,Ko as helpers};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@jaredwray/fumanchu",
|
|
3
3
|
"description": "Handlebars + Helpers = Fumanchu",
|
|
4
|
-
"version": "4.0.
|
|
4
|
+
"version": "4.0.3",
|
|
5
5
|
"homepage": "https://github.com/jaredwray/fumanchu",
|
|
6
6
|
"author": "Jared Wray (me@jaredwray.com)",
|
|
7
7
|
"type": "module",
|
|
@@ -66,8 +66,6 @@
|
|
|
66
66
|
"chrono-node": "2.8.4",
|
|
67
67
|
"dayjs": "^1.11.18",
|
|
68
68
|
"ent": "^2.2.2",
|
|
69
|
-
"get-object": "^0.2.0",
|
|
70
|
-
"get-value": "^4.0.1",
|
|
71
69
|
"handlebars": "^4.7.8",
|
|
72
70
|
"handlebars-helper-create-frame": "^0.1.0",
|
|
73
71
|
"handlebars-utils": "^1.0.6",
|
|
@@ -83,7 +81,6 @@
|
|
|
83
81
|
"devDependencies": {
|
|
84
82
|
"@biomejs/biome": "^2.2.4",
|
|
85
83
|
"@types/ent": "^2.2.8",
|
|
86
|
-
"@types/get-value": "^3.0.5",
|
|
87
84
|
"@types/html-tag": "^2.0.2",
|
|
88
85
|
"@types/is-glob": "^4.0.4",
|
|
89
86
|
"@types/kind-of": "^6.0.3",
|