nuxt-seo-utils 8.0.3 → 8.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/cli.mjs +1 -1
  2. package/dist/devtools/200.html +1 -1
  3. package/dist/devtools/404.html +1 -1
  4. package/dist/devtools/_nuxt/2G7Leuoi.js +32 -0
  5. package/dist/devtools/_nuxt/Bi2Hu9J7.js +1 -0
  6. package/dist/devtools/_nuxt/DGc1JkNC.js +1 -0
  7. package/dist/devtools/_nuxt/DevtoolsSection.Dt6FUBPw.css +1 -0
  8. package/dist/devtools/_nuxt/DoXcoq-0.js +1 -0
  9. package/dist/devtools/_nuxt/DxVgHEx5.js +1 -0
  10. package/dist/devtools/_nuxt/Z0R8QAQn.js +1 -0
  11. package/dist/devtools/_nuxt/builds/latest.json +1 -1
  12. package/dist/devtools/_nuxt/builds/meta/4fc06af4-db03-4190-bad6-822a1e1fc5f2.json +1 -0
  13. package/dist/devtools/_nuxt/debug.BvvoS2TI.css +1 -0
  14. package/dist/devtools/_nuxt/entry.BDETcH9H.css +1 -0
  15. package/dist/devtools/_nuxt/fira-code.Bc8wnsZt.woff2 +0 -0
  16. package/dist/devtools/_nuxt/hubot-sans.DLGyhQVu.woff2 +0 -0
  17. package/dist/devtools/_nuxt/index.STyrn0Qm.css +1 -0
  18. package/dist/devtools/_nuxt/social.DrJTEVxX.css +1 -0
  19. package/dist/devtools/_nuxt/tools.C4xLmenJ.css +1 -0
  20. package/dist/devtools/_nuxt/v9wqVhuR.js +1 -0
  21. package/dist/devtools/debug/index.html +1 -0
  22. package/dist/devtools/docs/index.html +1 -0
  23. package/dist/devtools/index.html +1 -1
  24. package/dist/devtools/social/index.html +1 -1
  25. package/dist/module.json +1 -1
  26. package/dist/module.mjs +3 -0
  27. package/dist/runtime/server/routes/__nuxt-seo-utils/debug.d.ts +4 -0
  28. package/dist/runtime/server/routes/__nuxt-seo-utils/debug.js +14 -3
  29. package/package.json +3 -4
  30. package/dist/devtools/_fonts/4ppnHhMi-pBsWSPo7mY0avYxlDoAg1N3PTzCwXLZ5rA-d9oibkGnTd1JL3tc_xnaVgBLYmOB8kjrK2cvZaqwj9s.woff2 +0 -0
  31. package/dist/devtools/_fonts/4qBuU9MRVUlPZNPSF7Xom_sK8RBEnfYu-9VXFrdq8A8-8TDwLE1HAj1sQn7XxVWtM_7sIaPM-DTdO3Pf8U2DF1U.woff2 +0 -0
  32. package/dist/devtools/_fonts/6dYsbWUd_BpKJ7mdDihgOcya1gHXLpJBuMYXux3WMjE-q3fYNS8YbW5n7ZeXI2vSNgkRWW5VDPKAl51SNTjG2qk.woff2 +0 -0
  33. package/dist/devtools/_fonts/Lr-hqqZZsYmCt0ITUlr1CUrWim9fsKvoDFZliMxgNHY-iTa_Yt_PzhOY9TX7ZXdSlEPim6iRt92xhECwaxWxd5w.woff2 +0 -0
  34. package/dist/devtools/_fonts/OknHvWI6KtYn1JQBzX7eSpNDBQ8520F9TvSUJYkVf6A-xeZn9253svK_8Q2LD0XEruY_MnEsuCRO5LenPoggC0Y.woff2 +0 -0
  35. package/dist/devtools/_fonts/PV2hrQG6wq5BlIPDjdL1IcOflycaghyt5MHzlBqZtlo-lb_WexLz3VZqfTN0oi554iBH5tT2j2UFEV-XErCAS3E.woff2 +0 -0
  36. package/dist/devtools/_fonts/UA7OtwYHwGN_HjcVGTdmiQxUit7FlqkCwxVUWSeXVnQ-B4OXCFOL_tWrYODpQTc07aMaj0c2cewTOmBRWR9tD-A.woff2 +0 -0
  37. package/dist/devtools/_fonts/VE4cDVCv5MxbFM7ZLoLCGbIpNd71zhp7MDI9lmN5Y7I-xZyDYCUVrd6LV8eVGF3Um3UZjBFuUtDGtvdyTBBRYBo.woff2 +0 -0
  38. package/dist/devtools/_fonts/fVoGbnMbBFd5L9BBp9fUPavUSkZ_EmsQNSyadkT-108-U4T0khaeLQSIhtt9eVvaCEKJjtWJ4ioRJOf8hvqkWY0.woff2 +0 -0
  39. package/dist/devtools/_fonts/lQAxeCEs1R0Lw-H9XRU1RlOARQN8J6npRsPjyEDMe5s-_DUSLEkO3tKTuun_gSnDLoQPVEnpOnyqZMOw0ByZ6PA.woff2 +0 -0
  40. package/dist/devtools/_fonts/lntlqNHKLV2n82yTwMde70QqOjcfLE2XJ5oKZ3vRPWc-z6TxpIZQdWXztWLr9_OFWqt_WJJoeGtuK_-XQMZGQwE.woff2 +0 -0
  41. package/dist/devtools/_fonts/qxAYvKsXWeYv731eb-h5TRurcdIP_W44mpNdX-HABAk-zUDeMEFlNtNbrwvT9JxLEBg0TphGy70O6RfIoIX_ZwU.woff2 +0 -0
  42. package/dist/devtools/_nuxt/C0XFdN06.js +0 -1
  43. package/dist/devtools/_nuxt/D6GJ-iCD.js +0 -1
  44. package/dist/devtools/_nuxt/DJhSIJlE.js +0 -1
  45. package/dist/devtools/_nuxt/URQoZa-6.js +0 -32
  46. package/dist/devtools/_nuxt/bkX0qtOA.js +0 -1
  47. package/dist/devtools/_nuxt/builds/meta/86641033-618a-472e-9925-d0d13c268619.json +0 -1
  48. package/dist/devtools/_nuxt/entry.CRnHSgoW.css +0 -1
  49. package/dist/devtools/_nuxt/error-404.MYdk-Ot-.css +0 -1
  50. package/dist/devtools/_nuxt/error-500.hM1uUXn6.css +0 -1
  51. package/dist/devtools/_nuxt/uEvV8QqG.js +0 -1
@@ -0,0 +1 @@
1
+ .social-issue-row[data-v-59fbea83]{align-items:flex-start;border-radius:var(--radius-sm);display:flex;font-size:.8125rem;gap:.5rem;padding:.625rem .75rem;transition:background .15s}.social-issue-row[data-v-59fbea83]:hover{background:var(--color-surface-sunken)}.social-tab-bar[data-v-59fbea83]{border-bottom:1px solid var(--color-border);display:flex;gap:.125rem;overflow-x:auto;padding:.5rem .75rem}.social-tab[data-v-59fbea83]{align-items:center;border-radius:var(--radius-sm);color:var(--color-text-muted);display:flex;font-size:.75rem;font-weight:500;gap:.375rem;padding:.375rem .625rem;transition:color .15s,background .15s;white-space:nowrap}.social-tab[data-v-59fbea83]:hover{background:var(--color-surface-sunken);color:var(--color-text)}.social-tab--active[data-v-59fbea83]{background:#11ad3214;color:var(--seo-green)}.dark .social-tab--active[data-v-59fbea83]{background:#11ad321f}.social-tab__label[data-v-59fbea83]{display:none}@media(min-width:640px){.social-tab__label[data-v-59fbea83]{display:inline}}.social-preview-stage[data-v-59fbea83]{padding:1.5rem}.social-preview-card[data-v-59fbea83]{animation:fade-up .25s cubic-bezier(.22,1,.36,1) forwards;margin:0 auto;max-width:500px}.social-image-placeholder[data-v-59fbea83]{align-items:center;background:var(--color-surface-sunken);background-image:linear-gradient(45deg,oklch(0 0 0/.03) 25%,transparent 0),linear-gradient(-45deg,oklch(0 0 0/.03) 25%,transparent 0),linear-gradient(45deg,transparent 75%,oklch(0 0 0/.03) 0),linear-gradient(-45deg,transparent 75%,oklch(0 0 0/.03) 0);color:var(--color-text-subtle);display:flex;flex-direction:column;font-size:.6875rem;font-weight:500;gap:.375rem;justify-content:center}.dark .social-image-placeholder[data-v-59fbea83],.social-image-placeholder[data-v-59fbea83]{background-position:0 0,0 8px,8px -8px,-8px 0;background-size:16px 16px}.dark .social-image-placeholder[data-v-59fbea83]{background-image:linear-gradient(45deg,oklch(100% 0 0/.03) 25%,transparent 0),linear-gradient(-45deg,oklch(100% 0 0/.03) 25%,transparent 0),linear-gradient(45deg,transparent 75%,oklch(100% 0 0/.03) 0),linear-gradient(-45deg,transparent 75%,oklch(100% 0 0/.03) 0)}.social-image-placeholder--discord[data-v-59fbea83]{background-color:#36393f;color:#72767d}.social-tags-table__row[data-v-59fbea83]{align-items:center;border-radius:var(--radius-sm);display:flex;gap:.75rem;padding:.5rem .625rem;transition:background .15s}.social-tags-table__row[data-v-59fbea83]:hover{background:var(--color-surface-sunken)}.social-tags-table__row[data-v-59fbea83]:nth-child(2n){background:#00000004}.dark .social-tags-table__row[data-v-59fbea83]:nth-child(2n){background:#ffffff04}.social-tags-table__row[data-v-59fbea83]:nth-child(2n):hover{background:var(--color-surface-sunken)}
@@ -0,0 +1 @@
1
+ .devtools-error[data-v-5e62ff09]{flex-direction:column;gap:.75rem;padding:3rem 1.5rem;text-align:center}.devtools-error[data-v-5e62ff09],.devtools-error-icon-wrap[data-v-5e62ff09]{align-items:center;display:flex;justify-content:center}.devtools-error-icon-wrap[data-v-5e62ff09]{background:#dc655f1a;border-radius:var(--radius-lg);height:3rem;width:3rem}.dark .devtools-error-icon-wrap[data-v-5e62ff09]{background:#843c3826}.devtools-error-icon[data-v-5e62ff09]{color:#d74745;font-size:1.5rem}.dark .devtools-error-icon[data-v-5e62ff09]{color:#ed756e}.devtools-error-title[data-v-5e62ff09]{color:var(--color-text);font-size:.875rem;font-weight:600}.devtools-error-message[data-v-5e62ff09]{color:var(--color-text-muted);font-size:.75rem;line-height:1.5;max-width:20rem}.devtools-error-actions[data-v-5e62ff09]{display:flex;gap:.5rem;margin-top:.25rem}.devtools-empty[data-v-dfd08af9]{align-items:center;display:flex;flex-direction:column;margin:0 auto;max-width:32rem;text-align:center}.devtools-empty-icon[data-v-dfd08af9]{align-items:center;border-radius:var(--radius-lg);display:inline-flex;height:4rem;justify-content:center;margin-bottom:1.5rem;width:4rem}.devtools-empty-icon-default[data-v-dfd08af9]{background:#11ad321f;color:var(--seo-green)}.dark .devtools-empty-icon-default[data-v-dfd08af9]{background:#11ad3226}.devtools-empty-icon-error[data-v-dfd08af9]{background:#cc272e1f;color:#cc272e}.dark .devtools-empty-icon-error[data-v-dfd08af9]{background:#cc272e26;color:#ff847d}.devtools-empty-title[data-v-dfd08af9]{color:var(--color-text);font-size:1.125rem;font-weight:600;margin-bottom:.75rem}@media(min-width:640px){.devtools-empty-title[data-v-dfd08af9]{font-size:1.25rem}}.devtools-empty-description[data-v-dfd08af9]{color:var(--color-text-muted);font-size:.875rem;line-height:1.5;margin-bottom:1.25rem}@media(min-width:640px){.devtools-empty-description[data-v-dfd08af9]{font-size:1rem}}.devtools-empty-actions[data-v-dfd08af9]{align-items:center;display:flex;flex-direction:column;gap:.75rem}
@@ -0,0 +1 @@
1
+ import{d as A,u as q,q as H,p as M,s as z,v as J,o as a,g as l,c as w,x as X,w as v,b as i,e as K,F as f,i as e,m as C,y as Q,n as B,j as n,k as p,z as Y,A as F,a as L,r as U,f as h,l as Z}from"./2G7Leuoi.js";import{_ as ee,a as te,p as ae}from"./Z0R8QAQn.js";import{_ as se,a as oe}from"./DoXcoq-0.js";const le={class:"space-y-5 stagger-children"},ne={class:"space-y-1"},re={class:"min-w-0"},ie={class:"font-mono text-xs"},ce={class:"text-xs text-[var(--color-text-muted)]"},ue={class:"social-tab-bar"},de=["onClick"],ge={class:"social-tab__label"},ve={class:"social-preview-stage"},pe={key:0,class:"social-preview-card"},me={class:"rounded-2xl overflow-hidden border border-neutral-200 dark:border-neutral-700"},_e={key:0,class:"aspect-[1.91/1] bg-neutral-100 dark:bg-neutral-800"},he=["src","alt"],xe={key:1,class:"social-image-placeholder aspect-[1.91/1]"},be={class:"p-3"},we={class:"text-xs text-neutral-500"},fe={class:"text-sm font-medium line-clamp-1"},ye={class:"text-xs text-neutral-500 line-clamp-2"},ke={key:1,class:"social-preview-card"},Ie={class:"rounded-lg overflow-hidden border border-neutral-200 dark:border-neutral-700 bg-neutral-50 dark:bg-neutral-800"},Te={key:0,class:"aspect-[1.91/1] bg-neutral-100 dark:bg-neutral-700"},Ce=["src","alt"],Ne={key:1,class:"social-image-placeholder aspect-[1.91/1]"},$e={class:"p-3"},Se={class:"text-[11px] text-neutral-500 uppercase tracking-wider"},Ue={class:"text-base font-semibold line-clamp-1 mt-0.5"},je={class:"text-sm text-neutral-500 line-clamp-1 mt-0.5"},De={key:2,class:"social-preview-card"},Me={class:"rounded-lg overflow-hidden border border-neutral-200 dark:border-neutral-700"},ze={key:0,class:"aspect-[1.91/1] bg-neutral-100 dark:bg-neutral-800"},Be=["src","alt"],Fe={key:1,class:"social-image-placeholder aspect-[1.91/1]"},Le={class:"p-3 bg-neutral-50 dark:bg-neutral-800"},Oe={class:"text-sm font-semibold line-clamp-2"},Ee={class:"text-xs text-neutral-500 mt-1"},Pe={key:3,class:"social-preview-card"},Re={class:"rounded-lg overflow-hidden border-l-4 border-[#5865F2] bg-[#2f3136] text-white p-4"},Ve={class:"text-xs text-neutral-400 mb-1"},We={class:"text-[#00aff4] text-sm font-semibold hover:underline cursor-pointer"},Ge={class:"text-sm text-neutral-300 mt-1 line-clamp-2"},Ae={key:0,class:"mt-3 rounded-lg overflow-hidden max-w-[300px]"},qe=["src","alt"],He={key:1,class:"social-image-placeholder social-image-placeholder--discord mt-3 max-w-[300px] aspect-video rounded-lg"},Je={key:4,class:"social-preview-card"},Xe={class:"rounded-lg overflow-hidden border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 py-2"},Ke={class:"text-xs text-neutral-500 font-bold mb-1"},Qe={class:"text-[#1264a3] dark:text-[#1d9bd1] text-sm font-bold hover:underline cursor-pointer"},Ye={class:"text-sm text-neutral-600 dark:text-neutral-400 mt-0.5 line-clamp-2"},Ze={key:0,class:"mt-2 rounded overflow-hidden max-w-[360px]"},et=["src","alt"],tt={class:"social-tags-table"},at={class:"text-sm font-mono shrink-0 text-[var(--color-text)]"},st={class:"text-xs text-[var(--color-text-muted)] truncate min-w-0 flex-1 text-right font-mono"},ot={class:"text-sm font-mono shrink-0 text-[var(--color-text)]"},lt={class:"text-xs text-[var(--color-text-muted)] truncate min-w-0 flex-1 text-right font-mono"},nt={class:"rounded-lg overflow-hidden border border-[var(--color-border)]"},rt=["src","alt"],it={class:"flex items-center gap-2 text-xs text-[var(--color-text-muted)] font-mono"},ct={class:"truncate"},ut=A({__name:"social",setup(dt){const{copy:O,copied:E}=q(),N=U(!1),y=U(null),t=U(null),_=U("twitter"),P=[{label:"X / Twitter",value:"twitter",icon:"carbon:logo-x"},{label:"Facebook",value:"facebook",icon:"carbon:logo-facebook"},{label:"LinkedIn",value:"linkedin",icon:"carbon:logo-linkedin"},{label:"Discord",value:"discord",icon:"carbon:logo-discord"},{label:"Slack",value:"slack",icon:"carbon:logo-slack"}],x=h(()=>{if(!t.value)return[];const c=[];if(t.value.og["og:title"]||c.push({type:"warning",property:"og:title",message:"Missing og:title. Social previews will use the page title as fallback."}),t.value.og["og:description"]||c.push({type:"warning",property:"og:description",message:"Missing og:description."}),t.value.ogImages.length||c.push({type:"warning",property:"og:image",message:"No og:image found. Posts with images get higher engagement."}),t.value.og["og:url"]||c.push({type:"warning",property:"og:url",message:"Missing og:url."}),t.value.twitter["twitter:card"]||c.push({type:"warning",property:"twitter:card",message:'Missing twitter:card. Defaults to "summary".'}),t.value.ogImages.length){const o=t.value.ogImages[0];o.url&&!o.url.startsWith("http")&&c.push({type:"error",property:"og:image",message:"og:image must be an absolute URL."});const r=Number.parseInt(o.width||"0"),u=Number.parseInt(o.height||"0");r&&u&&(r<200||u<200)&&c.push({type:"warning",property:"og:image",message:`Image is ${r}x${u}. Minimum recommended: 200x200, ideal: 1200x630.`})}return c}),d=h(()=>t.value?.og["og:title"]||t.value?.twitter["twitter:title"]||t.value?.title||"Untitled"),$=h(()=>t.value?.og["og:description"]||t.value?.twitter["twitter:description"]||t.value?.description||""),g=h(()=>t.value?.ogImages[0]?.url||t.value?.twitter["twitter:image"]||null),k=h(()=>{if(t.value?.og["og:site_name"])return t.value.og["og:site_name"];try{return new URL(t.value?.url||"").hostname}catch{return""}}),R=h(()=>t.value?Object.keys(t.value.og).length:0),V=h(()=>t.value?Object.keys(t.value.twitter).length:0);function W(c,o){const r=ae(c),u=[];r.ogTags["og:image"]&&u.push({url:r.ogTags["og:image"],width:r.ogTags["og:image:width"],height:r.ogTags["og:image:height"],alt:r.ogTags["og:image:alt"]});let I="";try{I=new URL(o).hostname}catch{I=o}return{title:r.title,description:r.description,url:o,siteName:r.ogTags["og:site_name"]||I,og:r.ogTags,ogImages:u,twitter:r.twitterTags,twitterCard:r.twitterTags["twitter:card"]||"summary"}}async function j(){N.value=!0,y.value=null,t.value=null;try{const o=`${window.parent?.location?.origin||window.location.origin}${z.value}`,r=await fetch(o,{headers:{Accept:"text/html"}});if(!r.ok)throw new Error(`HTTP ${r.status}`);const u=await r.text();t.value=W(u,o)}catch(c){y.value=c.message||"Failed to fetch page"}finally{N.value=!1}}return H([()=>M.value,z,J],()=>{M.value&&j()},{immediate:!0}),(c,o)=>{const r=X,u=K,I=ee,T=se,b=Q,S=oe,D=Y,G=te;return a(),l("div",le,[N.value?(a(),w(r,{key:0})):y.value?(a(),w(I,{key:1,error:y.value,title:"Failed to check page"},{default:v(()=>[i(u,{size:"sm",variant:"ghost",icon:"carbon:reset",label:"Retry",onClick:j})]),_:1},8,["error"])):t.value?(a(),l(f,{key:2},[x.value.length?(a(),w(S,{key:0,icon:"carbon:warning",text:"Warnings"},{actions:v(()=>[i(T,{value:x.value.filter(s=>s.type==="error").length,label:"errors",variant:x.value.some(s=>s.type==="error")?"danger":void 0},null,8,["value","variant"]),i(T,{value:x.value.filter(s=>s.type==="warning").length,label:"warnings",variant:x.value.some(s=>s.type==="warning")?"warning":void 0},null,8,["value","variant"])]),default:v(()=>[e("div",ne,[(a(!0),l(f,null,C(x.value,s=>(a(),l("div",{key:s.property+s.message,class:"social-issue-row"},[i(b,{name:s.type==="error"?"carbon:close-filled":"carbon:warning-filled",class:B(["mt-0.5 shrink-0",s.type==="error"?"text-red-500":"text-amber-500"])},null,8,["name","class"]),e("div",re,[e("span",ie,n(s.property),1),e("p",ce,n(s.message),1)])]))),128))])]),_:1})):p("",!0),i(S,{icon:"carbon:view",text:"Social Preview",padding:!1},{default:v(()=>[e("div",ue,[(a(),l(f,null,C(P,s=>e("button",{key:s.value,class:B(["social-tab",{"social-tab--active":_.value===s.value}]),onClick:m=>_.value=s.value},[i(b,{name:s.icon,class:"text-sm"},null,8,["name"]),e("span",ge,n(s.label),1)],10,de)),64))]),e("div",ve,[_.value==="twitter"?(a(),l("div",pe,[e("div",me,[g.value?(a(),l("div",_e,[e("img",{src:g.value,class:"w-full h-full object-cover",alt:d.value},null,8,he)])):(a(),l("div",xe,[i(b,{name:"carbon:image",class:"text-2xl"}),o[1]||(o[1]=e("span",null,"No og:image",-1))])),e("div",be,[e("p",we,n(k.value),1),e("p",fe,n(d.value),1),e("p",ye,n($.value),1)])])])):p("",!0),_.value==="facebook"?(a(),l("div",ke,[e("div",Ie,[g.value?(a(),l("div",Te,[e("img",{src:g.value,class:"w-full h-full object-cover",alt:d.value},null,8,Ce)])):(a(),l("div",Ne,[i(b,{name:"carbon:image",class:"text-2xl"}),o[2]||(o[2]=e("span",null,"No og:image",-1))])),e("div",$e,[e("p",Se,n(k.value),1),e("p",Ue,n(d.value),1),e("p",je,n($.value),1)])])])):p("",!0),_.value==="linkedin"?(a(),l("div",De,[e("div",Me,[g.value?(a(),l("div",ze,[e("img",{src:g.value,class:"w-full h-full object-cover",alt:d.value},null,8,Be)])):(a(),l("div",Fe,[i(b,{name:"carbon:image",class:"text-2xl"}),o[3]||(o[3]=e("span",null,"No og:image",-1))])),e("div",Le,[e("p",Oe,n(d.value),1),e("p",Ee,n(k.value),1)])])])):p("",!0),_.value==="discord"?(a(),l("div",Pe,[e("div",Re,[e("p",Ve,n(k.value),1),e("p",We,n(d.value),1),e("p",Ge,n($.value),1),g.value?(a(),l("div",Ae,[e("img",{src:g.value,class:"w-full object-cover",alt:d.value},null,8,qe)])):(a(),l("div",He,[i(b,{name:"carbon:image",class:"text-xl"}),o[4]||(o[4]=e("span",null,"No image",-1))]))])])):p("",!0),_.value==="slack"?(a(),l("div",Je,[e("div",Xe,[e("p",Ke,n(k.value),1),e("p",Qe,n(d.value),1),e("p",Ye,n($.value),1),g.value?(a(),l("div",Ze,[e("img",{src:g.value,class:"w-full object-cover",alt:d.value},null,8,et)])):p("",!0)])])):p("",!0)])]),_:1}),i(S,{icon:"carbon:tag-group",text:"Open Graph Tags"},{actions:v(()=>[i(T,{value:R.value,label:"og"},null,8,["value"]),i(T,{value:V.value,label:"twitter"},null,8,["value"]),i(u,{size:"xs",variant:"ghost",color:"neutral",icon:"carbon:copy",label:L(E)?"Copied!":"Copy",onClick:o[0]||(o[0]=s=>L(O)(JSON.stringify({og:t.value.og,twitter:t.value.twitter},null,2)))},null,8,["label"])]),default:v(()=>[e("div",tt,[(a(!0),l(f,null,C(t.value.og,(s,m)=>(a(),l("div",{key:m,class:"social-tags-table__row"},[i(D,{color:"primary",variant:"subtle",size:"xs"},{default:v(()=>[...o[5]||(o[5]=[F(" og ",-1)])]),_:1}),e("span",at,n(m),1),e("span",st,n(s),1)]))),128)),(a(!0),l(f,null,C(t.value.twitter,(s,m)=>(a(),l("div",{key:m,class:"social-tags-table__row"},[i(D,{color:"neutral",variant:"subtle",size:"xs"},{default:v(()=>[...o[6]||(o[6]=[F(" twitter ",-1)])]),_:1}),e("span",ot,n(m),1),e("span",lt,n(s),1)]))),128))])]),_:1}),t.value.ogImages.length?(a(),w(S,{key:1,icon:"carbon:image",text:"OG Image"},{actions:v(()=>[t.value.ogImages[0]?.width&&t.value.ogImages[0]?.height?(a(),w(T,{key:0,value:`${t.value.ogImages[0].width}×${t.value.ogImages[0].height}`,label:"px"},null,8,["value"])):p("",!0)]),default:v(()=>[(a(!0),l(f,null,C(t.value.ogImages,(s,m)=>(a(),l("div",{key:m,class:"space-y-2"},[e("div",nt,[e("img",{src:s.url,class:"w-full max-h-64 object-contain bg-neutral-100 dark:bg-neutral-800",alt:s.alt||"OG Image"},null,8,rt)]),e("div",it,[e("span",ct,n(s.url),1)])]))),128))]),_:1})):p("",!0)],64)):!N.value&&!y.value?(a(),w(G,{key:3,icon:"carbon:share",title:"Waiting for connection",description:"Waiting for connection to host app..."})):p("",!0)])}}}),mt=Z(ut,[["__scopeId","data-v-59fbea83"]]);export{mt as default};
@@ -0,0 +1 @@
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__nuxt-seo-utils/_nuxt/entry.BDETcH9H.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-seo-utils/_nuxt/2G7Leuoi.js"><script type="module" src="/__nuxt-seo-utils/_nuxt/2G7Leuoi.js" crossorigin></script><script>"use strict";(()=>{const t=window,e=document.documentElement,c=["dark","light"],n=getStorageValue("localStorage","nuxt-color-mode")||"system";let i=n==="system"?u():n;const r=e.getAttribute("data-color-mode-forced");r&&(i=r),l(i),t["__NUXT_COLOR_MODE__"]={preference:n,value:i,getColorScheme:u,addColorScheme:l,removeColorScheme:d};function l(o){const s=""+o+"",a="";e.classList?e.classList.add(s):e.className+=" "+s,a&&e.setAttribute("data-"+a,o)}function d(o){const s=""+o+"",a="";e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(s,"g"),""),a&&e.removeAttribute("data-"+a)}function f(o){return t.matchMedia("(prefers-color-scheme"+o+")")}function u(){if(t.matchMedia&&f("").media!=="not all"){for(const o of c)if(f(":"+o).matches)return o}return"light"}})();function getStorageValue(t,e){switch(t){case"localStorage":return window.localStorage.getItem(e);case"sessionStorage":return window.sessionStorage.getItem(e);case"cookie":return getCookie(e);default:return null}}function getCookie(t){const c=("; "+window.document.cookie).split("; "+t+"=");if(c.length===2)return c.pop()?.split(";").shift()}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{i18n:{baseUrl:"",defaultLocale:"",rootRedirect:"",redirectStatusCode:302,skipSettingLocaleOnNavigate:false,locales:[],detectBrowserLanguage:{alwaysRedirect:false,cookieCrossOrigin:false,cookieDomain:"",cookieKey:"i18n_redirected",cookieSecure:false,fallbackLocale:"",redirectOn:"root",useCookie:true},experimental:{localeDetector:"",typedPages:true,typedOptionsAndMessages:false,alternateLinkCanonicalQueries:true,devCache:false,cacheLifetime:"",stripMessagesPayload:false,preload:false,strictSeo:false,nitroContextDetection:true,httpCacheDuration:10},domainLocales:{}}},app:{baseURL:"/__nuxt-seo-utils",buildId:"4fc06af4-db03-4190-bad6-822a1e1fc5f2",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1774499690511,false]</script></body></html>
@@ -0,0 +1 @@
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__nuxt-seo-utils/_nuxt/entry.BDETcH9H.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-seo-utils/_nuxt/2G7Leuoi.js"><script type="module" src="/__nuxt-seo-utils/_nuxt/2G7Leuoi.js" crossorigin></script><script>"use strict";(()=>{const t=window,e=document.documentElement,c=["dark","light"],n=getStorageValue("localStorage","nuxt-color-mode")||"system";let i=n==="system"?u():n;const r=e.getAttribute("data-color-mode-forced");r&&(i=r),l(i),t["__NUXT_COLOR_MODE__"]={preference:n,value:i,getColorScheme:u,addColorScheme:l,removeColorScheme:d};function l(o){const s=""+o+"",a="";e.classList?e.classList.add(s):e.className+=" "+s,a&&e.setAttribute("data-"+a,o)}function d(o){const s=""+o+"",a="";e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(s,"g"),""),a&&e.removeAttribute("data-"+a)}function f(o){return t.matchMedia("(prefers-color-scheme"+o+")")}function u(){if(t.matchMedia&&f("").media!=="not all"){for(const o of c)if(f(":"+o).matches)return o}return"light"}})();function getStorageValue(t,e){switch(t){case"localStorage":return window.localStorage.getItem(e);case"sessionStorage":return window.sessionStorage.getItem(e);case"cookie":return getCookie(e);default:return null}}function getCookie(t){const c=("; "+window.document.cookie).split("; "+t+"=");if(c.length===2)return c.pop()?.split(";").shift()}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{i18n:{baseUrl:"",defaultLocale:"",rootRedirect:"",redirectStatusCode:302,skipSettingLocaleOnNavigate:false,locales:[],detectBrowserLanguage:{alwaysRedirect:false,cookieCrossOrigin:false,cookieDomain:"",cookieKey:"i18n_redirected",cookieSecure:false,fallbackLocale:"",redirectOn:"root",useCookie:true},experimental:{localeDetector:"",typedPages:true,typedOptionsAndMessages:false,alternateLinkCanonicalQueries:true,devCache:false,cacheLifetime:"",stripMessagesPayload:false,preload:false,strictSeo:false,nitroContextDetection:true,httpCacheDuration:10},domainLocales:{}}},app:{baseURL:"/__nuxt-seo-utils",buildId:"4fc06af4-db03-4190-bad6-822a1e1fc5f2",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1774499690512,false]</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__nuxt-seo-utils/_nuxt/entry.CRnHSgoW.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-seo-utils/_nuxt/URQoZa-6.js"><script type="module" src="/__nuxt-seo-utils/_nuxt/URQoZa-6.js" crossorigin></script><script>"use strict";(()=>{const t=window,e=document.documentElement,c=["dark","light"],n=getStorageValue("localStorage","nuxt-color-mode")||"system";let i=n==="system"?u():n;const r=e.getAttribute("data-color-mode-forced");r&&(i=r),l(i),t["__NUXT_COLOR_MODE__"]={preference:n,value:i,getColorScheme:u,addColorScheme:l,removeColorScheme:d};function l(o){const s=""+o+"",a="";e.classList?e.classList.add(s):e.className+=" "+s,a&&e.setAttribute("data-"+a,o)}function d(o){const s=""+o+"",a="";e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(s,"g"),""),a&&e.removeAttribute("data-"+a)}function f(o){return t.matchMedia("(prefers-color-scheme"+o+")")}function u(){if(t.matchMedia&&f("").media!=="not all"){for(const o of c)if(f(":"+o).matches)return o}return"light"}})();function getStorageValue(t,e){switch(t){case"localStorage":return window.localStorage.getItem(e);case"sessionStorage":return window.sessionStorage.getItem(e);case"cookie":return getCookie(e);default:return null}}function getCookie(t){const c=("; "+window.document.cookie).split("; "+t+"=");if(c.length===2)return c.pop()?.split(";").shift()}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{i18n:{baseUrl:"",defaultLocale:"",rootRedirect:"",redirectStatusCode:302,skipSettingLocaleOnNavigate:false,locales:[],detectBrowserLanguage:{alwaysRedirect:false,cookieCrossOrigin:false,cookieDomain:"",cookieKey:"i18n_redirected",cookieSecure:false,fallbackLocale:"",redirectOn:"root",useCookie:true},experimental:{localeDetector:"",typedPages:true,typedOptionsAndMessages:false,alternateLinkCanonicalQueries:true,devCache:false,cacheLifetime:"",stripMessagesPayload:false,preload:false,strictSeo:false,nitroContextDetection:true,httpCacheDuration:10},domainLocales:{}}},app:{baseURL:"/__nuxt-seo-utils",buildId:"86641033-618a-472e-9925-d0d13c268619",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1774457490330,false]</script></body></html>[{"prerenderedAt":1,"serverRendered":2},1774457490330,false]</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__nuxt-seo-utils/_nuxt/entry.BDETcH9H.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-seo-utils/_nuxt/2G7Leuoi.js"><script type="module" src="/__nuxt-seo-utils/_nuxt/2G7Leuoi.js" crossorigin></script><script>"use strict";(()=>{const t=window,e=document.documentElement,c=["dark","light"],n=getStorageValue("localStorage","nuxt-color-mode")||"system";let i=n==="system"?u():n;const r=e.getAttribute("data-color-mode-forced");r&&(i=r),l(i),t["__NUXT_COLOR_MODE__"]={preference:n,value:i,getColorScheme:u,addColorScheme:l,removeColorScheme:d};function l(o){const s=""+o+"",a="";e.classList?e.classList.add(s):e.className+=" "+s,a&&e.setAttribute("data-"+a,o)}function d(o){const s=""+o+"",a="";e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(s,"g"),""),a&&e.removeAttribute("data-"+a)}function f(o){return t.matchMedia("(prefers-color-scheme"+o+")")}function u(){if(t.matchMedia&&f("").media!=="not all"){for(const o of c)if(f(":"+o).matches)return o}return"light"}})();function getStorageValue(t,e){switch(t){case"localStorage":return window.localStorage.getItem(e);case"sessionStorage":return window.sessionStorage.getItem(e);case"cookie":return getCookie(e);default:return null}}function getCookie(t){const c=("; "+window.document.cookie).split("; "+t+"=");if(c.length===2)return c.pop()?.split(";").shift()}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT_SITE_CONFIG__={_priority:{env:-15},env:"production"}</script><script>window.__NUXT__={};window.__NUXT__.config={public:{i18n:{baseUrl:"",defaultLocale:"",rootRedirect:"",redirectStatusCode:302,skipSettingLocaleOnNavigate:false,locales:[],detectBrowserLanguage:{alwaysRedirect:false,cookieCrossOrigin:false,cookieDomain:"",cookieKey:"i18n_redirected",cookieSecure:false,fallbackLocale:"",redirectOn:"root",useCookie:true},experimental:{localeDetector:"",typedPages:true,typedOptionsAndMessages:false,alternateLinkCanonicalQueries:true,devCache:false,cacheLifetime:"",stripMessagesPayload:false,preload:false,strictSeo:false,nitroContextDetection:true,httpCacheDuration:10},domainLocales:{}}},app:{baseURL:"/__nuxt-seo-utils",buildId:"4fc06af4-db03-4190-bad6-822a1e1fc5f2",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1774499690513,false]</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__nuxt-seo-utils/_nuxt/entry.CRnHSgoW.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-seo-utils/_nuxt/URQoZa-6.js"><script type="module" src="/__nuxt-seo-utils/_nuxt/URQoZa-6.js" crossorigin></script><script>"use strict";(()=>{const t=window,e=document.documentElement,c=["dark","light"],n=getStorageValue("localStorage","nuxt-color-mode")||"system";let i=n==="system"?u():n;const r=e.getAttribute("data-color-mode-forced");r&&(i=r),l(i),t["__NUXT_COLOR_MODE__"]={preference:n,value:i,getColorScheme:u,addColorScheme:l,removeColorScheme:d};function l(o){const s=""+o+"",a="";e.classList?e.classList.add(s):e.className+=" "+s,a&&e.setAttribute("data-"+a,o)}function d(o){const s=""+o+"",a="";e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(s,"g"),""),a&&e.removeAttribute("data-"+a)}function f(o){return t.matchMedia("(prefers-color-scheme"+o+")")}function u(){if(t.matchMedia&&f("").media!=="not all"){for(const o of c)if(f(":"+o).matches)return o}return"light"}})();function getStorageValue(t,e){switch(t){case"localStorage":return window.localStorage.getItem(e);case"sessionStorage":return window.sessionStorage.getItem(e);case"cookie":return getCookie(e);default:return null}}function getCookie(t){const c=("; "+window.document.cookie).split("; "+t+"=");if(c.length===2)return c.pop()?.split(";").shift()}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{i18n:{baseUrl:"",defaultLocale:"",rootRedirect:"",redirectStatusCode:302,skipSettingLocaleOnNavigate:false,locales:[],detectBrowserLanguage:{alwaysRedirect:false,cookieCrossOrigin:false,cookieDomain:"",cookieKey:"i18n_redirected",cookieSecure:false,fallbackLocale:"",redirectOn:"root",useCookie:true},experimental:{localeDetector:"",typedPages:true,typedOptionsAndMessages:false,alternateLinkCanonicalQueries:true,devCache:false,cacheLifetime:"",stripMessagesPayload:false,preload:false,strictSeo:false,nitroContextDetection:true,httpCacheDuration:10},domainLocales:{}}},app:{baseURL:"/__nuxt-seo-utils",buildId:"86641033-618a-472e-9925-d0d13c268619",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1774457490329,false]</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__nuxt-seo-utils/_nuxt/entry.BDETcH9H.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-seo-utils/_nuxt/2G7Leuoi.js"><script type="module" src="/__nuxt-seo-utils/_nuxt/2G7Leuoi.js" crossorigin></script><script>"use strict";(()=>{const t=window,e=document.documentElement,c=["dark","light"],n=getStorageValue("localStorage","nuxt-color-mode")||"system";let i=n==="system"?u():n;const r=e.getAttribute("data-color-mode-forced");r&&(i=r),l(i),t["__NUXT_COLOR_MODE__"]={preference:n,value:i,getColorScheme:u,addColorScheme:l,removeColorScheme:d};function l(o){const s=""+o+"",a="";e.classList?e.classList.add(s):e.className+=" "+s,a&&e.setAttribute("data-"+a,o)}function d(o){const s=""+o+"",a="";e.classList?e.classList.remove(s):e.className=e.className.replace(new RegExp(s,"g"),""),a&&e.removeAttribute("data-"+a)}function f(o){return t.matchMedia("(prefers-color-scheme"+o+")")}function u(){if(t.matchMedia&&f("").media!=="not all"){for(const o of c)if(f(":"+o).matches)return o}return"light"}})();function getStorageValue(t,e){switch(t){case"localStorage":return window.localStorage.getItem(e);case"sessionStorage":return window.sessionStorage.getItem(e);case"cookie":return getCookie(e);default:return null}}function getCookie(t){const c=("; "+window.document.cookie).split("; "+t+"=");if(c.length===2)return c.pop()?.split(";").shift()}</script></head><body><div id="__nuxt" class="isolate"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{i18n:{baseUrl:"",defaultLocale:"",rootRedirect:"",redirectStatusCode:302,skipSettingLocaleOnNavigate:false,locales:[],detectBrowserLanguage:{alwaysRedirect:false,cookieCrossOrigin:false,cookieDomain:"",cookieKey:"i18n_redirected",cookieSecure:false,fallbackLocale:"",redirectOn:"root",useCookie:true},experimental:{localeDetector:"",typedPages:true,typedOptionsAndMessages:false,alternateLinkCanonicalQueries:true,devCache:false,cacheLifetime:"",stripMessagesPayload:false,preload:false,strictSeo:false,nitroContextDetection:true,httpCacheDuration:10},domainLocales:{}}},app:{baseURL:"/__nuxt-seo-utils",buildId:"4fc06af4-db03-4190-bad6-822a1e1fc5f2",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1774499690512,false]</script></body></html>
package/dist/module.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "compatibility": {
5
5
  "nuxt": ">=3.16.0"
6
6
  },
7
- "version": "8.0.3",
7
+ "version": "8.0.4",
8
8
  "builder": {
9
9
  "@nuxt/module-builder": "1.0.2",
10
10
  "unbuild": "3.6.1"
package/dist/module.mjs CHANGED
@@ -4,6 +4,7 @@ import UnheadVite from '@unhead/addons/vite';
4
4
  import { defu } from 'defu';
5
5
  import { installNuxtSiteConfig } from 'nuxt-site-config/kit';
6
6
  import { resolve, extname, relative, dirname, basename } from 'pathe';
7
+ import { readPackageJSON } from 'pkg-types';
7
8
  import { unpackMeta } from '@unhead/vue/utils';
8
9
  import { glob } from 'tinyglobby';
9
10
  import { encodePath, joinURL } from 'ufo';
@@ -596,6 +597,7 @@ const module$1 = defineNuxtModule({
596
597
  return;
597
598
  }
598
599
  const { resolve } = createResolver(import.meta.url);
600
+ const { version } = await readPackageJSON(resolve("../package.json"));
599
601
  await installNuxtSiteConfig();
600
602
  const runtimeDir = resolve("./runtime");
601
603
  if (config.metaDataFiles) {
@@ -674,6 +676,7 @@ const module$1 = defineNuxtModule({
674
676
  });
675
677
  }
676
678
  nuxt.options.alias["#seo-utils"] = runtimeDir;
679
+ nuxt.options.runtimeConfig.public["nuxt-seo-utils-version"] = nuxt.options.runtimeConfig.public["nuxt-seo-utils-version"] || version || "";
677
680
  nuxt.options.runtimeConfig.public["seo-utils"] = defu(nuxt.options.runtimeConfig.public["seo-utils"] || {}, {
678
681
  canonicalQueryWhitelist: config.canonicalQueryWhitelist || [
679
682
  "page",
@@ -1,6 +1,10 @@
1
1
  declare const _default: import("h3").EventHandler<import("h3").EventHandlerRequest, {
2
+ runtimeConfig: any;
2
3
  siteConfig: {
3
4
  url: string;
5
+ env: any;
6
+ indexable: any;
4
7
  };
8
+ path: string | number | true | Record<string, any> | import("ufo").QueryValue[];
5
9
  }>;
6
10
  export default _default;
@@ -1,10 +1,21 @@
1
1
  import { getSiteConfig } from "#site-config/server/composables";
2
- import { defineEventHandler } from "h3";
2
+ import { defineEventHandler, getQuery } from "h3";
3
+ import { useRuntimeConfig } from "nitropack/runtime";
3
4
  export default defineEventHandler((e) => {
4
5
  const siteConfig = getSiteConfig(e);
6
+ const runtimeConfig = useRuntimeConfig(e);
7
+ const seoUtils = runtimeConfig.public?.["seo-utils"] || {};
8
+ const query = getQuery(e);
5
9
  return {
10
+ runtimeConfig: {
11
+ version: runtimeConfig.public?.["nuxt-seo-utils-version"] || "unknown",
12
+ ...seoUtils
13
+ },
6
14
  siteConfig: {
7
- url: siteConfig.url
8
- }
15
+ url: siteConfig.url,
16
+ env: siteConfig.env,
17
+ indexable: siteConfig.indexable
18
+ },
19
+ path: query.path || "/"
9
20
  };
10
21
  });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "nuxt-seo-utils",
3
3
  "type": "module",
4
- "version": "8.0.3",
4
+ "version": "8.0.4",
5
5
  "description": "SEO utilities to improve your Nuxt sites discoverability and shareability",
6
6
  "license": "MIT",
7
7
  "funding": "https://github.com/sponsors/harlan-zw",
@@ -61,8 +61,8 @@
61
61
  "escape-string-regexp": "^5.0.0",
62
62
  "image-size": "^2.0.2",
63
63
  "nuxt-site-config": "^4.0.6",
64
- "nuxtseo-layer-devtools": "^0.3.8",
65
- "nuxtseo-shared": "^0.7.1",
64
+ "nuxtseo-layer-devtools": "^0.4.4",
65
+ "nuxtseo-shared": "^0.8.1",
66
66
  "pathe": "^2.0.3",
67
67
  "pkg-types": "^2.3.0",
68
68
  "scule": "^1.3.0",
@@ -93,7 +93,6 @@
93
93
  "lint-staged": "^16.4.0",
94
94
  "markdownlint-cli": "^0.48.0",
95
95
  "nuxt": "^4.4.2",
96
- "nuxt-content-twoslash": "^0.4.0",
97
96
  "playwright-core": "^1.58.2",
98
97
  "sass": "^1.98.0",
99
98
  "typescript": "^6.0.2",
@@ -1 +0,0 @@
1
- import{f as V,g as E,h as P,i as j,p as M,r as R,o as s,c as a,a as e,b as u,j as A,w as N,d as T,t as o,k as I,l as H,m as W,F as h,n as w,q as S,s as c,v as C,x as y}from"./URQoZa-6.js";import{u as q,p as J}from"./uEvV8QqG.js";const X={class:"space-y-6 animate-fade-up"},K={class:"flex items-center justify-between"},Q={class:"flex items-center gap-2"},Y={class:"flex items-center gap-2"},Z={key:0,class:"card p-8 text-center"},ee={class:"text-sm text-[var(--color-text-muted)]"},te={key:1,class:"card p-6 border-red-500/30"},se={class:"flex items-center gap-2 text-red-500"},ae={class:"font-medium"},oe={key:0,class:"card p-4 space-y-2"},le={class:"font-mono text-xs"},re={class:"text-[var(--color-text-muted)]"},ne={class:"card overflow-hidden"},ie={class:"flex border-b border-[var(--color-border)]"},ce=["onClick"],de={class:"p-6"},ue={key:0,class:"max-w-[500px] mx-auto"},ge={class:"rounded-2xl overflow-hidden border border-neutral-200 dark:border-neutral-700"},ve={key:0,class:"aspect-[1.91/1] bg-neutral-100 dark:bg-neutral-800"},pe=["src","alt"],me={class:"p-3"},_e={class:"text-xs text-neutral-500"},he={class:"text-sm font-medium line-clamp-1"},xe={class:"text-xs text-neutral-500 line-clamp-2"},be={key:1,class:"max-w-[500px] mx-auto"},fe={class:"rounded-lg overflow-hidden border border-neutral-200 dark:border-neutral-700 bg-neutral-50 dark:bg-neutral-800"},we={key:0,class:"aspect-[1.91/1] bg-neutral-100 dark:bg-neutral-700"},ye=["src","alt"],ke={class:"p-3"},Te={class:"text-[11px] text-neutral-500 uppercase tracking-wider"},Ie={class:"text-base font-semibold line-clamp-1 mt-0.5"},Ce={class:"text-sm text-neutral-500 line-clamp-1 mt-0.5"},Me={key:2,class:"max-w-[500px] mx-auto"},Ne={class:"rounded-lg overflow-hidden border border-neutral-200 dark:border-neutral-700"},Ue={key:0,class:"aspect-[1.91/1] bg-neutral-100 dark:bg-neutral-800"},$e=["src","alt"],je={class:"p-3 bg-neutral-50 dark:bg-neutral-800"},Se={class:"text-sm font-semibold line-clamp-2"},Fe={class:"text-xs text-neutral-500 mt-1"},Le={key:3,class:"max-w-[500px] mx-auto"},ze={class:"rounded-lg overflow-hidden border-l-4 border-[#5865F2] bg-[#2f3136] text-white p-4"},Be={class:"text-xs text-neutral-400 mb-1"},De={class:"text-[#00aff4] text-sm font-semibold hover:underline cursor-pointer"},Oe={class:"text-sm text-neutral-300 mt-1 line-clamp-2"},Ge={key:0,class:"mt-3 rounded-lg overflow-hidden max-w-[300px]"},Ve=["src","alt"],Ee={key:4,class:"max-w-[500px] mx-auto"},Pe={class:"rounded-lg overflow-hidden border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 py-2"},Re={class:"text-xs text-neutral-500 font-bold mb-1"},Ae={class:"text-[#1264a3] dark:text-[#1d9bd1] text-sm font-bold hover:underline cursor-pointer"},He={class:"text-sm text-neutral-600 dark:text-neutral-400 mt-0.5 line-clamp-2"},We={key:0,class:"mt-2 rounded overflow-hidden max-w-[360px]"},qe=["src","alt"],Je={class:"card p-4 space-y-3"},Xe={class:"flex items-center justify-between"},Ke={class:"divide-y divide-[var(--color-border-subtle)]"},Qe={class:"text-sm font-mono shrink-0"},Ye={class:"text-xs text-[var(--color-text-muted)] truncate"},Ze={class:"text-sm font-mono shrink-0"},et={class:"text-xs text-[var(--color-text-muted)] truncate"},tt={key:1,class:"card p-4 space-y-3"},st={class:"rounded-lg overflow-hidden border border-[var(--color-border)]"},at=["src","alt"],ot={class:"flex gap-4 text-xs text-[var(--color-text-muted)]"},lt={key:0},rt={class:"truncate"},nt={key:3,class:"card p-8 text-center"},ut=V({__name:"social",setup(it){const{copy:F,copied:L}=E(),x=C(!1),b=C(null),t=C(null),m=C("twitter"),{current:z,start:B,stop:D}=q(["Fetching page HTML...","Extracting Open Graph tags...","Checking Twitter card data...","Analyzing social previews..."]),O=[{label:"X / Twitter",value:"twitter",icon:"carbon:logo-x"},{label:"Facebook",value:"facebook",icon:"carbon:logo-facebook"},{label:"LinkedIn",value:"linkedin",icon:"carbon:logo-linkedin"},{label:"Discord",value:"discord",icon:"carbon:logo-discord"},{label:"Slack",value:"slack",icon:"carbon:logo-slack"}],U=y(()=>{if(!t.value)return[];const i=[];if(t.value.og["og:title"]||i.push({type:"warning",property:"og:title",message:"Missing og:title. Social previews will use the page title as fallback."}),t.value.og["og:description"]||i.push({type:"warning",property:"og:description",message:"Missing og:description."}),t.value.ogImages.length||i.push({type:"warning",property:"og:image",message:"No og:image found. Posts with images get higher engagement."}),t.value.og["og:url"]||i.push({type:"warning",property:"og:url",message:"Missing og:url."}),t.value.twitter["twitter:card"]||i.push({type:"warning",property:"twitter:card",message:'Missing twitter:card. Defaults to "summary".'}),t.value.ogImages.length){const l=t.value.ogImages[0];l.url&&!l.url.startsWith("http")&&i.push({type:"error",property:"og:image",message:"og:image must be an absolute URL."});const r=Number.parseInt(l.width||"0"),d=Number.parseInt(l.height||"0");r&&d&&(r<200||d<200)&&i.push({type:"warning",property:"og:image",message:`Image is ${r}x${d}. Minimum recommended: 200x200, ideal: 1200x630.`})}return i}),g=y(()=>t.value?.og["og:title"]||t.value?.twitter["twitter:title"]||t.value?.title||"Untitled"),k=y(()=>t.value?.og["og:description"]||t.value?.twitter["twitter:description"]||t.value?.description||""),v=y(()=>t.value?.ogImages[0]?.url||t.value?.twitter["twitter:image"]||null),f=y(()=>{if(t.value?.og["og:site_name"])return t.value.og["og:site_name"];try{return new URL(t.value?.url||"").hostname}catch{return""}});function G(i,l){const r=J(i),d=[];r.ogTags["og:image"]&&d.push({url:r.ogTags["og:image"],width:r.ogTags["og:image:width"],height:r.ogTags["og:image:height"],alt:r.ogTags["og:image:alt"]});let _="";try{_=new URL(l).hostname}catch{_=l}return{title:r.title,description:r.description,url:l,siteName:r.ogTags["og:site_name"]||_,og:r.ogTags,ogImages:d,twitter:r.twitterTags,twitterCard:r.twitterTags["twitter:card"]||"summary"}}async function $(){x.value=!0,b.value=null,t.value=null,B();try{const l=`${window.parent?.location?.origin||window.location.origin}${M.value}`,r=await fetch(l,{headers:{Accept:"text/html"}});if(!r.ok)throw new Error(`HTTP ${r.status}`);const d=await r.text();t.value=G(d,l)}catch(i){b.value=i.message||"Failed to fetch page"}finally{x.value=!1,D()}}return P([()=>j.value,M,R],()=>{j.value&&$()},{immediate:!0}),(i,l)=>{const r=A,d=H,_=W;return s(),a("div",X,[e("div",K,[e("div",Q,[u(r,{name:"carbon:share",class:"text-lg text-[var(--seo-green)]"}),l[1]||(l[1]=e("h2",{class:"text-lg font-semibold"}," Social Share Debugger ",-1))]),e("div",Y,[u(d,{color:"neutral",variant:"subtle",class:"font-mono text-xs"},{default:N(()=>[T(o(I(M)),1)]),_:1}),u(_,{size:"xs",variant:"ghost",color:"neutral",icon:"carbon:reset",loading:x.value,onClick:$},null,8,["loading"])])]),x.value?(s(),a("div",Z,[u(r,{name:"carbon:circle-dash",class:"text-3xl text-[var(--seo-green)] animate-spin mb-3"}),e("p",ee,o(I(z)),1)])):b.value?(s(),a("div",te,[e("div",se,[u(r,{name:"carbon:warning-alt",class:"text-lg"}),e("span",ae,o(b.value),1)])])):t.value?(s(),a(h,{key:2},[U.value.length?(s(),a("div",oe,[(s(!0),a(h,null,w(U.value,n=>(s(),a("div",{key:n.property+n.message,class:"flex items-start gap-2 text-sm"},[u(r,{name:n.type==="error"?"carbon:close-filled":"carbon:warning-filled",class:S(["mt-0.5 shrink-0",n.type==="error"?"text-red-500":"text-amber-500"])},null,8,["name","class"]),e("div",null,[e("span",le,o(n.property),1),e("p",re,o(n.message),1)])]))),128))])):c("",!0),e("div",ne,[e("div",ie,[(s(),a(h,null,w(O,n=>e("button",{key:n.value,class:S(["flex items-center gap-1.5 px-3 py-2 text-xs font-medium transition-colors",m.value===n.value?"text-[var(--seo-green)] border-b-2 border-[var(--seo-green)]":"text-[var(--color-text-muted)] hover:text-[var(--color-text)]"]),onClick:p=>m.value=n.value},[u(r,{name:n.icon},null,8,["name"]),T(" "+o(n.label),1)],10,ce)),64))]),e("div",de,[m.value==="twitter"?(s(),a("div",ue,[e("div",ge,[v.value?(s(),a("div",ve,[e("img",{src:v.value,class:"w-full h-full object-cover",alt:g.value},null,8,pe)])):c("",!0),e("div",me,[e("p",_e,o(f.value),1),e("p",he,o(g.value),1),e("p",xe,o(k.value),1)])])])):c("",!0),m.value==="facebook"?(s(),a("div",be,[e("div",fe,[v.value?(s(),a("div",we,[e("img",{src:v.value,class:"w-full h-full object-cover",alt:g.value},null,8,ye)])):c("",!0),e("div",ke,[e("p",Te,o(f.value),1),e("p",Ie,o(g.value),1),e("p",Ce,o(k.value),1)])])])):c("",!0),m.value==="linkedin"?(s(),a("div",Me,[e("div",Ne,[v.value?(s(),a("div",Ue,[e("img",{src:v.value,class:"w-full h-full object-cover",alt:g.value},null,8,$e)])):c("",!0),e("div",je,[e("p",Se,o(g.value),1),e("p",Fe,o(f.value),1)])])])):c("",!0),m.value==="discord"?(s(),a("div",Le,[e("div",ze,[e("p",Be,o(f.value),1),e("p",De,o(g.value),1),e("p",Oe,o(k.value),1),v.value?(s(),a("div",Ge,[e("img",{src:v.value,class:"w-full object-cover",alt:g.value},null,8,Ve)])):c("",!0)])])):c("",!0),m.value==="slack"?(s(),a("div",Ee,[e("div",Pe,[e("p",Re,o(f.value),1),e("p",Ae,o(g.value),1),e("p",He,o(k.value),1),v.value?(s(),a("div",We,[e("img",{src:v.value,class:"w-full object-cover",alt:g.value},null,8,qe)])):c("",!0)])])):c("",!0)])]),e("div",Je,[e("div",Xe,[l[2]||(l[2]=e("p",{class:"text-sm font-medium"}," Open Graph Tags ",-1)),u(_,{size:"xs",variant:"ghost",color:"neutral",icon:"carbon:copy",label:I(L)?"Copied!":"Copy",onClick:l[0]||(l[0]=n=>I(F)(JSON.stringify({og:t.value.og,twitter:t.value.twitter},null,2)))},null,8,["label"])]),e("div",Ke,[(s(!0),a(h,null,w(t.value.og,(n,p)=>(s(),a("div",{key:p,class:"flex items-center gap-3 py-2"},[u(d,{color:"primary",variant:"subtle",size:"xs"},{default:N(()=>[...l[3]||(l[3]=[T(" og ",-1)])]),_:1}),e("span",Qe,o(p),1),e("span",Ye,o(n),1)]))),128)),(s(!0),a(h,null,w(t.value.twitter,(n,p)=>(s(),a("div",{key:p,class:"flex items-center gap-3 py-2"},[u(d,{color:"neutral",variant:"subtle",size:"xs"},{default:N(()=>[...l[4]||(l[4]=[T(" twitter ",-1)])]),_:1}),e("span",Ze,o(p),1),e("span",et,o(n),1)]))),128))])]),t.value.ogImages.length?(s(),a("div",tt,[l[5]||(l[5]=e("p",{class:"text-sm font-medium"}," OG Image ",-1)),(s(!0),a(h,null,w(t.value.ogImages,(n,p)=>(s(),a("div",{key:p,class:"space-y-2"},[e("div",st,[e("img",{src:n.url,class:"w-full max-h-64 object-contain bg-neutral-100 dark:bg-neutral-800",alt:n.alt||"OG Image"},null,8,at)]),e("div",ot,[n.width&&n.height?(s(),a("span",lt,o(n.width)+"x"+o(n.height),1)):c("",!0),e("span",rt,o(n.url),1)])]))),128))])):c("",!0)],64)):!x.value&&!b.value?(s(),a("div",nt,[u(r,{name:"carbon:share",class:"text-3xl text-[var(--color-text-muted)] mb-3"}),l[6]||(l[6]=e("p",{class:"text-sm text-[var(--color-text-muted)]"}," Waiting for connection to host app... ",-1))])):c("",!0)])}}});export{ut as default};
@@ -1 +0,0 @@
1
- import{_ as o,u as s,o as a,c as i,a as t,t as r}from"./URQoZa-6.js";const u={class:"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide"},c={class:"max-w-520px text-center"},l=["textContent"],d=["textContent"],p=["textContent"],f={__name:"error-500",props:{appName:{type:String,default:"Nuxt"},status:{type:Number,default:500},statusText:{type:String,default:"Internal server error"},description:{type:String,default:"This page is temporarily unavailable."},refresh:{type:String,default:"Refresh this page"}},setup(e){const n=e;return s({title:`${n.status} - ${n.statusText} | ${n.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(h,m)=>(a(),i("div",u,[t("div",c,[t("h1",{class:"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]",textContent:r(e.status)},null,8,l),t("h2",{class:"font-semibold mb-2 sm:text-3xl text-2xl",textContent:r(e.statusText)},null,8,d),t("p",{class:"mb-4 px-2 text-[#64748B] text-md",textContent:r(e.description)},null,8,p)])]))}},b=o(f,[["__scopeId","data-v-e4c4713f"]]);export{b as default};
@@ -1 +0,0 @@
1
- import{_ as s,u as a,o as i,c as u,a as t,t as n,b as c,w as l,d,e as f}from"./URQoZa-6.js";const p={class:"antialiased bg-white dark:bg-[#020420] dark:text-white font-sans grid min-h-screen overflow-hidden place-content-center text-[#020420] tracking-wide"},m={class:"max-w-520px text-center"},h=["textContent"],b=["textContent"],x=["textContent"],g={class:"flex items-center justify-center w-full"},y={__name:"error-404",props:{appName:{type:String,default:"Nuxt"},status:{type:Number,default:404},statusText:{type:String,default:"Page 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(e){const r=e;return a({title:`${r.status} - ${r.statusText} | ${r.appName}`,script:[{innerHTML:`!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))r(e);new MutationObserver(e=>{for(const o of e)if("childList"===o.type)for(const e of o.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&r(e)}).observe(document,{childList:!0,subtree:!0})}function r(e){if(e.ep)return;e.ep=!0;const r=function(e){const r={};return e.integrity&&(r.integrity=e.integrity),e.referrerPolicy&&(r.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?r.credentials="include":"anonymous"===e.crossOrigin?r.credentials="omit":r.credentials="same-origin",r}(e);fetch(e.href,r)}}();`}],style:[{innerHTML:'*,:after,:before{border-color:var(--un-default-border-color,#e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content:""}html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}h1,h2{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}h1,h2,p{margin:0}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }'}]}),(k,w)=>{const o=f;return i(),u("div",p,[t("div",m,[t("h1",{class:"font-semibold leading-none mb-4 sm:text-[110px] tabular-nums text-[80px]",textContent:n(e.status)},null,8,h),t("h2",{class:"font-semibold mb-2 sm:text-3xl text-2xl",textContent:n(e.statusText)},null,8,b),t("p",{class:"mb-4 px-2 text-[#64748B] text-md",textContent:n(e.description)},null,8,x),t("div",g,[c(o,{to:"/",class:"font-medium hover:text-[#00DC82] text-sm underline underline-offset-3"},{default:l(()=>[d(n(e.backHome),1)]),_:1})])])])}}},v=s(y,[["__scopeId","data-v-616d3471"]]);export{v as default};