@fast-simon/storefront-kit
Version:
A comprehensive kit for developing storefronts with Fast Simon components, utilities, and React/Hydrogen support.
2 lines (1 loc) • 1.42 kB
JavaScript
;Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function a({headTags:n}){return c(n),null}var l="text-transform: uppercase;",s="text-transform: uppercase; font-weight: bold; text-transform: uppercase;font-weight: bold";function c(n){console.log(" "),console.log("%cSEO Meta Tags",`${s}`),console.log(" "),n.forEach(o=>{if(o.tag==="script"){if(console.log("%c• JSON LD ",l),o.children)try{console.table(JSON.parse(o.children),["name","content"])}catch{console.log(o.children)}}else{if(console.log(`%c• ${o.tag} `,l),o.children)if(typeof o.children=="string")console.log(`↳ ${o.children}`);else try{Object.entries(JSON.parse(o.children)).map(([t,e])=>console.log(`↳ ${e}`))}catch{console.log(o.children)}if(o.props.property==="og:image:url"){let t=o.props.content;i(t).then(e=>{let r=`font-size: 400px; padding: 10px; background: white url(${e}) no-repeat center; background-size: contain;`;console.log("%c• Share image preview",l),console.log("%c ",r),console.log(`↳ ${t}`)}).catch(e=>{console.error(e)})}Object.entries(o.props).map(([t,e])=>{console.log(`↳ ${t} → ${e}`)})}console.log(" ")})}async function i(n){let o=await(await(await fetch(n)).blob()).arrayBuffer();return`data:image/png;base64,${g(o)}`}function g(n){let o="",t=new Uint8Array(n),e=t.byteLength;for(let r=0;r<e;r++)o+=String.fromCharCode(t[r]);return btoa(o)}exports.default=a;exports.logSeoTags=c;