nuxt-og-image 3.0.0-rc.9 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -24
- package/dist/client/200.html +274 -15
- package/dist/client/404.html +274 -15
- package/dist/client/_nuxt/0OCEc-sb.js +1 -0
- package/dist/client/_nuxt/16nqZaIT.js +1 -0
- package/dist/client/_nuxt/3Ts0ZrM4.js +4 -0
- package/dist/client/_nuxt/44JOqR_V.js +1 -0
- package/dist/client/_nuxt/4FkZXfg1.js +3 -0
- package/dist/client/_nuxt/4WleZr1P.js +1 -0
- package/dist/client/_nuxt/5HixFuyr.js +1 -0
- package/dist/client/_nuxt/5bRVBCrv.js +1 -0
- package/dist/client/_nuxt/7LPQ6a13.js +2 -0
- package/dist/client/_nuxt/8WiSp-0_.js +1 -0
- package/dist/client/_nuxt/9CfBjzQa.js +1 -0
- package/dist/client/_nuxt/B-9EjyZr.js +1 -0
- package/dist/client/_nuxt/B-a2BbyY.js +1 -0
- package/dist/client/_nuxt/B0LoMq2b.js +1 -0
- package/dist/client/_nuxt/B1ejXUAS.js +1 -0
- package/dist/client/_nuxt/B2DkETJQ.js +1 -0
- package/dist/client/_nuxt/B3LRAdDP.js +1 -0
- package/dist/client/_nuxt/B3a86pAO.js +1 -0
- package/dist/client/_nuxt/B5La0Eyp.js +1 -0
- package/dist/client/_nuxt/B6E6ObS_.js +8 -0
- package/dist/client/_nuxt/B7-FEXAT.js +1 -0
- package/dist/client/_nuxt/B9HI_aQy.js +1 -0
- package/dist/client/_nuxt/B9vFkdfw.js +1 -0
- package/dist/client/_nuxt/BAGvEKUB.js +1 -0
- package/dist/client/_nuxt/BAp2aEeE.js +1 -0
- package/dist/client/_nuxt/BB9S_66N.js +1 -0
- package/dist/client/_nuxt/BBDuFDsq.js +1 -0
- package/dist/client/_nuxt/BC7ivatP.js +1 -0
- package/dist/client/_nuxt/BCOu96sC.js +1 -0
- package/dist/client/_nuxt/BD3t3nJY.js +1 -0
- package/dist/client/_nuxt/BDJ7po1j.js +1 -0
- package/dist/client/_nuxt/BGk6HrHT.js +1 -0
- package/dist/client/_nuxt/BHSTd-7M.js +1 -0
- package/dist/client/_nuxt/BITGhEdf.js +1 -0
- package/dist/client/_nuxt/BKFBoKT4.js +1 -0
- package/dist/client/_nuxt/BKNiEhql.js +1 -0
- package/dist/client/_nuxt/BLmvGqlk.js +1 -0
- package/dist/client/_nuxt/BMRpS3Xo.js +1 -0
- package/dist/client/_nuxt/BMkdSFOr.js +1 -0
- package/dist/client/_nuxt/BNgG76gt.js +1 -0
- package/dist/client/_nuxt/BNofkYSZ.js +165 -0
- package/dist/client/_nuxt/BOp3HRET.js +1 -0
- package/dist/client/_nuxt/BPhJoBd6.js +1 -0
- package/dist/client/_nuxt/BQnHL-cn.js +1 -0
- package/dist/client/_nuxt/BS9sT-GQ.js +1 -0
- package/dist/client/_nuxt/BSB_bK09.js +1 -0
- package/dist/client/_nuxt/BTtaZsq5.js +1 -0
- package/dist/client/_nuxt/BU83OF-G.js +1 -0
- package/dist/client/_nuxt/BUeIC4cT.js +1 -0
- package/dist/client/_nuxt/BXF7Vm5l.js +1 -0
- package/dist/client/_nuxt/BXP-NDAE.js +1 -0
- package/dist/client/_nuxt/BXUVD3TH.js +1 -0
- package/dist/client/_nuxt/BXWtGw2n.js +6 -0
- package/dist/client/_nuxt/BYLuaE_S.js +3 -0
- package/dist/client/_nuxt/BYelj_cE.js +1 -0
- package/dist/client/_nuxt/B_Sdu6N9.js +1 -0
- package/dist/client/_nuxt/BaWyeHV_.js +1 -0
- package/dist/client/_nuxt/Ba_2pva2.js +1 -0
- package/dist/client/_nuxt/BbJj1K1w.js +1 -0
- package/dist/client/_nuxt/BeX7BQ1y.js +1 -0
- package/dist/client/_nuxt/BeocmOPF.js +1 -0
- package/dist/client/_nuxt/BfVRrWqI.js +1 -0
- package/dist/client/_nuxt/BgEvnnZj.js +1 -0
- package/dist/client/_nuxt/Bgrlo6mM.js +1 -0
- package/dist/client/_nuxt/BiVAY1KT.js +1 -0
- package/dist/client/_nuxt/Bl6w8nq6.js +29 -0
- package/dist/client/_nuxt/BmUjtHPt.js +1 -0
- package/dist/client/_nuxt/Bn5gmY5k.js +1 -0
- package/dist/client/_nuxt/BnYPtiAB.js +1 -0
- package/dist/client/_nuxt/BotTw_1M.js +1 -0
- package/dist/client/_nuxt/BpDWT_aG.js +1 -0
- package/dist/client/_nuxt/BpqPLH6b.js +1 -0
- package/dist/client/_nuxt/Br4herk8.js +1 -0
- package/dist/client/_nuxt/Brmco9EZ.js +2 -0
- package/dist/client/_nuxt/Bs9WCFOo.js +1 -0
- package/dist/client/_nuxt/BsvsQ1iS.js +1 -0
- package/dist/client/_nuxt/BtPWTO6-.js +1 -0
- package/dist/client/_nuxt/BuqjW-Uc.js +1 -0
- package/dist/client/_nuxt/BvCdDh2R.js +1 -0
- package/dist/client/_nuxt/BwUg_Rem.js +1 -0
- package/dist/client/_nuxt/Bxuka25Y.js +1 -0
- package/dist/client/_nuxt/BxwAa5i0.js +1 -0
- package/dist/client/_nuxt/BxwkrKyP.js +3 -0
- package/dist/client/_nuxt/ByN1NmdT.js +11 -0
- package/dist/client/_nuxt/C2Z2wNnw.js +1 -0
- package/dist/client/_nuxt/C3wf4cjV.js +27 -0
- package/dist/client/_nuxt/C5J_9lw5.js +1 -0
- package/dist/client/_nuxt/C6doOGgB.js +1 -0
- package/dist/client/_nuxt/C7n-thn-.js +1 -0
- package/dist/client/_nuxt/C7oZ9nno.js +1 -0
- package/dist/client/_nuxt/C7xspq5a.js +1 -0
- package/dist/client/_nuxt/C86elO-m.js +1 -0
- package/dist/client/_nuxt/C8DXlOXe.js +1 -0
- package/dist/client/_nuxt/C9CNr0dZ.js +1 -0
- package/dist/client/_nuxt/CA2blNRc.js +1 -0
- package/dist/client/_nuxt/CA9nliXM.js +1 -0
- package/dist/client/_nuxt/CCW61mLD.js +1 -0
- package/dist/client/_nuxt/CDNnVXJ3.js +1 -0
- package/dist/client/_nuxt/CDP-pALJ.js +1 -0
- package/dist/client/_nuxt/CFTaR7kf.js +1 -0
- package/dist/client/_nuxt/CFy8Z7mU.js +1 -0
- package/dist/client/_nuxt/CGmujMTu.js +1 -0
- package/dist/client/_nuxt/CHDuk4cg.js +1 -0
- package/dist/client/_nuxt/CJYoS41Z.js +1 -0
- package/dist/client/_nuxt/CKK8qrH7.js +3 -0
- package/dist/client/_nuxt/CKqhLkpw.js +1 -0
- package/dist/client/_nuxt/CLTURUqp.js +9 -0
- package/dist/client/_nuxt/CO7HdiM_.js +1 -0
- package/dist/client/_nuxt/CPQn-Lhb.js +1 -0
- package/dist/client/_nuxt/CPw9RxLe.js +1 -0
- package/dist/client/_nuxt/CRDKj6ck.js +1 -0
- package/dist/client/_nuxt/CRUEGcu5.js +1 -0
- package/dist/client/_nuxt/CRlnGVMD.js +1 -0
- package/dist/client/_nuxt/CS6sTstm.js +4 -0
- package/dist/client/_nuxt/CSPPpfsQ.js +1 -0
- package/dist/client/_nuxt/CTeQKLZv.js +1 -0
- package/dist/client/_nuxt/CTsPJjdJ.js +1 -0
- package/dist/client/_nuxt/CUNQUWO_.js +1 -0
- package/dist/client/_nuxt/CV5B5C80.js +1 -0
- package/dist/client/_nuxt/CZZ6oYdA.js +1 -0
- package/dist/client/_nuxt/CZkFsSlX.js +1 -0
- package/dist/client/_nuxt/C_g069vW.js +1 -0
- package/dist/client/_nuxt/C_h5G2He.js +20 -0
- package/dist/client/_nuxt/CaR_I2C-.js +1 -0
- package/dist/client/_nuxt/Cb48SAmt.js +1 -0
- package/dist/client/_nuxt/Cda-MJFk.js +1 -0
- package/dist/client/_nuxt/CeIpHJfZ.js +12 -0
- package/dist/client/_nuxt/CgwOUXSn.js +1 -0
- package/dist/client/_nuxt/ChH25C4w.js +1 -0
- package/dist/client/_nuxt/CidHYXz9.js +1 -0
- package/dist/client/_nuxt/ClPxYbPx.js +1 -0
- package/dist/client/_nuxt/Clj_IpB8.js +1 -0
- package/dist/client/_nuxt/CmN1UzhW.js +1 -0
- package/dist/client/_nuxt/Crs1WKlG.js +1 -0
- package/dist/client/_nuxt/CsTmP73Z.js +1 -0
- package/dist/client/_nuxt/CsW3I34-.js +1 -0
- package/dist/client/_nuxt/CsuMf1xJ.js +1 -0
- package/dist/client/_nuxt/CsyjKwr8.js +1 -0
- package/dist/client/_nuxt/Ctb_e1-I.js +1 -0
- package/dist/client/_nuxt/CvHWZNAB.js +1 -0
- package/dist/client/_nuxt/CxK4ekaG.js +1 -0
- package/dist/client/_nuxt/CyUS7F7b.js +17 -0
- package/dist/client/_nuxt/Cz-n9WvF.js +1 -0
- package/dist/client/_nuxt/Cz3ygVR-.js +1 -0
- package/dist/client/_nuxt/CzK8D06Z.js +1 -0
- package/dist/client/_nuxt/CzPA46E-.js +1 -0
- package/dist/client/_nuxt/D0N_qbs7.js +2 -0
- package/dist/client/_nuxt/D0pnavP-.js +1 -0
- package/dist/client/_nuxt/D3VXSfF0.js +1 -0
- package/dist/client/_nuxt/D46m5Xd3.js +1 -0
- package/dist/client/_nuxt/D4miJ1xw.js +1 -0
- package/dist/client/_nuxt/D5lQfeOG.js +1 -0
- package/dist/client/_nuxt/D6oCKXcX.js +1 -0
- package/dist/client/_nuxt/D71BffLY.js +1 -0
- package/dist/client/_nuxt/D8V69RRQ.js +1 -0
- package/dist/client/_nuxt/DBLgxP_1.js +2 -0
- package/dist/client/_nuxt/DCmDdbvy.js +1 -0
- package/dist/client/_nuxt/DDG_rSGg.js +8 -0
- package/dist/client/_nuxt/DDK5Hw8n.js +1 -0
- package/dist/client/_nuxt/DFHN_7lU.js +3 -0
- package/dist/client/_nuxt/DFaziNDp.js +1 -0
- package/dist/client/_nuxt/DFsxFixh.js +1 -0
- package/dist/client/_nuxt/DGhhRy1e.js +1 -0
- package/dist/client/_nuxt/DIw1DfnK.js +1 -0
- package/dist/client/_nuxt/DJNHLfzP.js +1 -0
- package/dist/client/_nuxt/DJOPMAPO.js +10 -0
- package/dist/client/_nuxt/DKgh9jPU.js +20 -0
- package/dist/client/_nuxt/DNR26wTC.js +1 -0
- package/dist/client/_nuxt/DO04iIl4.js +1 -0
- package/dist/client/_nuxt/DOOuMSMh.js +1 -0
- package/dist/client/_nuxt/DOqtC9FP.js +1 -0
- package/dist/client/_nuxt/DQ-rpzxz.js +1 -0
- package/dist/client/_nuxt/DRuVOcqL.js +1 -0
- package/dist/client/_nuxt/DSmiUmWA.js +1 -0
- package/dist/client/_nuxt/DSv7Jr7N.js +5 -0
- package/dist/client/_nuxt/DTMFIK7w.js +1 -0
- package/dist/client/_nuxt/DV9_Ze0W.js +1 -0
- package/dist/client/_nuxt/DXZpi2gR.js +1 -0
- package/dist/client/_nuxt/DXdsTRaC.js +1 -0
- package/dist/client/_nuxt/DXtfa3TF.js +1 -0
- package/dist/client/_nuxt/DYgwfmdY.js +1 -0
- package/dist/client/_nuxt/DYikCEmq.js +1 -0
- package/dist/client/_nuxt/DYrknm32.js +1 -0
- package/dist/client/_nuxt/D_lsq3cR.js +1 -0
- package/dist/client/_nuxt/D_nC6SfZ.js +1 -0
- package/dist/client/_nuxt/Dc3u8CCo.js +1 -0
- package/dist/client/_nuxt/DeVv6D4_.js +1 -0
- package/dist/client/_nuxt/Df4vQnuo.js +1 -0
- package/dist/client/_nuxt/Di1G_BEd.js +1 -0
- package/dist/client/_nuxt/DjTlIhuc.js +1 -0
- package/dist/client/_nuxt/Dk2kDqHs.js +1 -0
- package/dist/client/_nuxt/DkIL16gc.js +2 -0
- package/dist/client/_nuxt/DkfuXiRx.js +204 -0
- package/dist/client/_nuxt/DmixpzPA.js +1 -0
- package/dist/client/_nuxt/DnLUQrgA.js +1 -0
- package/dist/client/_nuxt/Dnd6U92I.js +25 -0
- package/dist/client/_nuxt/DofIr7ih.js +1 -0
- package/dist/client/_nuxt/DrUHIbQf.js +1 -0
- package/dist/client/_nuxt/DrhOmAGa.js +1 -0
- package/dist/client/_nuxt/DsO5WfEU.js +1 -0
- package/dist/client/_nuxt/DsclqnHy.js +4 -0
- package/dist/client/_nuxt/Dwk9V841.js +1 -0
- package/dist/client/_nuxt/DyLIn2qo.js +1 -0
- package/dist/client/_nuxt/DzhYcJWo.js +1 -0
- package/dist/client/_nuxt/Dziqk49f.js +1 -0
- package/dist/client/_nuxt/E5r7Moxb.js +16 -0
- package/dist/client/_nuxt/FJDVp-XM.js +1 -0
- package/dist/client/_nuxt/FMRyFT8D.js +1 -0
- package/dist/client/_nuxt/GACPk8cj.js +16 -0
- package/dist/client/_nuxt/H94RPpLS.js +1 -0
- package/dist/client/_nuxt/HrnDn_2Q.js +1 -0
- package/dist/client/_nuxt/HxmVvryO.js +1 -0
- package/dist/client/_nuxt/JYC31MTV.js +1 -0
- package/dist/client/_nuxt/Jl0QvYgb.js +1 -0
- package/dist/client/_nuxt/KA8c-whL.js +1 -0
- package/dist/client/_nuxt/KEYLhlmT.js +1 -0
- package/dist/client/_nuxt/KN-DOLVO.js +1 -0
- package/dist/client/_nuxt/Ka_J5llu.js +1 -0
- package/dist/client/_nuxt/KuNYkU7X.js +1 -0
- package/dist/client/_nuxt/MS3qTAOR.js +1 -0
- package/dist/client/_nuxt/N3zwmhmW.js +1 -0
- package/dist/client/_nuxt/O4cDyHwR.js +1 -0
- package/dist/client/_nuxt/OPd3ySAa.js +1 -0
- package/dist/client/_nuxt/Opso89zU.js +16 -0
- package/dist/client/_nuxt/P3XzCKkX.js +1 -0
- package/dist/client/_nuxt/PBlC1IT3.js +1 -0
- package/dist/client/_nuxt/PauOf_jS.js +1 -0
- package/dist/client/_nuxt/Qj0mFepl.js +14 -0
- package/dist/client/_nuxt/R9SNgiQ9.js +1 -0
- package/dist/client/_nuxt/Rc0-bMtX.js +1 -0
- package/dist/client/_nuxt/TYaudu4O.js +1 -0
- package/dist/client/_nuxt/UREJT2Bw.js +1 -0
- package/dist/client/_nuxt/VRCUJX8G.js +1 -0
- package/dist/client/_nuxt/VntNkNt1.js +1 -0
- package/dist/client/_nuxt/Ys9ZunwU.js +1 -0
- package/dist/client/_nuxt/YxQm0tCS.js +1 -0
- package/dist/client/_nuxt/alpzPJ78.js +1 -0
- package/dist/client/_nuxt/bEygH-WE.js +3 -0
- package/dist/client/_nuxt/builds/latest.json +1 -1
- package/dist/client/_nuxt/builds/meta/c0255dff-4096-412a-b1f2-8c73ec29c527.json +1 -0
- package/dist/client/_nuxt/cW9vKj3g.js +1 -0
- package/dist/client/_nuxt/eJKZXzCK.js +1 -0
- package/dist/client/_nuxt/eQYbbmqd.js +16 -0
- package/dist/client/_nuxt/entry.DtsycVcr.css +1 -0
- package/dist/client/_nuxt/error-404.D2eZnIkK.css +1 -0
- package/dist/client/_nuxt/error-500.BJ-KsTwR.css +1 -0
- package/dist/client/_nuxt/gwSZkKbG.js +1 -0
- package/dist/client/_nuxt/hXH8Gyq8.js +1 -0
- package/dist/client/_nuxt/i0hkWYmE.js +1 -0
- package/dist/client/_nuxt/iSbrOpM4.js +1 -0
- package/dist/client/_nuxt/ithPx4uF.js +1 -0
- package/dist/client/_nuxt/jDrCW69G.js +1 -0
- package/dist/client/_nuxt/jaXbsbtS.js +1 -0
- package/dist/client/_nuxt/kveMaAK5.js +1 -0
- package/dist/client/_nuxt/lBoe4CZw.js +1 -0
- package/dist/client/_nuxt/lPxKsdjn.js +1 -0
- package/dist/client/_nuxt/lRZxrFTT.js +1 -0
- package/dist/client/_nuxt/mvTh5Gok.js +1 -0
- package/dist/client/_nuxt/pCnzZaOt.js +1 -0
- package/dist/client/_nuxt/qpF8edk8.js +1 -0
- package/dist/client/_nuxt/qvnQm5y7.js +1 -0
- package/dist/client/_nuxt/qwoaayiL.js +1 -0
- package/dist/client/_nuxt/qxoleWdb.js +1 -0
- package/dist/client/_nuxt/rS0jd3Ly.js +1 -0
- package/dist/client/_nuxt/sMI-pExk.js +1 -0
- package/dist/client/_nuxt/t1S7pxBA.js +1 -0
- package/dist/client/_nuxt/t6MJYFCU.js +5 -0
- package/dist/client/_nuxt/tEd5xQ4M.js +1 -0
- package/dist/client/_nuxt/xGgVA17b.js +1 -0
- package/dist/client/_nuxt/xPNGhBYe.js +1 -0
- package/dist/client/_nuxt/xuIuMB9j.js +1 -0
- package/dist/client/_nuxt/yvfKceIB.js +1 -0
- package/dist/client/_nuxt/z5DqfkHR.js +1 -0
- package/dist/client/index.html +274 -15
- package/dist/module.d.mts +23 -108
- package/dist/module.d.ts +23 -108
- package/dist/module.json +6 -2
- package/dist/module.mjs +430 -222
- package/dist/runtime/assets/Inter-400.ttf.base64 +1 -0
- package/dist/runtime/assets/Inter-700.ttf.base64 +1 -0
- package/dist/runtime/nitro/og-image/bindings/chromium/chrome-launcher.js +9 -0
- package/dist/runtime/nitro/og-image/bindings/chromium/on-demand.d.ts +2 -0
- package/dist/runtime/nitro/og-image/bindings/chromium/on-demand.js +35 -0
- package/dist/runtime/nitro/og-image/bindings/chromium/playwright.d.ts +2 -0
- package/dist/runtime/nitro/og-image/bindings/chromium/playwright.js +6 -0
- package/dist/runtime/nitro/og-image/bindings/css-inline/node.d.ts +8 -0
- package/dist/runtime/nitro/og-image/bindings/css-inline/node.js +7 -0
- package/dist/runtime/nitro/og-image/bindings/css-inline/wasm-fs.d.ts +7 -0
- package/dist/runtime/nitro/og-image/bindings/css-inline/wasm-fs.js +8 -0
- package/dist/runtime/nitro/og-image/bindings/css-inline/wasm.d.ts +7 -0
- package/dist/runtime/nitro/og-image/bindings/css-inline/wasm.js +7 -0
- package/dist/runtime/{core → nitro/og-image}/bindings/resvg/wasm-fs.d.ts +1 -1
- package/dist/runtime/{core/bindings/resvg/wasm-fs.mjs → nitro/og-image/bindings/resvg/wasm-fs.js} +1 -1
- package/dist/runtime/{core → nitro/og-image}/bindings/resvg/wasm.d.ts +1 -1
- package/dist/runtime/nitro/og-image/bindings/resvg/wasm.js +5 -0
- package/dist/runtime/{core/bindings/satori/wasm-fs.mjs → nitro/og-image/bindings/satori/wasm-fs.js} +1 -1
- package/dist/runtime/{core/bindings/satori/wasm.mjs → nitro/og-image/bindings/satori/wasm.js} +2 -3
- package/dist/runtime/nitro/og-image/cache/lru.d.ts +9 -0
- package/dist/runtime/nitro/og-image/cache/lru.js +15 -0
- package/dist/runtime/nitro/og-image/cache/mock.d.ts +9 -0
- package/dist/runtime/nitro/og-image/cache/mock.js +9 -0
- package/dist/runtime/{core/renderers/chromium/index.d.ts → nitro/og-image/chromium/renderer.d.ts} +1 -1
- package/dist/runtime/{core/renderers/chromium/index.mjs → nitro/og-image/chromium/renderer.js} +2 -2
- package/dist/runtime/{core/renderers → nitro/og-image}/chromium/screenshot.d.ts +1 -2
- package/dist/runtime/{core/renderers/chromium/screenshot.mjs → nitro/og-image/chromium/screenshot.js} +2 -2
- package/dist/runtime/nitro/og-image/context.d.ts +5 -0
- package/dist/runtime/nitro/og-image/context.js +181 -0
- package/dist/runtime/nitro/og-image/instances.d.ts +2 -0
- package/dist/runtime/nitro/og-image/instances.js +10 -0
- package/dist/runtime/nitro/og-image/satori/font.d.ts +3 -0
- package/dist/runtime/nitro/og-image/satori/font.js +39 -0
- package/dist/runtime/{core/renderers → nitro/og-image}/satori/instances.d.ts +3 -4
- package/dist/runtime/{core/renderers/satori/instances.mjs → nitro/og-image/satori/instances.js} +2 -11
- package/dist/runtime/nitro/og-image/satori/plugins/classes.js +17 -0
- package/dist/runtime/{core/renderers/satori/plugins/emojis.mjs → nitro/og-image/satori/plugins/emojis.js} +2 -2
- package/dist/runtime/nitro/og-image/satori/plugins/encoding.js +17 -0
- package/dist/runtime/nitro/og-image/satori/plugins/flex.js +35 -0
- package/dist/runtime/nitro/og-image/satori/plugins/imageSrc.js +89 -0
- package/dist/runtime/{core/renderers/satori/plugins/unocss.mjs → nitro/og-image/satori/plugins/unocss.js} +2 -2
- package/dist/runtime/{core/renderers/satori/index.d.ts → nitro/og-image/satori/renderer.d.ts} +1 -1
- package/dist/runtime/{core/renderers/satori/index.mjs → nitro/og-image/satori/renderer.js} +26 -17
- package/dist/runtime/{core/html/applyEmojis.d.ts → nitro/og-image/satori/transforms/emojis.d.ts} +2 -2
- package/dist/runtime/nitro/og-image/satori/transforms/emojis.js +3593 -0
- package/dist/runtime/nitro/og-image/satori/transforms/inlineCss.d.ts +3 -0
- package/dist/runtime/nitro/og-image/satori/transforms/inlineCss.js +50 -0
- package/dist/runtime/{core/renderers → nitro/og-image}/satori/utils.d.ts +2 -2
- package/dist/runtime/{core/renderers/satori/utils.mjs → nitro/og-image/satori/utils.js} +9 -5
- package/dist/runtime/{core/renderers → nitro/og-image}/satori/vnodes.d.ts +1 -1
- package/dist/runtime/nitro/og-image/satori/vnodes.js +38 -0
- package/dist/runtime/nitro/og-image/templates/html.d.ts +2 -0
- package/dist/runtime/{core/html/devIframeTemplate.mjs → nitro/og-image/templates/html.js} +31 -29
- package/dist/runtime/nitro/plugins/__zero-runtime/nuxt-content.d.ts +2 -0
- package/dist/runtime/nitro/plugins/__zero-runtime/nuxt-content.js +9 -0
- package/dist/runtime/nitro/plugins/nuxt-content.d.ts +1 -1
- package/dist/runtime/nitro/plugins/nuxt-content.js +5 -0
- package/dist/runtime/nitro/plugins/prerender.js +33 -0
- package/dist/runtime/nitro/routes/__zero-runtime/font.js +8 -0
- package/dist/runtime/nitro/routes/__zero-runtime/image.js +8 -0
- package/dist/runtime/{server/routes/__og-image__ → nitro/routes}/debug.json.d.ts +1 -1
- package/dist/runtime/{server/routes/__og-image__/debug.json.mjs → nitro/routes/debug.json.js} +2 -2
- package/dist/runtime/nitro/routes/font.d.ts +2 -0
- package/dist/runtime/nitro/routes/font.js +3 -0
- package/dist/runtime/nitro/routes/image.d.ts +2 -0
- package/dist/runtime/nitro/routes/image.js +3 -0
- package/dist/runtime/nitro/tsconfig.json +3 -0
- package/dist/runtime/{cache.d.ts → nitro/util/cache.d.ts} +2 -2
- package/dist/runtime/{cache.mjs → nitro/util/cache.js} +5 -4
- package/dist/runtime/nitro/util/encoding.d.ts +3 -0
- package/dist/runtime/nitro/util/encoding.js +15 -0
- package/dist/runtime/nitro/util/eventHandlers.d.ts +3 -0
- package/dist/runtime/nitro/util/eventHandlers.js +155 -0
- package/dist/runtime/nitro/util/kit.d.ts +6 -0
- package/dist/runtime/nitro/util/kit.js +32 -0
- package/dist/runtime/nitro/util/logger.d.ts +1 -0
- package/dist/runtime/nitro/util/logger.js +6 -0
- package/dist/runtime/nitro/util/options.d.ts +2 -0
- package/dist/runtime/nitro/util/options.js +18 -0
- package/dist/runtime/nitro/util/plugins.d.ts +2 -0
- package/dist/runtime/nitro/{plugins/nuxt-content.mjs → util/plugins.js} +12 -8
- package/dist/runtime/{core/utils → nitro/util}/wasm.d.ts +0 -1
- package/dist/runtime/{components → nuxt/components}/OgImage/OgImage.d.ts +2 -4
- package/dist/runtime/nuxt/components/OgImage/OgImageScreenshot.d.ts +3 -0
- package/dist/runtime/nuxt/components/Templates/Community/Frame.vue +64 -0
- package/dist/runtime/{components → nuxt/components}/Templates/Community/Nuxt.vue +6 -5
- package/dist/runtime/{components → nuxt/components}/Templates/Community/NuxtSeo.vue +7 -7
- package/dist/runtime/{components → nuxt/components}/Templates/Community/Pergel.vue +1 -2
- package/dist/runtime/{components → nuxt/components}/Templates/Community/UnJs.vue +2 -2
- package/dist/runtime/{composables → nuxt/composables}/defineOgImage.d.ts +1 -1
- package/dist/runtime/{composables/defineOgImage.mjs → nuxt/composables/defineOgImage.js} +12 -15
- package/dist/runtime/{composables → nuxt/composables}/defineOgImageComponent.d.ts +1 -1
- package/dist/runtime/{composables/defineOgImageComponent.mjs → nuxt/composables/defineOgImageComponent.js} +1 -1
- package/dist/runtime/nuxt/composables/defineOgImageScreenshot.d.ts +2 -0
- package/dist/runtime/nuxt/composables/mock.d.ts +5 -0
- package/dist/runtime/nuxt/composables/mock.js +6 -0
- package/dist/runtime/nuxt/plugins/__zero-runtime/og-image-canonical-urls.server.d.ts +2 -0
- package/dist/runtime/nuxt/plugins/__zero-runtime/og-image-canonical-urls.server.js +9 -0
- package/dist/runtime/nuxt/plugins/__zero-runtime/route-rule-og-image.server.d.ts +2 -0
- package/dist/runtime/nuxt/plugins/__zero-runtime/route-rule-og-image.server.js +9 -0
- package/dist/runtime/nuxt/plugins/og-image-canonical-urls.server.d.ts +1 -1
- package/dist/runtime/nuxt/plugins/og-image-canonical-urls.server.js +5 -0
- package/dist/runtime/nuxt/plugins/route-rule-og-image.server.d.ts +1 -1
- package/dist/runtime/nuxt/plugins/route-rule-og-image.server.js +5 -0
- package/dist/runtime/nuxt/utils/plugins.d.ts +3 -0
- package/dist/runtime/nuxt/utils/plugins.js +87 -0
- package/dist/runtime/nuxt/utils.d.ts +3 -2
- package/dist/runtime/nuxt/{utils.mjs → utils.js} +12 -7
- package/dist/runtime/{utils.pure.d.ts → pure.d.ts} +2 -1
- package/dist/runtime/{utils.pure.mjs → pure.js} +22 -3
- package/dist/runtime/{utils.d.ts → shared.d.ts} +2 -2
- package/dist/runtime/{utils.mjs → shared.js} +5 -4
- package/dist/runtime/types.d.ts +19 -10
- package/dist/types.d.mts +2 -13
- package/dist/types.d.ts +2 -13
- package/package.json +87 -60
- package/dist/client/_nuxt/IconCSS.d0e7b355.js +0 -1
- package/dist/client/_nuxt/IconCSS.f0b56d3e.css +0 -1
- package/dist/client/_nuxt/builds/meta/bb3d9bad-71c2-44e9-bdfb-e309e6d8b22d.json +0 -1
- package/dist/client/_nuxt/entry.a30f63d0.css +0 -1
- package/dist/client/_nuxt/entry.c7946b24.js +0 -108
- package/dist/client/_nuxt/error-404.1290b959.js +0 -1
- package/dist/client/_nuxt/error-404.b751fa02.css +0 -1
- package/dist/client/_nuxt/error-500.69009e70.css +0 -1
- package/dist/client/_nuxt/error-500.de7cdd09.js +0 -1
- package/dist/client/_nuxt/vanilla-picker-NKbIFE8h.23409a58.js +0 -8
- package/dist/runtime/components/OgImage/OgImageScreenshot.d.ts +0 -5
- package/dist/runtime/composables/defineOgImageScreenshot.d.ts +0 -2
- package/dist/runtime/core/bindings/chromium/node.mjs +0 -33
- package/dist/runtime/core/bindings/css-inline/node.d.ts +0 -2
- package/dist/runtime/core/bindings/css-inline/node.mjs +0 -2
- package/dist/runtime/core/bindings/resvg/wasm.mjs +0 -6
- package/dist/runtime/core/cache/emojis.d.ts +0 -1
- package/dist/runtime/core/cache/emojis.mjs +0 -5
- package/dist/runtime/core/cache/fonts.d.ts +0 -3
- package/dist/runtime/core/cache/fonts.mjs +0 -6
- package/dist/runtime/core/cache/htmlPayload.d.ts +0 -5
- package/dist/runtime/core/cache/htmlPayload.mjs +0 -6
- package/dist/runtime/core/cache/prerender.d.ts +0 -2
- package/dist/runtime/core/cache/prerender.mjs +0 -5
- package/dist/runtime/core/env/assets.d.ts +0 -1
- package/dist/runtime/core/env/assets.mjs +0 -11
- package/dist/runtime/core/font/fetch.d.ts +0 -2
- package/dist/runtime/core/font/fetch.mjs +0 -36
- package/dist/runtime/core/html/applyEmojis.mjs +0 -37
- package/dist/runtime/core/html/applyInlineCss.d.ts +0 -3
- package/dist/runtime/core/html/applyInlineCss.mjs +0 -32
- package/dist/runtime/core/html/devIframeTemplate.d.ts +0 -2
- package/dist/runtime/core/html/fetchIsland.d.ts +0 -3
- package/dist/runtime/core/html/fetchIsland.mjs +0 -17
- package/dist/runtime/core/options/extract.d.ts +0 -3
- package/dist/runtime/core/options/extract.mjs +0 -49
- package/dist/runtime/core/options/fetch.d.ts +0 -3
- package/dist/runtime/core/options/fetch.mjs +0 -32
- package/dist/runtime/core/renderers/satori/plugins/encoding.mjs +0 -8
- package/dist/runtime/core/renderers/satori/plugins/flex.mjs +0 -10
- package/dist/runtime/core/renderers/satori/plugins/imageSrc.mjs +0 -75
- package/dist/runtime/core/renderers/satori/plugins/twClasses.mjs +0 -8
- package/dist/runtime/core/renderers/satori/vnodes.mjs +0 -31
- package/dist/runtime/core/utils/resolveRendererContext.d.ts +0 -3
- package/dist/runtime/core/utils/resolveRendererContext.mjs +0 -97
- package/dist/runtime/nitro/plugins/prerender.mjs +0 -36
- package/dist/runtime/nitro/utils.d.ts +0 -2
- package/dist/runtime/nitro/utils.mjs +0 -16
- package/dist/runtime/nuxt/plugins/og-image-canonical-urls.server.mjs +0 -43
- package/dist/runtime/nuxt/plugins/route-rule-og-image.server.mjs +0 -37
- package/dist/runtime/server/assets/inter-latin-ext-400-normal.woff +0 -0
- package/dist/runtime/server/assets/inter-latin-ext-700-normal.woff +0 -0
- package/dist/runtime/server/routes/__og-image__/font-[name]-[weight].[extension].mjs +0 -49
- package/dist/runtime/server/routes/__og-image__/image.mjs +0 -91
- package/dist/runtime/{core/bindings/chromium/node.d.ts → nitro/og-image/bindings/chromium/chrome-launcher.d.ts} +0 -0
- package/dist/runtime/{core → nitro/og-image}/bindings/resvg/node.d.ts +0 -0
- package/dist/runtime/{core/bindings/resvg/node.mjs → nitro/og-image/bindings/resvg/node.js} +0 -0
- package/dist/runtime/{core → nitro/og-image}/bindings/satori/node.d.ts +0 -0
- package/dist/runtime/{core/bindings/satori/node.mjs → nitro/og-image/bindings/satori/node.js} +0 -0
- package/dist/runtime/{core → nitro/og-image}/bindings/satori/wasm-fs.d.ts +0 -0
- package/dist/runtime/{core → nitro/og-image}/bindings/satori/wasm.d.ts +0 -0
- package/dist/runtime/{core → nitro/og-image}/bindings/sharp/node.d.ts +0 -0
- package/dist/runtime/{core/bindings/sharp/node.mjs → nitro/og-image/bindings/sharp/node.js} +0 -0
- package/dist/runtime/{core/renderers/satori/plugins/emojis.d.ts → nitro/og-image/satori/plugins/classes.d.ts} +0 -0
- package/dist/runtime/{core/renderers/satori/plugins/encoding.d.ts → nitro/og-image/satori/plugins/emojis.d.ts} +0 -0
- package/dist/runtime/{core/renderers/satori/plugins/flex.d.ts → nitro/og-image/satori/plugins/encoding.d.ts} +0 -0
- package/dist/runtime/{core/renderers/satori/plugins/imageSrc.d.ts → nitro/og-image/satori/plugins/flex.d.ts} +0 -0
- package/dist/runtime/{core/renderers/satori/plugins/twClasses.d.ts → nitro/og-image/satori/plugins/imageSrc.d.ts} +0 -0
- package/dist/runtime/{core/renderers → nitro/og-image}/satori/plugins/unocss.d.ts +0 -0
- package/dist/runtime/{server/routes/__og-image__/font-[name]-[weight].[extension].d.ts → nitro/routes/__zero-runtime/font.d.ts} +0 -0
- package/dist/runtime/{server/routes/__og-image__ → nitro/routes/__zero-runtime}/image.d.ts +0 -0
- package/dist/runtime/{core/utils/wasm.mjs → nitro/util/wasm.js} +0 -0
- package/dist/runtime/{components/OgImage/OgImage.mjs → nuxt/components/OgImage/OgImage.js} +1 -1
- package/dist/runtime/{components/OgImage/OgImageScreenshot.mjs → nuxt/components/OgImage/OgImageScreenshot.js} +1 -1
- package/dist/runtime/{components → nuxt/components}/Templates/Community/BrandedLogo.vue +0 -0
- package/dist/runtime/{components → nuxt/components}/Templates/Community/SimpleBlog.vue +1 -1
- /package/dist/runtime/{components → nuxt/components}/Templates/Community/Wave.vue +0 -0
- /package/dist/runtime/{components → nuxt/components}/Templates/Community/WithEmoji.vue +0 -0
- /package/dist/runtime/{composables/defineOgImageScreenshot.mjs → nuxt/composables/defineOgImageScreenshot.js} +0 -0
- /package/dist/runtime/{types.mjs → types.js} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as a,u as n,o as r,c as l,a as e,t as s,b as d,w as c,d as p,e as f,p as x,f as h}from"./entry.c7946b24.js";const m=t=>(x("data-v-05a2b8a3"),t=t(),h(),t),u={class:"font-sans antialiased bg-white dark:bg-black text-black dark:text-white grid min-h-screen place-content-center overflow-hidden"},g=m(()=>e("div",{class:"fixed left-0 right-0 spotlight z-10"},null,-1)),b={class:"max-w-520px text-center z-20"},_=["textContent"],w=["textContent"],y={class:"w-full flex items-center justify-center"},S={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:404},statusMessage:{type:String,default:"Not Found"},description:{type:String,default:"Sorry, the page you are looking for could not be found."},backHome:{type:String,default:"Go back home"}},setup(t){const o=t;return n({title:`${o.statusCode} - ${o.statusMessage} | ${o.appName}`,script:[],style:[{children:'*,:before,:after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e0e0e0}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(14, 165, 233, .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}a{color:inherit;text-decoration:inherit}body{margin:0;font-family:inherit;line-height:inherit}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5}h1,p{margin:0}h1{font-size:inherit;font-weight:inherit}'}]}),(k,v)=>{const i=f;return r(),l("div",u,[g,e("div",b,[e("h1",{class:"text-8xl sm:text-10xl font-medium mb-8",textContent:s(t.statusCode)},null,8,_),e("p",{class:"text-xl px-8 sm:px-0 sm:text-4xl font-light mb-16 leading-tight",textContent:s(t.description)},null,8,w),e("div",y,[d(i,{to:"/",class:"gradient-border text-md sm:text-xl py-2 px-4 sm:py-3 sm:px-6 cursor-pointer"},{default:c(()=>[p(s(t.backHome),1)]),_:1})])])])}}},z=a(S,[["__scopeId","data-v-05a2b8a3"]]);export{z as default};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.spotlight[data-v-05a2b8a3]{background:linear-gradient(45deg,#00dc82,#36e4da 50%,#0047e1);bottom:-30vh;filter:blur(20vh);height:40vh}.gradient-border[data-v-05a2b8a3]{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:.5rem;position:relative}@media (prefers-color-scheme:light){.gradient-border[data-v-05a2b8a3]{background-color:#ffffff4d}.gradient-border[data-v-05a2b8a3]:before{background:linear-gradient(90deg,#e2e2e2,#e2e2e2 25%,#00dc82 50%,#36e4da 75%,#0047e1)}}@media (prefers-color-scheme:dark){.gradient-border[data-v-05a2b8a3]{background-color:#1414144d}.gradient-border[data-v-05a2b8a3]:before{background:linear-gradient(90deg,#303030,#303030 25%,#00dc82 50%,#36e4da 75%,#0047e1)}}.gradient-border[data-v-05a2b8a3]:before{background-size:400% auto;border-radius:.5rem;bottom:0;content:"";left:0;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.5;padding:2px;position:absolute;right:0;top:0;transition:background-position .3s ease-in-out,opacity .2s ease-in-out;width:100%}.gradient-border[data-v-05a2b8a3]:hover:before{background-position:-50% 0;opacity:1}.bg-white[data-v-05a2b8a3]{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.cursor-pointer[data-v-05a2b8a3]{cursor:pointer}.flex[data-v-05a2b8a3]{display:flex}.grid[data-v-05a2b8a3]{display:grid}.place-content-center[data-v-05a2b8a3]{place-content:center}.items-center[data-v-05a2b8a3]{align-items:center}.justify-center[data-v-05a2b8a3]{justify-content:center}.font-sans[data-v-05a2b8a3]{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.font-medium[data-v-05a2b8a3]{font-weight:500}.font-light[data-v-05a2b8a3]{font-weight:300}.text-8xl[data-v-05a2b8a3]{font-size:6rem;line-height:1}.text-xl[data-v-05a2b8a3]{font-size:1.25rem;line-height:1.75rem}.leading-tight[data-v-05a2b8a3]{line-height:1.25}.mb-8[data-v-05a2b8a3]{margin-bottom:2rem}.mb-16[data-v-05a2b8a3]{margin-bottom:4rem}.max-w-520px[data-v-05a2b8a3]{max-width:520px}.min-h-screen[data-v-05a2b8a3]{min-height:100vh}.overflow-hidden[data-v-05a2b8a3]{overflow:hidden}.px-8[data-v-05a2b8a3]{padding-left:2rem;padding-right:2rem}.py-2[data-v-05a2b8a3]{padding-bottom:.5rem;padding-top:.5rem}.px-4[data-v-05a2b8a3]{padding-left:1rem;padding-right:1rem}.fixed[data-v-05a2b8a3]{position:fixed}.left-0[data-v-05a2b8a3]{left:0}.right-0[data-v-05a2b8a3]{right:0}.text-center[data-v-05a2b8a3]{text-align:center}.text-black[data-v-05a2b8a3]{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.antialiased[data-v-05a2b8a3]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.w-full[data-v-05a2b8a3]{width:100%}.z-10[data-v-05a2b8a3]{z-index:10}.z-20[data-v-05a2b8a3]{z-index:20}@media (min-width:640px){.sm\:text-4xl[data-v-05a2b8a3]{font-size:2.25rem;line-height:2.5rem}.sm\:text-xl[data-v-05a2b8a3]{font-size:1.25rem;line-height:1.75rem}.sm\:text-10xl[data-v-05a2b8a3]{font-size:10rem;line-height:1}.sm\:px-0[data-v-05a2b8a3]{padding-left:0;padding-right:0}.sm\:py-3[data-v-05a2b8a3]{padding-bottom:.75rem;padding-top:.75rem}.sm\:px-6[data-v-05a2b8a3]{padding-left:1.5rem;padding-right:1.5rem}}@media (prefers-color-scheme:dark){.dark\:bg-black[data-v-05a2b8a3]{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.dark\:text-white[data-v-05a2b8a3]{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.spotlight[data-v-c967d9a9]{background:linear-gradient(45deg,#00dc82,#36e4da 50%,#0047e1);filter:blur(20vh)}.bg-white[data-v-c967d9a9]{--tw-bg-opacity:1;background-color:rgba(255,255,255,var(--tw-bg-opacity))}.grid[data-v-c967d9a9]{display:grid}.place-content-center[data-v-c967d9a9]{place-content:center}.font-sans[data-v-c967d9a9]{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.font-medium[data-v-c967d9a9]{font-weight:500}.font-light[data-v-c967d9a9]{font-weight:300}.h-1\/2[data-v-c967d9a9]{height:50%}.text-8xl[data-v-c967d9a9]{font-size:6rem;line-height:1}.text-xl[data-v-c967d9a9]{font-size:1.25rem;line-height:1.75rem}.leading-tight[data-v-c967d9a9]{line-height:1.25}.mb-8[data-v-c967d9a9]{margin-bottom:2rem}.mb-16[data-v-c967d9a9]{margin-bottom:4rem}.max-w-520px[data-v-c967d9a9]{max-width:520px}.min-h-screen[data-v-c967d9a9]{min-height:100vh}.overflow-hidden[data-v-c967d9a9]{overflow:hidden}.px-8[data-v-c967d9a9]{padding-left:2rem;padding-right:2rem}.fixed[data-v-c967d9a9]{position:fixed}.left-0[data-v-c967d9a9]{left:0}.right-0[data-v-c967d9a9]{right:0}.-bottom-1\/2[data-v-c967d9a9]{bottom:-50%}.text-center[data-v-c967d9a9]{text-align:center}.text-black[data-v-c967d9a9]{--tw-text-opacity:1;color:rgba(0,0,0,var(--tw-text-opacity))}.antialiased[data-v-c967d9a9]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (min-width:640px){.sm\:text-4xl[data-v-c967d9a9]{font-size:2.25rem;line-height:2.5rem}.sm\:text-10xl[data-v-c967d9a9]{font-size:10rem;line-height:1}.sm\:px-0[data-v-c967d9a9]{padding-left:0;padding-right:0}}@media (prefers-color-scheme:dark){.dark\:bg-black[data-v-c967d9a9]{--tw-bg-opacity:1;background-color:rgba(0,0,0,var(--tw-bg-opacity))}.dark\:text-white[data-v-c967d9a9]{--tw-text-opacity:1;color:rgba(255,255,255,var(--tw-text-opacity))}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as i,u as a,o as r,c as n,a as e,t as s,p as l,f as d}from"./entry.c7946b24.js";const c=t=>(l("data-v-c967d9a9"),t=t(),d(),t),p={class:"font-sans antialiased bg-white dark:bg-black text-black dark:text-white grid min-h-screen place-content-center overflow-hidden"},h=c(()=>e("div",{class:"fixed -bottom-1/2 left-0 right-0 h-1/2 spotlight"},null,-1)),f={class:"max-w-520px text-center"},g=["textContent"],m=["textContent"],x={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},version:{type:String,default:""},statusCode:{type:Number,default:500},statusMessage:{type:String,default:"Server error"},description:{type:String,default:"This page is temporarily unavailable."}},setup(t){const o=t;return a({title:`${o.statusCode} - ${o.statusMessage} | ${o.appName}`,script:[],style:[{children:'*,:before,:after{-webkit-box-sizing:border-box;box-sizing:border-box;border-width:0;border-style:solid;border-color:#e0e0e0}*{--tw-ring-inset:var(--tw-empty, );--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(14, 165, 233, .5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000}:root{-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{margin:0;font-family:inherit;line-height:inherit}html{-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";line-height:1.5}h1,p{margin:0}h1{font-size:inherit;font-weight:inherit}'}]}),(u,b)=>(r(),n("div",p,[h,e("div",f,[e("h1",{class:"text-8xl sm:text-10xl font-medium mb-8",textContent:s(t.statusCode)},null,8,g),e("p",{class:"text-xl px-8 sm:px-0 sm:text-4xl font-light mb-16 leading-tight",textContent:s(t.description)},null,8,m)])]))}},w=i(x,[["__scopeId","data-v-c967d9a9"]]);export{w as default};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* vanilla-picker v2.12.2
|
|
3
|
-
* https://vanilla-picker.js.org
|
|
4
|
-
*
|
|
5
|
-
* Copyright 2017-2023 Andreas Borgen (https://github.com/Sphinxxxx), Adam Brooks (https://github.com/dissimulate)
|
|
6
|
-
* Released under the ISC license.
|
|
7
|
-
*/var H=function(a,t){if(!(a instanceof t))throw new TypeError("Cannot call a class as a function")},O=function(){function a(t,e){for(var r=0;r<e.length;r++){var n=e[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,n.key,n)}}return function(t,e,r){return e&&a(t.prototype,e),r&&a(t,r),t}}(),w=function(){function a(t,e){var r=[],n=!0,o=!1,l=void 0;try{for(var p=t[Symbol.iterator](),i;!(n=(i=p.next()).done)&&(r.push(i.value),!(e&&r.length===e));n=!0);}catch(s){o=!0,l=s}finally{try{!n&&p.return&&p.return()}finally{if(o)throw l}}return r}return function(t,e){if(Array.isArray(t))return t;if(Symbol.iterator in Object(t))return a(t,e);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}();String.prototype.startsWith=String.prototype.startsWith||function(a){return this.indexOf(a)===0};String.prototype.padStart=String.prototype.padStart||function(a,t){for(var e=this;e.length<a;)e=t+e;return e};var P={cb:"0f8ff",tqw:"aebd7",q:"-ffff",qmrn:"7fffd4",zr:"0ffff",bg:"5f5dc",bsq:"e4c4",bck:"---",nch:"ebcd",b:"--ff",bvt:"8a2be2",brwn:"a52a2a",brw:"deb887",ctb:"5f9ea0",hrt:"7fff-",chcT:"d2691e",cr:"7f50",rnw:"6495ed",crns:"8dc",crms:"dc143c",cn:"-ffff",Db:"--8b",Dcn:"-8b8b",Dgnr:"b8860b",Dgr:"a9a9a9",Dgrn:"-64-",Dkhk:"bdb76b",Dmgn:"8b-8b",Dvgr:"556b2f",Drng:"8c-",Drch:"9932cc",Dr:"8b--",Dsmn:"e9967a",Dsgr:"8fbc8f",DsTb:"483d8b",DsTg:"2f4f4f",Dtrq:"-ced1",Dvt:"94-d3",ppnk:"1493",pskb:"-bfff",mgr:"696969",grb:"1e90ff",rbrc:"b22222",rwht:"af0",stg:"228b22",chs:"-ff",gnsb:"dcdcdc",st:"8f8ff",g:"d7-",gnr:"daa520",gr:"808080",grn:"-8-0",grnw:"adff2f",hnw:"0fff0",htpn:"69b4",nnr:"cd5c5c",ng:"4b-82",vr:"0",khk:"0e68c",vnr:"e6e6fa",nrb:"0f5",wngr:"7cfc-",mnch:"acd",Lb:"add8e6",Lcr:"08080",Lcn:"e0ffff",Lgnr:"afad2",Lgr:"d3d3d3",Lgrn:"90ee90",Lpnk:"b6c1",Lsmn:"a07a",Lsgr:"20b2aa",Lskb:"87cefa",LsTg:"778899",Lstb:"b0c4de",Lw:"e0",m:"-ff-",mgrn:"32cd32",nn:"af0e6",mgnt:"-ff",mrn:"8--0",mqm:"66cdaa",mmb:"--cd",mmrc:"ba55d3",mmpr:"9370db",msg:"3cb371",mmsT:"7b68ee","":"-fa9a",mtr:"48d1cc",mmvt:"c71585",mnLb:"191970",ntc:"5fffa",mstr:"e4e1",mccs:"e4b5",vjw:"dead",nv:"--80",c:"df5e6",v:"808-0",vrb:"6b8e23",rng:"a5-",rngr:"45-",rch:"da70d6",pgnr:"eee8aa",pgrn:"98fb98",ptrq:"afeeee",pvtr:"db7093",ppwh:"efd5",pchp:"dab9",pr:"cd853f",pnk:"c0cb",pm:"dda0dd",pwrb:"b0e0e6",prp:"8-080",cc:"663399",r:"--",sbr:"bc8f8f",rb:"4169e1",sbrw:"8b4513",smn:"a8072",nbr:"4a460",sgrn:"2e8b57",ssh:"5ee",snn:"a0522d",svr:"c0c0c0",skb:"87ceeb",sTb:"6a5acd",sTgr:"708090",snw:"afa",n:"-ff7f",stb:"4682b4",tn:"d2b48c",t:"-8080",thst:"d8bfd8",tmT:"6347",trqs:"40e0d0",vt:"ee82ee",whT:"5deb3",wht:"",hts:"5f5f5",w:"-",wgrn:"9acd32"};function R(a){var t=arguments.length>1&&arguments[1]!==void 0?arguments[1]:1,e=t>0?a.toFixed(t).replace(/0+$/,"").replace(/\.$/,""):a.toString();return e||"0"}var z=function(){function a(t,e,r,n){H(this,a);var o=this;function l(i){if(i.startsWith("hsl")){var s=i.match(/([\-\d\.e]+)/g).map(Number),c=w(s,4),u=c[0],h=c[1],g=c[2],f=c[3];f===void 0&&(f=1),u/=360,h/=100,g/=100,o.hsla=[u,h,g,f]}else if(i.startsWith("rgb")){var b=i.match(/([\-\d\.e]+)/g).map(Number),d=w(b,4),v=d[0],x=d[1],k=d[2],m=d[3];m===void 0&&(m=1),o.rgba=[v,x,k,m]}else i.startsWith("#")?o.rgba=a.hexToRgb(i):o.rgba=a.nameToRgb(i)||a.hexToRgb(i)}if(t!==void 0)if(Array.isArray(t))this.rgba=t;else if(r===void 0){var p=t&&""+t;p&&l(p.toLowerCase())}else this.rgba=[t,e,r,n===void 0?1:n]}return O(a,[{key:"printRGB",value:function(t){var e=t?this.rgba:this.rgba.slice(0,3),r=e.map(function(n,o){return R(n,o===3?3:0)});return t?"rgba("+r+")":"rgb("+r+")"}},{key:"printHSL",value:function(t){var e=[360,100,100,1],r=["","%","%",""],n=t?this.hsla:this.hsla.slice(0,3),o=n.map(function(l,p){return R(l*e[p],p===3?3:1)+r[p]});return t?"hsla("+o+")":"hsl("+o+")"}},{key:"printHex",value:function(t){var e=this.hex;return t?e:e.substring(0,7)}},{key:"rgba",get:function(){if(this._rgba)return this._rgba;if(!this._hsla)throw new Error("No color is set");return this._rgba=a.hslToRgb(this._hsla)},set:function(t){t.length===3&&(t[3]=1),this._rgba=t,this._hsla=null}},{key:"rgbString",get:function(){return this.printRGB()}},{key:"rgbaString",get:function(){return this.printRGB(!0)}},{key:"hsla",get:function(){if(this._hsla)return this._hsla;if(!this._rgba)throw new Error("No color is set");return this._hsla=a.rgbToHsl(this._rgba)},set:function(t){t.length===3&&(t[3]=1),this._hsla=t,this._rgba=null}},{key:"hslString",get:function(){return this.printHSL()}},{key:"hslaString",get:function(){return this.printHSL(!0)}},{key:"hex",get:function(){var t=this.rgba,e=t.map(function(r,n){return n<3?r.toString(16):Math.round(r*255).toString(16)});return"#"+e.map(function(r){return r.padStart(2,"0")}).join("")},set:function(t){this.rgba=a.hexToRgb(t)}}],[{key:"hexToRgb",value:function(t){var e=(t.startsWith("#")?t.slice(1):t).replace(/^(\w{3})$/,"$1F").replace(/^(\w)(\w)(\w)(\w)$/,"$1$1$2$2$3$3$4$4").replace(/^(\w{6})$/,"$1FF");if(!e.match(/^([0-9a-fA-F]{8})$/))throw new Error("Unknown hex color; "+t);var r=e.match(/^(\w\w)(\w\w)(\w\w)(\w\w)$/).slice(1).map(function(n){return parseInt(n,16)});return r[3]=r[3]/255,r}},{key:"nameToRgb",value:function(t){var e=t.toLowerCase().replace("at","T").replace(/[aeiouyldf]/g,"").replace("ght","L").replace("rk","D").slice(-5,4),r=P[e];return r===void 0?r:a.hexToRgb(r.replace(/\-/g,"00").padStart(6,"f"))}},{key:"rgbToHsl",value:function(t){var e=w(t,4),r=e[0],n=e[1],o=e[2],l=e[3];r/=255,n/=255,o/=255;var p=Math.max(r,n,o),i=Math.min(r,n,o),s=void 0,c=void 0,u=(p+i)/2;if(p===i)s=c=0;else{var h=p-i;switch(c=u>.5?h/(2-p-i):h/(p+i),p){case r:s=(n-o)/h+(n<o?6:0);break;case n:s=(o-r)/h+2;break;case o:s=(r-n)/h+4;break}s/=6}return[s,c,u,l]}},{key:"hslToRgb",value:function(t){var e=w(t,4),r=e[0],n=e[1],o=e[2],l=e[3],p=void 0,i=void 0,s=void 0;if(n===0)p=i=s=o;else{var c=function(f,b,d){return d<0&&(d+=1),d>1&&(d-=1),d<.16666666666666666?f+(b-f)*6*d:d<.5?b:d<.6666666666666666?f+(b-f)*(.6666666666666666-d)*6:f},u=o<.5?o*(1+n):o+n-o*n,h=2*o-u;p=c(h,u,r+1/3),i=c(h,u,r),s=c(h,u,r-1/3)}var g=[p*255,i*255,s*255].map(Math.round);return g[3]=l,g}}]),a}(),I=function(){function a(){H(this,a),this._events=[]}return O(a,[{key:"add",value:function(t,e,r){t.addEventListener(e,r,!1),this._events.push({target:t,type:e,handler:r})}},{key:"remove",value:function(t,e,r){this._events=this._events.filter(function(n){var o=!0;return t&&t!==n.target&&(o=!1),e&&e!==n.type&&(o=!1),r&&r!==n.handler&&(o=!1),o&&a._doRemove(n.target,n.type,n.handler),!o})}},{key:"destroy",value:function(){this._events.forEach(function(t){return a._doRemove(t.target,t.type,t.handler)}),this._events=[]}}],[{key:"_doRemove",value:function(t,e,r){t.removeEventListener(e,r,!1)}}]),a}();function q(a){var t=document.createElement("div");return t.innerHTML=a,t.firstElementChild}function S(a,t,e){var r=!1;function n(i,s,c){return Math.max(s,Math.min(i,c))}function o(i,s,c){if(c&&(r=!0),!!r){i.preventDefault();var u=t.getBoundingClientRect(),h=u.width,g=u.height,f=s.clientX,b=s.clientY,d=n(f-u.left,0,h),v=n(b-u.top,0,g);e(d/h,v/g)}}function l(i,s){var c=i.buttons===void 0?i.which:i.buttons;c===1?o(i,i,s):r=!1}function p(i,s){i.touches.length===1?o(i,i.touches[0],s):r=!1}a.add(t,"mousedown",function(i){l(i,!0)}),a.add(t,"touchstart",function(i){p(i,!0)}),a.add(window,"mousemove",l),a.add(t,"touchmove",p),a.add(window,"mouseup",function(i){r=!1}),a.add(t,"touchend",function(i){r=!1}),a.add(t,"touchcancel",function(i){r=!1})}var B=`linear-gradient(45deg, lightgrey 25%, transparent 25%, transparent 75%, lightgrey 75%) 0 0 / 2em 2em,
|
|
8
|
-
linear-gradient(45deg, lightgrey 25%, white 25%, white 75%, lightgrey 75%) 1em 1em / 2em 2em`,F=360,$="keydown",y="mousedown",C="focusin";function _(a,t){return(t||document).querySelector(a)}function A(a){a.preventDefault(),a.stopPropagation()}function D(a,t,e,r,n){a.add(t,$,function(o){e.indexOf(o.key)>=0&&(n&&A(o),r(o))})}var W=function(){function a(t){H(this,a),this.settings={popup:"right",layout:"default",alpha:!0,editor:!0,editorFormat:"hex",cancelButton:!1,defaultColor:"#0cf"},this._events=new I,this.onChange=null,this.onDone=null,this.onOpen=null,this.onClose=null,this.setOptions(t)}return O(a,[{key:"setOptions",value:function(t){var e=this;if(!t)return;var r=this.settings;function n(i,s,c){for(var u in i)c&&c.indexOf(u)>=0||(s[u]=i[u])}if(t instanceof HTMLElement)r.parent=t;else{r.parent&&t.parent&&r.parent!==t.parent&&(this._events.remove(r.parent),this._popupInited=!1),n(t,r),t.onChange&&(this.onChange=t.onChange),t.onDone&&(this.onDone=t.onDone),t.onOpen&&(this.onOpen=t.onOpen),t.onClose&&(this.onClose=t.onClose);var o=t.color||t.colour;o&&this._setColor(o)}var l=r.parent;if(l&&r.popup&&!this._popupInited){var p=function(i){return e.openHandler(i)};this._events.add(l,"click",p),D(this._events,l,[" ","Spacebar","Enter"],p),this._popupInited=!0}else t.parent&&!r.popup&&this.show()}},{key:"openHandler",value:function(t){if(this.show()){t&&t.preventDefault(),this.settings.parent.style.pointerEvents="none";var e=t&&t.type===$?this._domEdit:this.domElement;setTimeout(function(){return e.focus()},100),this.onOpen&&this.onOpen(this.colour)}}},{key:"closeHandler",value:function(t){var e=t&&t.type,r=!1;if(!t)r=!0;else if(e===y||e===C){var n=(this.__containedEvent||0)+100;t.timeStamp>n&&(r=!0)}else A(t),r=!0;r&&this.hide()&&(this.settings.parent.style.pointerEvents="",e!==y&&this.settings.parent.focus(),this.onClose&&this.onClose(this.colour))}},{key:"movePopup",value:function(t,e){this.closeHandler(),this.setOptions(t),e&&this.openHandler()}},{key:"setColor",value:function(t,e){this._setColor(t,{silent:e})}},{key:"_setColor",value:function(t,e){if(typeof t=="string"&&(t=t.trim()),!!t){e=e||{};var r=void 0;try{r=new z(t)}catch(o){if(e.failSilently)return;throw o}if(!this.settings.alpha){var n=r.hsla;n[3]=1,r.hsla=n}this.colour=this.color=r,this._setHSLA(null,null,null,null,e)}}},{key:"setColour",value:function(t,e){this.setColor(t,e)}},{key:"show",value:function(){var t=this.settings.parent;if(!t)return!1;if(this.domElement){var e=this._toggleDOM(!0);return this._setPosition(),e}var r=this.settings.template||'<div class="picker_wrapper" tabindex="-1"><div class="picker_arrow"></div><div class="picker_hue picker_slider"><div class="picker_selector"></div></div><div class="picker_sl"><div class="picker_selector"></div></div><div class="picker_alpha picker_slider"><div class="picker_selector"></div></div><div class="picker_editor"><input aria-label="Type a color name or hex value"/></div><div class="picker_sample"></div><div class="picker_done"><button>Ok</button></div><div class="picker_cancel"><button>Cancel</button></div></div>',n=q(r);return this.domElement=n,this._domH=_(".picker_hue",n),this._domSL=_(".picker_sl",n),this._domA=_(".picker_alpha",n),this._domEdit=_(".picker_editor input",n),this._domSample=_(".picker_sample",n),this._domOkay=_(".picker_done button",n),this._domCancel=_(".picker_cancel button",n),n.classList.add("layout_"+this.settings.layout),this.settings.alpha||n.classList.add("no_alpha"),this.settings.editor||n.classList.add("no_editor"),this.settings.cancelButton||n.classList.add("no_cancel"),this._ifPopup(function(){return n.classList.add("popup")}),this._setPosition(),this.colour?this._updateUI():this._setColor(this.settings.defaultColor),this._bindEvents(),!0}},{key:"hide",value:function(){return this._toggleDOM(!1)}},{key:"destroy",value:function(){this._events.destroy(),this.domElement&&this.settings.parent.removeChild(this.domElement)}},{key:"_bindEvents",value:function(){var t=this,e=this,r=this.domElement,n=this._events;function o(i,s,c){n.add(i,s,c)}o(r,"click",function(i){return i.preventDefault()}),S(n,this._domH,function(i,s){return e._setHSLA(i)}),S(n,this._domSL,function(i,s){return e._setHSLA(null,i,1-s)}),this.settings.alpha&&S(n,this._domA,function(i,s){return e._setHSLA(null,null,null,1-s)});var l=this._domEdit;o(l,"input",function(i){e._setColor(this.value,{fromEditor:!0,failSilently:!0})}),o(l,"focus",function(i){var s=this;s.selectionStart===s.selectionEnd&&s.select()}),this._ifPopup(function(){var i=function(c){return t.closeHandler(c)};o(window,y,i),o(window,C,i),D(n,r,["Esc","Escape"],i);var s=function(c){t.__containedEvent=c.timeStamp};o(r,y,s),o(r,C,s),o(t._domCancel,"click",i)});var p=function(i){t._ifPopup(function(){return t.closeHandler(i)}),t.onDone&&t.onDone(t.colour)};o(this._domOkay,"click",p),D(n,r,["Enter"],p)}},{key:"_setPosition",value:function(){var t=this.settings.parent,e=this.domElement;t!==e.parentNode&&t.appendChild(e),this._ifPopup(function(r){getComputedStyle(t).position==="static"&&(t.style.position="relative");var n=r===!0?"popup_right":"popup_"+r;["popup_top","popup_bottom","popup_left","popup_right"].forEach(function(o){o===n?e.classList.add(o):e.classList.remove(o)}),e.classList.add(n)})}},{key:"_setHSLA",value:function(t,e,r,n,o){o=o||{};var l=this.colour,p=l.hsla;[t,e,r,n].forEach(function(i,s){(i||i===0)&&(p[s]=i)}),l.hsla=p,this._updateUI(o),this.onChange&&!o.silent&&this.onChange(l)}},{key:"_updateUI",value:function(t){if(!this.domElement)return;t=t||{};var e=this.colour,r=e.hsla,n="hsl("+r[0]*F+", 100%, 50%)",o=e.hslString,l=e.hslaString,p=this._domH,i=this._domSL,s=this._domA,c=_(".picker_selector",p),u=_(".picker_selector",i),h=_(".picker_selector",s);function g(M,E,L){E.style.left=L*100+"%"}function f(M,E,L){E.style.top=L*100+"%"}g(p,c,r[0]),this._domSL.style.backgroundColor=this._domH.style.color=n,g(i,u,r[1]),f(i,u,1-r[2]),i.style.color=o,f(s,h,1-r[3]);var b=o,d=b.replace("hsl","hsla").replace(")",", 0)"),v="linear-gradient("+[b,d]+")";if(this._domA.style.background=v+", "+B,!t.fromEditor){var x=this.settings.editorFormat,k=this.settings.alpha,m=void 0;switch(x){case"rgb":m=e.printRGB(k);break;case"hsl":m=e.printHSL(k);break;default:m=e.printHex(k)}this._domEdit.value=m}this._domSample.style.color=l}},{key:"_ifPopup",value:function(t,e){this.settings.parent&&this.settings.popup?t&&t(this.settings.popup):e&&e()}},{key:"_toggleDOM",value:function(t){var e=this.domElement;if(!e)return!1;var r=t?"":"none",n=e.style.display!==r;return n&&(e.style.display=r),n}}]),a}();{var T=document.createElement("style");T.textContent='.picker_wrapper.no_alpha .picker_alpha{display:none}.picker_wrapper.no_editor .picker_editor{position:absolute;z-index:-1;opacity:0}.picker_wrapper.no_cancel .picker_cancel{display:none}.layout_default.picker_wrapper{display:flex;flex-flow:row wrap;justify-content:space-between;align-items:stretch;font-size:10px;width:25em;padding:.5em}.layout_default.picker_wrapper input,.layout_default.picker_wrapper button{font-size:1rem}.layout_default.picker_wrapper>*{margin:.5em}.layout_default.picker_wrapper::before{content:"";display:block;width:100%;height:0;order:1}.layout_default .picker_slider,.layout_default .picker_selector{padding:1em}.layout_default .picker_hue{width:100%}.layout_default .picker_sl{flex:1 1 auto}.layout_default .picker_sl::before{content:"";display:block;padding-bottom:100%}.layout_default .picker_editor{order:1;width:6.5rem}.layout_default .picker_editor input{width:100%;height:100%}.layout_default .picker_sample{order:1;flex:1 1 auto}.layout_default .picker_done,.layout_default .picker_cancel{order:1}.picker_wrapper{box-sizing:border-box;background:#f2f2f2;box-shadow:0 0 0 1px silver;cursor:default;font-family:sans-serif;color:#444;pointer-events:auto}.picker_wrapper:focus{outline:none}.picker_wrapper button,.picker_wrapper input{box-sizing:border-box;border:none;box-shadow:0 0 0 1px silver;outline:none}.picker_wrapper button:focus,.picker_wrapper button:active,.picker_wrapper input:focus,.picker_wrapper input:active{box-shadow:0 0 2px 1px #1e90ff}.picker_wrapper button{padding:.4em .6em;cursor:pointer;background-color:#f5f5f5;background-image:linear-gradient(0deg, gainsboro, transparent)}.picker_wrapper button:active{background-image:linear-gradient(0deg, transparent, gainsboro)}.picker_wrapper button:hover{background-color:#fff}.picker_selector{position:absolute;z-index:1;display:block;-webkit-transform:translate(-50%, -50%);transform:translate(-50%, -50%);border:2px solid #fff;border-radius:100%;box-shadow:0 0 3px 1px #67b9ff;background:currentColor;cursor:pointer}.picker_slider .picker_selector{border-radius:2px}.picker_hue{position:relative;background-image:linear-gradient(90deg, red, yellow, lime, cyan, blue, magenta, red);box-shadow:0 0 0 1px silver}.picker_sl{position:relative;box-shadow:0 0 0 1px silver;background-image:linear-gradient(180deg, white, rgba(255, 255, 255, 0) 50%),linear-gradient(0deg, black, rgba(0, 0, 0, 0) 50%),linear-gradient(90deg, #808080, rgba(128, 128, 128, 0))}.picker_alpha,.picker_sample{position:relative;background:linear-gradient(45deg, lightgrey 25%, transparent 25%, transparent 75%, lightgrey 75%) 0 0/2em 2em,linear-gradient(45deg, lightgrey 25%, white 25%, white 75%, lightgrey 75%) 1em 1em/2em 2em;box-shadow:0 0 0 1px silver}.picker_alpha .picker_selector,.picker_sample .picker_selector{background:none}.picker_editor input{font-family:monospace;padding:.2em .4em}.picker_sample::before{content:"";position:absolute;display:block;width:100%;height:100%;background:currentColor}.picker_arrow{position:absolute;z-index:-1}.picker_wrapper.popup{position:absolute;z-index:2;margin:1.5em}.picker_wrapper.popup,.picker_wrapper.popup .picker_arrow::before,.picker_wrapper.popup .picker_arrow::after{background:#f2f2f2;box-shadow:0 0 10px 1px rgba(0,0,0,.4)}.picker_wrapper.popup .picker_arrow{width:3em;height:3em;margin:0}.picker_wrapper.popup .picker_arrow::before,.picker_wrapper.popup .picker_arrow::after{content:"";display:block;position:absolute;top:0;left:0;z-index:-99}.picker_wrapper.popup .picker_arrow::before{width:100%;height:100%;-webkit-transform:skew(45deg);transform:skew(45deg);-webkit-transform-origin:0 100%;transform-origin:0 100%}.picker_wrapper.popup .picker_arrow::after{width:150%;height:150%;box-shadow:none}.popup.popup_top{bottom:100%;left:0}.popup.popup_top .picker_arrow{bottom:0;left:0;-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.popup.popup_bottom{top:100%;left:0}.popup.popup_bottom .picker_arrow{top:0;left:0;-webkit-transform:rotate(90deg) scale(1, -1);transform:rotate(90deg) scale(1, -1)}.popup.popup_left{top:0;right:100%}.popup.popup_left .picker_arrow{top:0;right:0;-webkit-transform:scale(-1, 1);transform:scale(-1, 1)}.popup.popup_right{top:0;left:100%}.popup.popup_right .picker_arrow{top:0;left:0}',document.documentElement.firstElementChild.appendChild(T),W.StyleElement=T}export{W as default};
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { OgImagePageScreenshotOptions } from '../../types';
|
|
2
|
-
declare const _default: import("vue").DefineComponent<OgImagePageScreenshotOptions, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<OgImagePageScreenshotOptions>, {
|
|
3
|
-
props?: any;
|
|
4
|
-
}, {}>;
|
|
5
|
-
export default _default;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import playwrightCore from "playwright-core";
|
|
2
|
-
export async function createBrowser() {
|
|
3
|
-
if (import.meta.dev || import.meta.env.prerender) {
|
|
4
|
-
try {
|
|
5
|
-
const { Launcher } = await import(String("chrome-launcher"));
|
|
6
|
-
const chromePath = Launcher.getFirstInstallation();
|
|
7
|
-
return await playwrightCore.chromium.launch({
|
|
8
|
-
headless: true,
|
|
9
|
-
executablePath: chromePath
|
|
10
|
-
});
|
|
11
|
-
} catch (e) {
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
try {
|
|
15
|
-
return await playwrightCore.chromium.launch({
|
|
16
|
-
headless: true
|
|
17
|
-
});
|
|
18
|
-
} catch (e) {
|
|
19
|
-
}
|
|
20
|
-
try {
|
|
21
|
-
const playwright = await import(String("playwright"));
|
|
22
|
-
return await playwright.chromium.launch({
|
|
23
|
-
headless: true
|
|
24
|
-
});
|
|
25
|
-
} catch (e) {
|
|
26
|
-
if (import.meta.dev) {
|
|
27
|
-
console.warn("Failed to load chromium instance. Ensure you have chrome installed, otherwise add the dependency: `npm add -D playwright`.");
|
|
28
|
-
} else {
|
|
29
|
-
console.error("Failed to load browser instance. Please open an issue with the exception: https://github.com/harlan-zw/nuxt-og-image/issues.");
|
|
30
|
-
throw e;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const emojiCache: import("unstorage/dist/shared/unstorage.745f9650").a<string>;
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { createStorage } from "unstorage";
|
|
2
|
-
import lruCacheDriver from "unstorage/drivers/lru-cache";
|
|
3
|
-
export const htmlPayloadCache = createStorage({
|
|
4
|
-
// short cache time so we don't need many entries at runtime
|
|
5
|
-
driver: lruCacheDriver({ max: import.meta.prerender ? 1e3 : 50 })
|
|
6
|
-
});
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function toBase64Image(fileName: string, data: string | ArrayBuffer): string;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { Buffer } from "node:buffer";
|
|
2
|
-
export function toBase64Image(fileName, data) {
|
|
3
|
-
const base64 = typeof data === "string" ? data : Buffer.from(data).toString("base64");
|
|
4
|
-
let type = "image/jpeg";
|
|
5
|
-
const ext = fileName.split(".").pop();
|
|
6
|
-
if (ext === "svg")
|
|
7
|
-
type = "image/svg+xml";
|
|
8
|
-
else if (ext === "png")
|
|
9
|
-
type = "image/png";
|
|
10
|
-
return `data:${type};base64,${base64}`;
|
|
11
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import { useStorage } from "#internal/nitro";
|
|
2
|
-
import { useNitroOrigin } from "#imports";
|
|
3
|
-
import { assets } from "#internal/nitro/virtual/server-assets";
|
|
4
|
-
export async function loadFont({ e }, font) {
|
|
5
|
-
const { name, weight } = font;
|
|
6
|
-
let data;
|
|
7
|
-
if (import.meta.dev || import.meta.prerender) {
|
|
8
|
-
if (font.key && await assets.hasItem(font.key))
|
|
9
|
-
data = await assets.getItemRaw(font.key);
|
|
10
|
-
}
|
|
11
|
-
if (!data) {
|
|
12
|
-
if (font.path) {
|
|
13
|
-
if (import.meta.dev || import.meta.prerender) {
|
|
14
|
-
const key = `root:public${font.path.replace("./", ":").replace("/", ":")}`;
|
|
15
|
-
if (await useStorage().hasItem(key))
|
|
16
|
-
data = await useStorage().getItemRaw(key);
|
|
17
|
-
if (!data) {
|
|
18
|
-
data = await e.$fetch(font.path, {
|
|
19
|
-
responseType: "arrayBuffer"
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
} else {
|
|
23
|
-
data = await e.$fetch(font.path, {
|
|
24
|
-
baseURL: useNitroOrigin(e),
|
|
25
|
-
responseType: "arrayBuffer"
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
} else {
|
|
29
|
-
data = await e.$fetch(`/__og-image__/font/${name}/${weight}.ttf`, {
|
|
30
|
-
responseType: "arrayBuffer"
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
font.data = data;
|
|
35
|
-
return font;
|
|
36
|
-
}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import defaultCharMap from "@iconify-json/noto/chars.json";
|
|
2
|
-
import { emojiCache } from "../cache/emojis.mjs";
|
|
3
|
-
const RE_MATCH_EMOJIS = /[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC2\uDECE-\uDEDB\uDEE0-\uDEE8]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;
|
|
4
|
-
export async function applyEmojis(ctx, island) {
|
|
5
|
-
const html = island.html;
|
|
6
|
-
const matches = html.match(RE_MATCH_EMOJIS);
|
|
7
|
-
if (!matches)
|
|
8
|
-
return html;
|
|
9
|
-
const replacements = await Promise.all(matches.map(async (match) => {
|
|
10
|
-
const unicode = match.codePointAt(0).toString(16);
|
|
11
|
-
const emoji = defaultCharMap[unicode];
|
|
12
|
-
if (emoji) {
|
|
13
|
-
const key = ["1", ctx.options.emojis, emoji].join(":");
|
|
14
|
-
let svg;
|
|
15
|
-
if (await emojiCache.hasItem(key))
|
|
16
|
-
svg = await emojiCache.getItem(key);
|
|
17
|
-
if (!svg) {
|
|
18
|
-
svg = await ctx.e.$fetch(`https://api.iconify.design/${ctx.options.emojis}/${emoji}.svg`, {
|
|
19
|
-
responseType: "text"
|
|
20
|
-
});
|
|
21
|
-
if (svg === "404")
|
|
22
|
-
svg = void 0;
|
|
23
|
-
if (svg)
|
|
24
|
-
await emojiCache.setItem(key, svg);
|
|
25
|
-
}
|
|
26
|
-
if (svg)
|
|
27
|
-
return `
|
|
28
|
-
${svg.replace("<svg ", '<svg data-emoji style="margin: 0 .05em 0 .15em; vertical-align: -0.1em;" ')}
|
|
29
|
-
`;
|
|
30
|
-
return match;
|
|
31
|
-
}
|
|
32
|
-
}));
|
|
33
|
-
const finalHtml = html.replace(RE_MATCH_EMOJIS, () => replacements.shift());
|
|
34
|
-
const modified = finalHtml !== island.html;
|
|
35
|
-
island.html = finalHtml;
|
|
36
|
-
return modified;
|
|
37
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { useCssInline } from "../renderers/satori/instances.mjs";
|
|
2
|
-
import { useNitroOrigin } from "#imports";
|
|
3
|
-
import cssInline from "#nuxt-og-image/bindings/css-inline";
|
|
4
|
-
export async function applyInlineCss({ e }, island) {
|
|
5
|
-
let html = island.html;
|
|
6
|
-
const componentInlineStyles = island.head.link.filter((l) => l.href.startsWith("/_nuxt/components"));
|
|
7
|
-
const usingInlineCss = !!componentInlineStyles.length;
|
|
8
|
-
if (!cssInline.__unenv__ && componentInlineStyles.length) {
|
|
9
|
-
const css = island.head.style.map((s) => s.innerHTML).join("\n");
|
|
10
|
-
const linksToCss = (await Promise.all(
|
|
11
|
-
componentInlineStyles.map((l) => {
|
|
12
|
-
return e.$fetch(`${l.href}&hmr=false`, {
|
|
13
|
-
responseType: "text",
|
|
14
|
-
baseURL: useNitroOrigin(e)
|
|
15
|
-
}).then((res) => {
|
|
16
|
-
return res.trim().split("\n").filter((l2) => !l2.startsWith("//")).join("\n").trim();
|
|
17
|
-
});
|
|
18
|
-
})
|
|
19
|
-
)).join("\n");
|
|
20
|
-
const cssToInline = `${linksToCss}${css}`;
|
|
21
|
-
const cssInline2 = await useCssInline();
|
|
22
|
-
html = cssInline2.inline(island.html, {
|
|
23
|
-
load_remote_stylesheets: false,
|
|
24
|
-
extra_css: cssToInline
|
|
25
|
-
});
|
|
26
|
-
const classes = cssToInline.match(/\.([a-zA-Z0-9-_]+)/g)?.map((c) => c.replace(".", ""));
|
|
27
|
-
if (classes)
|
|
28
|
-
html = html.replace(new RegExp(`class="(${classes.join("|")})"`, "g"), "");
|
|
29
|
-
island.html = html;
|
|
30
|
-
}
|
|
31
|
-
return usingInlineCss;
|
|
32
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { createError } from "h3";
|
|
2
|
-
import { hash } from "ohash";
|
|
3
|
-
export function fetchIsland({ options, e }) {
|
|
4
|
-
if (!options.component) {
|
|
5
|
-
throw createError({
|
|
6
|
-
statusCode: 500,
|
|
7
|
-
statusMessage: `[Nuxt OG Image] Rendering an invalid component. Received options: ${JSON.stringify(options)}.`
|
|
8
|
-
});
|
|
9
|
-
}
|
|
10
|
-
const hashId = hash([options.component, options]);
|
|
11
|
-
const props = typeof options.props !== "undefined" ? options.props : options;
|
|
12
|
-
return e.$fetch(`/__nuxt_island/${options.component}_${hashId}.json`, {
|
|
13
|
-
params: {
|
|
14
|
-
props: JSON.stringify(props)
|
|
15
|
-
}
|
|
16
|
-
});
|
|
17
|
-
}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
export function decodeHtml(html) {
|
|
2
|
-
return html.replace(/</g, "<").replace(/>/g, ">").replace(/&/g, "&").replace(/¢/g, "\xA2").replace(/£/g, "\xA3").replace(/¥/g, "\xA5").replace(/€/g, "\u20AC").replace(/©/g, "\xA9").replace(/®/g, "\xAE").replace(/"/g, '"').replace(/'/g, "'").replace(/'/g, "'").replace(///g, "/").replace(/&#([0-9]+);/g, (full, int) => {
|
|
3
|
-
return String.fromCharCode(Number.parseInt(int));
|
|
4
|
-
});
|
|
5
|
-
}
|
|
6
|
-
function decodeObjectHtmlEntities(obj) {
|
|
7
|
-
Object.entries(obj).forEach(([key, value]) => {
|
|
8
|
-
if (typeof value === "string")
|
|
9
|
-
obj[key] = decodeHtml(value);
|
|
10
|
-
});
|
|
11
|
-
return obj;
|
|
12
|
-
}
|
|
13
|
-
export function extractAndNormaliseOgImageOptions(html) {
|
|
14
|
-
const htmlPayload = html.match(/<script.+id="nuxt-og-image-options"[^>]*>(.+?)<\/script>/)?.[1];
|
|
15
|
-
if (!htmlPayload)
|
|
16
|
-
return false;
|
|
17
|
-
let options;
|
|
18
|
-
try {
|
|
19
|
-
const payload2 = JSON.parse(htmlPayload);
|
|
20
|
-
Object.entries(payload2).forEach(([key, value]) => {
|
|
21
|
-
if (!value)
|
|
22
|
-
delete payload2[key];
|
|
23
|
-
});
|
|
24
|
-
options = payload2;
|
|
25
|
-
} catch (e) {
|
|
26
|
-
if (import.meta.dev)
|
|
27
|
-
console.warn("Failed to parse #nuxt-og-image-options", e, options);
|
|
28
|
-
}
|
|
29
|
-
if (!options)
|
|
30
|
-
return false;
|
|
31
|
-
const payload = decodeObjectHtmlEntities(options);
|
|
32
|
-
if (import.meta.dev) {
|
|
33
|
-
const socialPreview = {};
|
|
34
|
-
const socialMetaTags = html.match(/<meta[^>]+(property|name)="(twitter|og):([^"]+)"[^>]*>/g);
|
|
35
|
-
if (socialMetaTags) {
|
|
36
|
-
socialMetaTags.forEach((tag) => {
|
|
37
|
-
const [, , type, key] = tag.match(/(property|name)="(twitter|og):([^"]+)"/);
|
|
38
|
-
const value = tag.match(/content="([^"]+)"/)?.[1];
|
|
39
|
-
if (!value)
|
|
40
|
-
return;
|
|
41
|
-
if (!socialPreview[type])
|
|
42
|
-
socialPreview[type] = {};
|
|
43
|
-
socialPreview[type][key] = value;
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
payload.socialPreview = socialPreview;
|
|
47
|
-
}
|
|
48
|
-
return payload;
|
|
49
|
-
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { createError } from "h3";
|
|
2
|
-
import { htmlPayloadCache } from "../cache/htmlPayload.mjs";
|
|
3
|
-
import { extractAndNormaliseOgImageOptions } from "./extract.mjs";
|
|
4
|
-
export async function fetchPathHtmlAndExtractOptions(e, path, key) {
|
|
5
|
-
const cachedHtmlPayload = await htmlPayloadCache.getItem(key);
|
|
6
|
-
if (cachedHtmlPayload && cachedHtmlPayload.expiresAt < Date.now())
|
|
7
|
-
return cachedHtmlPayload.value;
|
|
8
|
-
let html;
|
|
9
|
-
try {
|
|
10
|
-
html = await e.$fetch(path);
|
|
11
|
-
} catch (err) {
|
|
12
|
-
return createError({
|
|
13
|
-
statusCode: 500,
|
|
14
|
-
statusMessage: `[Nuxt OG Image] Failed to read the path ${path} for og-image extraction. ${err.message}.`
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
if (typeof html !== "string") {
|
|
18
|
-
return createError({
|
|
19
|
-
statusCode: 500,
|
|
20
|
-
statusMessage: `[Nuxt OG Image] Got invalid response from ${path} for og-image extraction.`
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
const payload = extractAndNormaliseOgImageOptions(html);
|
|
24
|
-
if (payload) {
|
|
25
|
-
await htmlPayloadCache.setItem(key, {
|
|
26
|
-
// 60 minutes for prerender, 10 seconds for runtime
|
|
27
|
-
expiresAt: Date.now() + 1e3 * (import.meta.prerender ? 60 * 60 : 10),
|
|
28
|
-
value: payload
|
|
29
|
-
});
|
|
30
|
-
}
|
|
31
|
-
return payload;
|
|
32
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { defineSatoriTransformer } from "../utils.mjs";
|
|
2
|
-
import { decodeHtml } from "../../../options/extract.mjs";
|
|
3
|
-
export default defineSatoriTransformer({
|
|
4
|
-
filter: (node) => typeof node.props?.children === "string",
|
|
5
|
-
transform: async (node) => {
|
|
6
|
-
node.props.children = decodeHtml(node.props.children);
|
|
7
|
-
}
|
|
8
|
-
});
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { defineSatoriTransformer } from "../utils.mjs";
|
|
2
|
-
export default defineSatoriTransformer({
|
|
3
|
-
filter: (node) => node.type === "div" && (Array.isArray(node.props?.children) && node.props?.children.length >= 1) && (!node.props.style?.display && !node.props?.class?.includes("hidden")),
|
|
4
|
-
transform: async (node) => {
|
|
5
|
-
node.props.style = node.props.style || {};
|
|
6
|
-
node.props.style.display = "flex";
|
|
7
|
-
if (!node.props?.class?.includes("flex-"))
|
|
8
|
-
node.props.style.flexDirection = "column";
|
|
9
|
-
}
|
|
10
|
-
});
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { Buffer } from "node:buffer";
|
|
2
|
-
import { withBase } from "ufo";
|
|
3
|
-
import sizeOf from "image-size";
|
|
4
|
-
import { defineSatoriTransformer } from "../utils.mjs";
|
|
5
|
-
import { toBase64Image } from "../../../env/assets.mjs";
|
|
6
|
-
import { useStorage } from "#internal/nitro";
|
|
7
|
-
import { useNitroOrigin } from "#imports";
|
|
8
|
-
export default defineSatoriTransformer([
|
|
9
|
-
// fix <img src="">
|
|
10
|
-
{
|
|
11
|
-
filter: (node) => node.type === "img",
|
|
12
|
-
transform: async (node, { e }) => {
|
|
13
|
-
const src = node.props?.src;
|
|
14
|
-
const isRelative = src?.startsWith("/");
|
|
15
|
-
if (src) {
|
|
16
|
-
let updated = false;
|
|
17
|
-
let dimensions;
|
|
18
|
-
let imageBuffer;
|
|
19
|
-
let valid = true;
|
|
20
|
-
if (import.meta.prerender || import.meta.dev) {
|
|
21
|
-
const key = `root:public${src.replace("./", ":").replace("/", ":")}`;
|
|
22
|
-
if (await useStorage().hasItem(key)) {
|
|
23
|
-
imageBuffer = await useStorage().getItemRaw(key);
|
|
24
|
-
updated = !!imageBuffer;
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
if (!import.meta.prerender && !updated) {
|
|
28
|
-
imageBuffer = await e.$fetch(src, {
|
|
29
|
-
baseURL: useNitroOrigin(e),
|
|
30
|
-
responseType: "arrayBuffer"
|
|
31
|
-
}).catch(() => {
|
|
32
|
-
valid = false;
|
|
33
|
-
});
|
|
34
|
-
valid = !!imageBuffer;
|
|
35
|
-
}
|
|
36
|
-
if (valid) {
|
|
37
|
-
node.props.src = toBase64Image(src, imageBuffer);
|
|
38
|
-
try {
|
|
39
|
-
const imageSize = sizeOf(Buffer.from(imageBuffer));
|
|
40
|
-
dimensions = { width: imageSize.width, height: imageSize.height };
|
|
41
|
-
} catch (e2) {
|
|
42
|
-
}
|
|
43
|
-
updated = true;
|
|
44
|
-
}
|
|
45
|
-
if (dimensions?.width && dimensions?.height) {
|
|
46
|
-
const naturalAspectRatio = dimensions.width / dimensions.height;
|
|
47
|
-
if (node.props.width && !node.props.height) {
|
|
48
|
-
node.props.height = Math.round(node.props.width / naturalAspectRatio);
|
|
49
|
-
} else if (node.props.height && !node.props.width) {
|
|
50
|
-
node.props.width = Math.round(node.props.height * naturalAspectRatio);
|
|
51
|
-
} else if (!node.props.width && !node.props.height) {
|
|
52
|
-
node.props.width = dimensions.width;
|
|
53
|
-
node.props.height = dimensions.height;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
if (!updated && isRelative) {
|
|
57
|
-
node.props.src = `${withBase(src, `${useNitroOrigin(e)}`)}?${Date.now()}`;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
},
|
|
62
|
-
// fix style="background-image: url('')"
|
|
63
|
-
{
|
|
64
|
-
filter: (node) => node.props?.style?.backgroundImage?.includes("url("),
|
|
65
|
-
transform: async (node, { e }) => {
|
|
66
|
-
const backgroundImage = node.props.style.backgroundImage;
|
|
67
|
-
if (backgroundImage) {
|
|
68
|
-
const src = backgroundImage.replace(/^url\(['"]?/, "").replace(/['"]?\)$/, "");
|
|
69
|
-
const isRelative = src?.startsWith("/");
|
|
70
|
-
if (isRelative)
|
|
71
|
-
node.props.style.backgroundImage = `url(${withBase(src, `${useNitroOrigin(e)}`)}?${Date.now()})`;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
]);
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import { defineSatoriTransformer } from "../utils.mjs";
|
|
2
|
-
export default defineSatoriTransformer({
|
|
3
|
-
filter: (node) => !!node.props?.class && !node.props?.tw,
|
|
4
|
-
transform: async (node) => {
|
|
5
|
-
node.props.tw = node.props.class;
|
|
6
|
-
node.props.tw = node.props.tw.replace(/icon|inline-style/g, "");
|
|
7
|
-
}
|
|
8
|
-
});
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { html as convertHtmlToSatori } from "satori-html";
|
|
2
|
-
import { fetchIsland } from "../../html/fetchIsland.mjs";
|
|
3
|
-
import { applyInlineCss } from "../../html/applyInlineCss.mjs";
|
|
4
|
-
import { applyEmojis } from "../../html/applyEmojis.mjs";
|
|
5
|
-
import { walkSatoriTree } from "./utils.mjs";
|
|
6
|
-
import unocss from "./plugins/unocss.mjs";
|
|
7
|
-
import emojis from "./plugins/emojis.mjs";
|
|
8
|
-
import twClasses from "./plugins/twClasses.mjs";
|
|
9
|
-
import imageSrc from "./plugins/imageSrc.mjs";
|
|
10
|
-
import flex from "./plugins/flex.mjs";
|
|
11
|
-
import encoding from "./plugins/encoding.mjs";
|
|
12
|
-
export async function createVNodes(ctx) {
|
|
13
|
-
let html = ctx.options.html;
|
|
14
|
-
if (!html) {
|
|
15
|
-
const island = await fetchIsland(ctx);
|
|
16
|
-
await applyInlineCss(ctx, island);
|
|
17
|
-
await applyEmojis(ctx, island);
|
|
18
|
-
html = island.html;
|
|
19
|
-
}
|
|
20
|
-
const template = `<div data-v-inspector-ignore="true" style="position: relative; display: flex; margin: 0 auto; width: ${ctx.options.width}px; height: ${ctx.options.height}px; overflow: hidden;">${html}</div>`;
|
|
21
|
-
const satoriTree = convertHtmlToSatori(template);
|
|
22
|
-
await walkSatoriTree(ctx, satoriTree, [
|
|
23
|
-
unocss,
|
|
24
|
-
emojis,
|
|
25
|
-
twClasses,
|
|
26
|
-
imageSrc,
|
|
27
|
-
flex,
|
|
28
|
-
encoding
|
|
29
|
-
]);
|
|
30
|
-
return satoriTree;
|
|
31
|
-
}
|