import"./blogs.tips._slug-OnZm5ODm.js";(function(){try{var i=typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},s=new i.Error().stack;s&&(i._sentryDebugIds=i._sentryDebugIds||{},i._sentryDebugIds[s]="c272a9d1-2b34-40d8-b85b-56822a6a1a6c",i._sentryDebugIdIdentifier="sentry-dbid-c272a9d1-2b34-40d8-b85b-56822a6a1a6c")}catch{}})();var $=D;function D(){for(var i=[].slice.call(arguments),s,e=i.length;s=i[e-1],e--;)if(!s||typeof s!="object"&&typeof s!="function")throw new Error("expected object, got "+s);for(var l=i[0],n=i.slice(1),p=n.length,e=0;e<p;e++){var d=n[e];for(var g in d)l[g]=d[g]}return l}function P(i){return{getSeo:(n,p)=>{let d=u(i,n,p),g=x(d),t=R(d);return[g,t]},getSeoMeta:(n,p)=>{let d=u(i,n,p);return x(d)},getSeoLinks:(n,p)=>{let d=u(i,n,p);return R(d)}}}function x(i,s){let e={},l=j(i),{canonical:n,description:p,facebook:d,omitGoogleBotMeta:g=!1,openGraph:t,robots:_={},twitter:a}=i;l&&(e.title=l),p&&(e.description=p);let{maxImagePreview:v,maxSnippet:y,maxVideoPreview:b,noArchive:S,noFollow:L,noImageIndex:A,noIndex:U,noSnippet:I,noTranslate:C,unavailableAfter:k}=_,M=[S&&"noarchive",A&&"noimageindex",I&&"nosnippet",C&&"notranslate",v&&`max-image-preview:${v}`,y&&`max-snippet:${y}`,b&&`max-video-preview:${b}`,k&&`unavailable_after:${k}`],T=(U?"noindex":"index")+","+(L?"nofollow":"follow");for(let r of M)r&&(T+=`,${r}`);if(e.robots=T,g||(e.googlebot=e.robots),a){if((a.title||l)&&(e["twitter:title"]=a.title||l),(a.description||t!=null&&t.description||p)&&(e["twitter:description"]=a.description||(t==null?void 0:t.description)||p),a.card){let r=N(a);r&&(e["twitter:card"]=r)}if(a.site&&(e["twitter:site"]=typeof a.site=="object"?a.site.id:a.site),a.creator&&(e["twitter:creator"]=typeof a.creator=="object"?a.creator.id:a.creator),h(a)&&(f(a.image.url,"The twitter:image tag must be a valid, absolute URL. Relative paths will not work as expected. Check the config's `twitter.image.url` value."),e["twitter:image"]=a.image.url,a.image.alt?e["twitter:image:alt"]=a.image.alt:c("A Twitter image should use alt text that describes the image. This is important for users who are visually impaired. Please add a text value to the `alt` key of the `twitter.image` config option to dismiss this warning.")),m(a)&&(a.player.url&&(f(a.player.url,"The twitter:player tag must be a valid, absolute URL. Relative paths will not work as expected. Check the config's `twitter.player.url` value."),e["twitter:player"]=a.player.url),a.player.stream&&(f(a.player.stream,"The twitter:player:stream tag must be a valid, absolute URL. Relative paths will not work as expected. Check the config's `twitter.player.stream` value."),e["twitter:player:stream"]=a.player.stream),a.player.height&&(e["twitter:player:height"]=a.player.height.toString()),a.player.width&&(e["twitter:player:height"]=a.player.width.toString())),w(a)){const r=["iPhone","iPad","googlePlay"];if(typeof a.app.name=="object")for(const o of r)a.app.name[o]&&(e[`twitter:app:name:${o.toLowerCase()}`]=a.app.name[o]);else e["twitter:app:name:iphone"]=a.app.name,e["twitter:app:name:ipad"]=a.app.name,e["twitter:app:name:googleplay"]=a.app.name;if(typeof a.app.id=="object")for(const o of r)a.app.id[o]&&(e[`twitter:app:id:${o.toLowerCase()}`]=a.app.id[o]);if(typeof a.app.url=="object")for(const o of r)a.app.url[o]&&(e[`twitter:app:url:${o.toLowerCase()}`]=a.app.url[o])}e["twitter:card"]||(m(a)?e["twitter:card"]="player":w(a)?e["twitter:card"]="app":h(a)&&(e["twitter:card"]="summary"))}if(d&&d.appId&&(e["fb:app_id"]=d.appId),(t!=null&&t.title||i.title)&&(e["og:title"]=(t==null?void 0:t.title)||l),(t!=null&&t.description||p)&&(e["og:description"]=(t==null?void 0:t.description)||p),t){if((t.url||n)&&(t.url&&f(t.url,"The og:url tag must be a valid, absolute URL. Relative paths will not work as expected. Check the config's `openGraph.url` value."),n&&f(n,"The og:url tag must be a valid, absolute URL. Relative paths will not work as expected. Check the config's `canonical` value."),e["og:url"]=t.url||n),t.type){const r=t.type.toLowerCase();if(e["og:type"]=r,r==="profile"&&t.profile)t.profile.firstName&&(e["profile:first_name"]=t.profile.firstName),t.profile.lastName&&(e["profile:last_name"]=t.profile.lastName),t.profile.username&&(e["profile:username"]=t.profile.username),t.profile.gender&&(e["profile:gender"]=t.profile.gender);else if(r==="book"&&t.book){if(t.book.authors&&t.book.authors.length)for(let o of t.book.authors)Array.isArray(e["book:author"])?e["book:author"].push(o):e["book:author"]=[o];if(t.book.isbn&&(e["book:isbn"]=t.book.isbn),t.book.releaseDate&&(e["book:release_date"]=t.book.releaseDate),t.book.tags&&t.book.tags.length)for(let o of t.book.tags)Array.isArray(e["book:tag"])?e["book:tag"].push(o):e["book:tag"]=[o]}else if(r==="article"&&t.article){if(t.article.publishedTime&&(e["article:published_time"]=t.article.publishedTime),t.article.modifiedTime&&(e["article:modified_time"]=t.article.modifiedTime),t.article.expirationTime&&(e["article:expiration_time"]=t.article.expirationTime),t.article.authors&&t.article.authors.length)for(let o of t.article.authors)Array.isArray(e["article:author"])?e["article:author"].push(o):e["article:author"]=[o];if(t.article.section&&(e["article:section"]=t.article.section),t.article.tags&&t.article.tags.length)for(let o of t.article.tags)Array.isArray(e["article:tag"])?e["article:tag"].push(o):e["article:tag"]=[o]}else if((r==="video.movie"||r==="video.episode"||r==="video.tv_show"||r==="video.other")&&t.video){if(t.video.actors&&t.video.actors.length)for(let o of t.video.actors)o.profile&&(e["video:actor"]=o.profile),o.role&&(e["video:actor:role"]=o.role);if(t.video.directors&&t.video.directors.length)for(let o of t.video.directors)e["video:director"]=o;if(t.video.writers&&t.video.writers.length)for(let o of t.video.writers)e["video:writer"]=o;if(t.video.duration&&(e["video:duration"]=t.video.duration.toString()),t.video.releaseDate&&(e["video:release_date"]=t.video.releaseDate),t.video.tags&&t.video.tags.length)for(let o of t.video.tags)e["video:tag"]=o;t.video.series&&(e["video:series"]=t.video.series)}}if(t.images&&t.images.length)for(let r of t.images)f(r.url,"The og:image tag must be a valid, absolute URL. Relative paths will not work as expected. Check each `url` value in the config's `openGraph.images` array."),e["og:image"]=r.url,r.alt?e["og:image:alt"]=r.alt:c("OpenGraph images should use alt text that describes the image. This is important for users who are visually impaired. Please add a text value to the `alt` key of all `openGraph.images` config options to dismiss this warning."),r.secureUrl&&(f(r.secureUrl,"The og:image:secure_url tag must be a valid, absolute URL. Relative paths will not work as expected. Check each `secureUrl` value in the config's `openGraph.images` array."),e["og:image:secure_url"]=r.secureUrl.toString()),r.type&&(e["og:image:type"]=r.type.toString()),r.width&&(e["og:image:width"]=r.width.toString()),r.height&&(e["og:image:height"]=r.height.toString());if(t.videos&&t.videos.length)for(let r of t.videos)f(r.url,"The og:video tag must be a valid, absolute URL. Relative paths will not work as expected. Check each `url` value in the config's `openGraph.videos` array."),e["og:video"]=r.url,r.alt&&(e["og:video:alt"]=r.alt),r.secureUrl&&(f(r.secureUrl,"The og:video:secure_url tag must be a valid, absolute URL. Relative paths will not work as expected. Check each `secureUrl` value in the config's `openGraph.videos` array."),e["og:video:secure_url"]=r.secureUrl.toString()),r.type&&(e["og:video:type"]=r.type.toString()),r.width&&(e["og:video:width"]=r.width.toString()),r.height&&(e["og:video:height"]=r.height.toString());t.locale&&(e["og:locale"]=t.locale),t.siteName&&(e["og:site_name"]=t.siteName)}return e}function R(i,s){let e=[],{canonical:l,mobileAlternate:n,languageAlternates:p=[]}=i;if(l&&(f(l,"The canonical link tag must have an `href` with a valid, absolute URL. Relative paths will not work as expected. Check the config's `canonical` value."),e.push({rel:"canonical",href:l})),n&&(!n.media||!n.href?c("`mobileAlternate` requires both the `media` and `href` attributes for it to generate the correct link tags. This config setting currently has no effect. Either add the missing keys or remove `mobileAlternate` from your config to dismiss this warning.\n\nSee https://www.contentkingapp.com/academy/link-rel/#mobile-lok for a description of the tag this option generates."):e.push({rel:"alternate",media:n.media,href:n.href})),p.length>0)for(let d of p)!d.hrefLang||!d.href?c("Items in `languageAlternates` requires both the `hrefLang` and `href` attributes for it to generate the correct link tags. One of your items in this config setting is missing an attribute and was skipped. Either add the missing keys or remove the incomplete object from the `languageAlternate` key in your config to dismiss this warning.\n\nSee https://www.contentkingapp.com/academy/link-rel/#hreflang-look-like for a description of the tag this option generates."):e.push({rel:"alternate",hrefLang:d.hrefLang,href:d.href});return e}function j(i){let s=i.bypassTemplate||!1,e=i.titleTemplate||"",l="";return i.title?(l=i.title,e&&!s&&(l=e.replace(/%s/g,()=>l))):i.defaultTitle&&(l=i.defaultTitle),l}function c(i){typeof console<"u"&&console.warn("remix-seo: "+i);try{throw new Error("remix-seo: "+i)}catch{}}function f(i,s){try{new URL(i)}catch{typeof console<"u"&&console.warn("remix-seo: "+s)}}function N(i){if(i.card){if(!["app","player","summary","summary_large_image"].includes(i.card)){c(`An invalid Twitter card was provided to the config and will be ignored. Make sure that \`twitter.card\` is set to one of the following: - "app" - "player" - "summary" - "summary_large_image" Read more: https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/markup`);return}if(w(i))if(i.card!=="app")c(`An Twitter card type of \`${i.card}\` was provided to a config with app metadata. Twitter app cards must use a \`twitter:card\` value of \`"app"\`, so the app metadata will be ignored. Fix the \`twitter.card\` value or remove the \`twitter.app\` config to dismiss this warning. Read more: https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/markup`),delete i.app;else return h(i)&&(c("The Twitter app card type does not support the twitter:image metadata provided in your config. Remove the `twitter.image` config to dismiss this warning.\n\n Read more: https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/markup"),delete i.image),m(i)&&(c("The Twitter app card type does not support the twitter:player metadata provided in your config. Remove the `twitter.player` config to dismiss this warning.\n\n Read more: https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/markup"),delete i.player),"app";if(m(i))if(i.card!=="player")c(`An Twitter card type of \`${i.card}\` was provided to a config with player metadata. Twitter player cards must use a \`twitter:card\` value of \`"player"\`, so the player metadata will be ignored. Fix the \`twitter.card\` value or remove the \`twitter.player\` config to dismiss this warning. Read more: https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/markup`),delete i.player;else return"player";return h(i)&&!["summary","summary_large_image","player"].includes(i.card)&&i.card!=="player"&&(c(`An Twitter card type of \`${i.card}\` was provided to a config with image metadata. Cards that support image metadata are: - "summary" - "summary_large_image" - "player" The image metadata will be ignored. Fix the \`twitter.card\` value or remove the \`twitter.image\` config to dismiss this warning. Read more: https://developer.twitter.com/en/docs/twitter-for-websites/cards/overview/markup`),delete i.image),i.card}}function w(i){return!!(i.app&&i.app.name)}function m(i){return!!(i.player&&(i.player.url||i.player.stream))}function h(i){return!!(i.image&&i.image.url)}function u(i,s,e){let l=typeof s=="function"?s(e):s||{};return l=i?$(i,l):l,l}const{getSeo:F,getSeoMeta:O,getSeoLinks:q}=P({title:"Ladies and Mens golf clothing and apparel, skorts and clearance items",titleTemplate:"%s | GLF Online",description:"Dedicated entirely to womens and mens golfing and clothing needs with personalised service and brands like Nivo and Jamie Sadock, our online golf store has the largest product range and excellent service."});export{O as g}; //# sourceMappingURL=seo-Bri8FYi7.js.map