nuxt-seo-utils 8.0.5 → 8.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli.mjs +1 -1
- package/dist/devtools/200.html +1 -1
- package/dist/devtools/404.html +1 -1
- package/dist/devtools/_nuxt/{BqidT_fD.js → B1gSLANq.js} +1 -1
- package/dist/devtools/_nuxt/BjpcrkP-.js +1 -0
- package/dist/devtools/_nuxt/{DdPpvcxG.js → Bl0_HI6u.js} +1 -1
- package/dist/devtools/_nuxt/{DNjASLAA.js → C61WGw4L.js} +1 -1
- package/dist/devtools/_nuxt/CmgL04_4.js +17 -0
- package/dist/devtools/_nuxt/{BAeEMGlZ.js → DN5tfAN_.js} +1 -1
- package/dist/devtools/_nuxt/DevtoolsMetric.DvYdw-4s.css +1 -0
- package/dist/devtools/_nuxt/DtDZComy.js +33 -0
- package/dist/devtools/_nuxt/Dv_MQXNa.js +1 -0
- package/dist/devtools/_nuxt/builds/latest.json +1 -1
- package/dist/devtools/_nuxt/builds/meta/abeb9f59-bc22-40fa-a6c2-2b431f13f6bb.json +1 -0
- package/dist/devtools/_nuxt/debug.DzhmKJN4.css +1 -0
- package/dist/devtools/_nuxt/entry.BHKjHnLW.css +1 -0
- package/dist/devtools/_nuxt/identity.fDdIs9v0.css +1 -0
- package/dist/devtools/_nuxt/tools.Dhk_g_S8.css +1 -0
- package/dist/devtools/debug/index.html +1 -1
- package/dist/devtools/docs/index.html +1 -1
- package/dist/devtools/identity/index.html +1 -0
- package/dist/devtools/index.html +1 -1
- package/dist/devtools/social/index.html +1 -1
- package/dist/module.json +1 -1
- package/dist/module.mjs +17 -3
- package/dist/runtime/app/plugins/titles.js +0 -2
- package/dist/runtime/app/plugins/titlesWaitI18n.d.ts +2 -0
- package/dist/runtime/app/plugins/titlesWaitI18n.js +19 -0
- package/dist/runtime/server/routes/__nuxt-seo-utils/debug.d.ts +8 -0
- package/dist/runtime/server/routes/__nuxt-seo-utils/debug.js +10 -1
- package/package.json +3 -3
- package/dist/devtools/_nuxt/Bw02v_sc.js +0 -32
- package/dist/devtools/_nuxt/DZT4WHY1.js +0 -1
- package/dist/devtools/_nuxt/DevtoolsSection.hoDtzy6g.css +0 -1
- package/dist/devtools/_nuxt/builds/meta/0237b75a-642a-472e-8dd7-6c903d3bc8a0.json +0 -1
- package/dist/devtools/_nuxt/debug.Cw_x_d0R.css +0 -1
- package/dist/devtools/_nuxt/entry.qhZz8Egw.css +0 -1
- package/dist/devtools/_nuxt/tools.C_MFnaDu.css +0 -1
- package/dist/devtools/_nuxt/wcSxAQk6.js +0 -1
|
@@ -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.
|
|
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.BHKjHnLW.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-seo-utils/_nuxt/DtDZComy.js"><script type="module" src="/__nuxt-seo-utils/_nuxt/DtDZComy.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:"abeb9f59-bc22-40fa-a6c2-2b431f13f6bb",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1774543161418,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.BHKjHnLW.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-seo-utils/_nuxt/DtDZComy.js"><script type="module" src="/__nuxt-seo-utils/_nuxt/DtDZComy.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:"abeb9f59-bc22-40fa-a6c2-2b431f13f6bb",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1774543161418,false]</script></body></html>
|
package/dist/devtools/index.html
CHANGED
|
@@ -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.
|
|
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.BHKjHnLW.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-seo-utils/_nuxt/DtDZComy.js"><script type="module" src="/__nuxt-seo-utils/_nuxt/DtDZComy.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:"abeb9f59-bc22-40fa-a6c2-2b431f13f6bb",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1774543161418,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.
|
|
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.BHKjHnLW.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__nuxt-seo-utils/_nuxt/DtDZComy.js"><script type="module" src="/__nuxt-seo-utils/_nuxt/DtDZComy.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:"abeb9f59-bc22-40fa-a6c2-2b431f13f6bb",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1774543161418,false]</script></body></html>
|
package/dist/module.json
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -631,9 +631,15 @@ const module$1 = defineNuxtModule({
|
|
|
631
631
|
}
|
|
632
632
|
}
|
|
633
633
|
if (config.fallbackTitle) {
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
634
|
+
if (hasI18n) {
|
|
635
|
+
addPlugin({
|
|
636
|
+
src: resolve(runtimeDir, "./app/plugins/titlesWaitI18n")
|
|
637
|
+
});
|
|
638
|
+
} else {
|
|
639
|
+
addPlugin({
|
|
640
|
+
src: resolve(runtimeDir, "./app/plugins/titles")
|
|
641
|
+
});
|
|
642
|
+
}
|
|
637
643
|
}
|
|
638
644
|
if (!hasI18n) {
|
|
639
645
|
addImports({
|
|
@@ -766,6 +772,14 @@ export {}
|
|
|
766
772
|
}
|
|
767
773
|
}
|
|
768
774
|
if (config.debug || nuxt.options.dev) {
|
|
775
|
+
const headConfig = nuxt.options.app.head;
|
|
776
|
+
nuxt.options.runtimeConfig["seo-utils-head"] = {
|
|
777
|
+
link: (headConfig.link || []).filter((l) => l.rel === "icon" || l.rel === "apple-touch-icon"),
|
|
778
|
+
meta: (headConfig.meta || []).filter((m) => {
|
|
779
|
+
const name = m.name || m.property || "";
|
|
780
|
+
return name.startsWith("og:image") || name.startsWith("twitter:image");
|
|
781
|
+
})
|
|
782
|
+
};
|
|
769
783
|
addServerHandler({
|
|
770
784
|
route: "/__nuxt-seo-utils/debug.json",
|
|
771
785
|
handler: resolve("./runtime/server/routes/__nuxt-seo-utils/debug")
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { useHead } from "@unhead/vue";
|
|
2
|
+
import { defineNuxtPlugin } from "nuxt/app";
|
|
3
|
+
import { useFallbackTitle } from "../composables/useFallbackTitle.js";
|
|
4
|
+
export default defineNuxtPlugin({
|
|
5
|
+
name: "nuxt-seo:fallback-titles",
|
|
6
|
+
env: {
|
|
7
|
+
islands: false
|
|
8
|
+
},
|
|
9
|
+
// we need to wait for the i18n plugin to run first
|
|
10
|
+
dependsOn: ["nuxt-site-config:i18n"],
|
|
11
|
+
setup() {
|
|
12
|
+
const title = useFallbackTitle();
|
|
13
|
+
const minimalPriority = {
|
|
14
|
+
// give nuxt.config values higher priority
|
|
15
|
+
tagPriority: 101
|
|
16
|
+
};
|
|
17
|
+
useHead({ title: () => title.value }, minimalPriority);
|
|
18
|
+
}
|
|
19
|
+
});
|
|
@@ -2,9 +2,17 @@ declare const _default: import("h3").EventHandler<import("h3").EventHandlerReque
|
|
|
2
2
|
runtimeConfig: any;
|
|
3
3
|
siteConfig: {
|
|
4
4
|
url: string;
|
|
5
|
+
name: any;
|
|
6
|
+
description: any;
|
|
5
7
|
env: any;
|
|
6
8
|
indexable: any;
|
|
9
|
+
trailingSlash: any;
|
|
10
|
+
titleSeparator: any;
|
|
11
|
+
defaultLocale: any;
|
|
12
|
+
currentLocale: any;
|
|
13
|
+
twitter: any;
|
|
7
14
|
};
|
|
15
|
+
headConfig: any;
|
|
8
16
|
path: string | number | true | Record<string, any> | import("ufo").QueryValue[];
|
|
9
17
|
}>;
|
|
10
18
|
export default _default;
|
|
@@ -5,6 +5,7 @@ export default defineEventHandler((e) => {
|
|
|
5
5
|
const siteConfig = getSiteConfig(e);
|
|
6
6
|
const runtimeConfig = useRuntimeConfig(e);
|
|
7
7
|
const seoUtils = runtimeConfig.public?.["seo-utils"] || {};
|
|
8
|
+
const headConfig = runtimeConfig["seo-utils-head"] || { link: [], meta: [] };
|
|
8
9
|
const query = getQuery(e);
|
|
9
10
|
return {
|
|
10
11
|
runtimeConfig: {
|
|
@@ -13,9 +14,17 @@ export default defineEventHandler((e) => {
|
|
|
13
14
|
},
|
|
14
15
|
siteConfig: {
|
|
15
16
|
url: siteConfig.url,
|
|
17
|
+
name: siteConfig.name,
|
|
18
|
+
description: siteConfig.description,
|
|
16
19
|
env: siteConfig.env,
|
|
17
|
-
indexable: siteConfig.indexable
|
|
20
|
+
indexable: siteConfig.indexable,
|
|
21
|
+
trailingSlash: siteConfig.trailingSlash,
|
|
22
|
+
titleSeparator: siteConfig.separator,
|
|
23
|
+
defaultLocale: siteConfig.defaultLocale,
|
|
24
|
+
currentLocale: siteConfig.currentLocale,
|
|
25
|
+
twitter: siteConfig.twitter
|
|
18
26
|
},
|
|
27
|
+
headConfig,
|
|
19
28
|
path: query.path || "/"
|
|
20
29
|
};
|
|
21
30
|
});
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "nuxt-seo-utils",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "8.
|
|
4
|
+
"version": "8.1.1",
|
|
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.
|
|
65
|
-
"nuxtseo-shared": "^0.
|
|
64
|
+
"nuxtseo-layer-devtools": "^0.5.1",
|
|
65
|
+
"nuxtseo-shared": "^0.9.0",
|
|
66
66
|
"pathe": "^2.0.3",
|
|
67
67
|
"pkg-types": "^2.3.0",
|
|
68
68
|
"scule": "^1.3.0",
|