@bagelink/blox 1.15.637 → 1.15.643
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/{PreviewApp-CWexehXS.cjs → PreviewApp-BD5RzRZO.cjs} +1 -1
- package/dist/{PreviewApp-RzR7F5HX.js → PreviewApp-C-0zfTwq.js} +1 -1
- package/dist/{PreviewApp.vue_vue_type_style_index_0_lang-BMOOTRxd.js → PreviewApp.vue_vue_type_style_index_0_lang-0cUPU_L_.js} +1 -1
- package/dist/{PreviewApp.vue_vue_type_style_index_0_lang-hkuLedAX.cjs → PreviewApp.vue_vue_type_style_index_0_lang-DuF7jSt7.cjs} +1 -1
- package/dist/{appRuntime-BEqnYYLz.cjs → appRuntime-Bh3LdYXU.cjs} +3 -2
- package/dist/{appRuntime-DX9LWE5R.js → appRuntime-Sl40toxn.js} +3 -2
- package/dist/data/useData.d.ts +7 -0
- package/dist/data/useData.d.ts.map +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.mjs +3 -3
- package/dist/{pageTitle-BOTMH-D8.js → pageTitle-B1mtDJKn.js} +6 -3
- package/dist/{pageTitle-nIl1cDfD.cjs → pageTitle-wobGhtiZ.cjs} +6 -3
- package/dist/pageTitle.d.ts +16 -1
- package/dist/pageTitle.d.ts.map +1 -1
- package/dist/{shard-runner-C962Vua3.js → shard-runner-A_vfoOw0.js} +2 -2
- package/dist/{shard-runner-BSoIApcl.cjs → shard-runner-BoSrSIzQ.cjs} +2 -2
- package/dist/ssg/cli.cjs +2 -2
- package/dist/ssg/cli.mjs +2 -2
- package/dist/ssg/cms-routes.d.ts.map +1 -1
- package/dist/ssg/index.cjs +2 -2
- package/dist/ssg/index.mjs +3 -3
- package/dist/ssg/seo.d.ts +1 -0
- package/dist/ssg/seo.d.ts.map +1 -1
- package/dist/{validate-output-9_ibeTgY.js → validate-output-CBUyK03E.js} +35 -12
- package/dist/{validate-output-Dmc7_eXo.cjs → validate-output-CGCpqI7T.cjs} +35 -12
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
|
-
const PreviewApp_vue_vue_type_style_index_0_lang = require("./PreviewApp.vue_vue_type_style_index_0_lang-
|
|
3
|
+
const PreviewApp_vue_vue_type_style_index_0_lang = require("./PreviewApp.vue_vue_type_style_index_0_lang-DuF7jSt7.cjs");
|
|
4
4
|
exports.default = PreviewApp_vue_vue_type_style_index_0_lang._sfc_main;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { defineComponent, inject, ref, h, provide, onMounted, onUnmounted, openBlock, createElementBlock, createVNode, unref, nextTick } from "vue";
|
|
2
|
-
import { d as BLOX_REGISTRY_KEY, r as resolveBlockProps, u as useLocale, e as BLOX_RUNTIME_KEY } from "./appRuntime-
|
|
2
|
+
import { d as BLOX_REGISTRY_KEY, r as resolveBlockProps, u as useLocale, e as BLOX_RUNTIME_KEY } from "./appRuntime-Sl40toxn.js";
|
|
3
3
|
function sendToEditor(msg) {
|
|
4
4
|
window.parent.postMessage(cloneForPostMessage(msg), "*");
|
|
5
5
|
}
|
|
@@ -7,7 +7,7 @@ const vue = require("vue");
|
|
|
7
7
|
const index = require("./index-DUjEj7ts.cjs");
|
|
8
8
|
const vueRouter = require("vue-router");
|
|
9
9
|
const vue$1 = require("@bagelink/vue");
|
|
10
|
-
const pageTitle = require("./pageTitle-
|
|
10
|
+
const pageTitle = require("./pageTitle-wobGhtiZ.cjs");
|
|
11
11
|
const ssg_client = require("./client-AoDTJJXJ.cjs");
|
|
12
12
|
const BLOX_REGISTRY_KEY = Symbol("blox:registry");
|
|
13
13
|
const BLOX_CONFIG_KEY = Symbol("blox:config");
|
|
@@ -484,6 +484,7 @@ function collectBloxSeo(registry2) {
|
|
|
484
484
|
if (v.publishedTime) registry2.seo.publishedTime = v.publishedTime;
|
|
485
485
|
if (v.modifiedTime) registry2.seo.modifiedTime = v.modifiedTime;
|
|
486
486
|
if (v.author) registry2.seo.author = v.author;
|
|
487
|
+
if (v.ogType) registry2.seo.ogType = v.ogType;
|
|
487
488
|
if (v.noindex !== void 0) registry2.seo.noindex = v.noindex;
|
|
488
489
|
if (v.alternates !== void 0) registry2.seo.alternates = v.alternates;
|
|
489
490
|
}
|
|
@@ -869,7 +870,7 @@ class BloxInstance {
|
|
|
869
870
|
router.addRoute({
|
|
870
871
|
path: "/_blox_preview",
|
|
871
872
|
name: BLOX_PREVIEW_ROUTE_NAME,
|
|
872
|
-
component: () => Promise.resolve().then(() => require("./PreviewApp-
|
|
873
|
+
component: () => Promise.resolve().then(() => require("./PreviewApp-BD5RzRZO.cjs")),
|
|
873
874
|
beforeEnter: () => typeof window === "undefined" || window.parent !== window ? true : "/"
|
|
874
875
|
});
|
|
875
876
|
}
|
|
@@ -6,7 +6,7 @@ import { inject, computed, ref, defineComponent, onMounted, unref, openBlock, cr
|
|
|
6
6
|
import { useBloxApi, getWebsiteIdSync, getWebsiteId, resolvePath, configureApi, listItemsFromActiveApi, getItemBySlug, getItemById } from "./index-I81QTzv-.js";
|
|
7
7
|
import { useRoute, useRouter } from "vue-router";
|
|
8
8
|
import { getI18n } from "@bagelink/vue";
|
|
9
|
-
import { r as resolvePageTitle, s as siteNameFromContexts, a as preserveCurrentSiteSuffix } from "./pageTitle-
|
|
9
|
+
import { r as resolvePageTitle, s as siteNameFromContexts, a as preserveCurrentSiteSuffix } from "./pageTitle-B1mtDJKn.js";
|
|
10
10
|
import { r as readBloxHydration } from "./client-Ce9fRCGH.js";
|
|
11
11
|
const BLOX_REGISTRY_KEY = Symbol("blox:registry");
|
|
12
12
|
const BLOX_CONFIG_KEY = Symbol("blox:config");
|
|
@@ -483,6 +483,7 @@ function collectBloxSeo(registry2) {
|
|
|
483
483
|
if (v.publishedTime) registry2.seo.publishedTime = v.publishedTime;
|
|
484
484
|
if (v.modifiedTime) registry2.seo.modifiedTime = v.modifiedTime;
|
|
485
485
|
if (v.author) registry2.seo.author = v.author;
|
|
486
|
+
if (v.ogType) registry2.seo.ogType = v.ogType;
|
|
486
487
|
if (v.noindex !== void 0) registry2.seo.noindex = v.noindex;
|
|
487
488
|
if (v.alternates !== void 0) registry2.seo.alternates = v.alternates;
|
|
488
489
|
}
|
|
@@ -868,7 +869,7 @@ class BloxInstance {
|
|
|
868
869
|
router.addRoute({
|
|
869
870
|
path: "/_blox_preview",
|
|
870
871
|
name: BLOX_PREVIEW_ROUTE_NAME,
|
|
871
|
-
component: () => import("./PreviewApp-
|
|
872
|
+
component: () => import("./PreviewApp-C-0zfTwq.js"),
|
|
872
873
|
beforeEnter: () => typeof window === "undefined" || window.parent !== window ? true : "/"
|
|
873
874
|
});
|
|
874
875
|
}
|
package/dist/data/useData.d.ts
CHANGED
|
@@ -11,6 +11,13 @@ export interface BloxSeoHead {
|
|
|
11
11
|
modifiedTime?: string;
|
|
12
12
|
/** Article author name or profile URL. */
|
|
13
13
|
author?: string;
|
|
14
|
+
/**
|
|
15
|
+
* OpenGraph object type. The block declares what the page *is* — `article`
|
|
16
|
+
* for blog posts, `website` for most others (services, events, sold items,
|
|
17
|
+
* legal pages). Defaults to `website` when omitted; the old heuristic of
|
|
18
|
+
* "bound context ⇒ article" wrongly labelled events/products as articles.
|
|
19
|
+
*/
|
|
20
|
+
ogType?: string;
|
|
14
21
|
/** Prevent indexing this resolved content page and omit it from SSG indexes. */
|
|
15
22
|
noindex?: boolean;
|
|
16
23
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useData.d.ts","sourceRoot":"","sources":["../../src/data/useData.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAKrD,eAAO,MAAM,aAAa,eAAsB,CAAA;AAEhD,wEAAwE;AACxE,MAAM,WAAW,WAAW;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8CAA8C;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gFAAgF;IAChF,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,gBAAgB;IAChC,yEAAyE;IACzE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAChD,0DAA0D;IAC1D,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,4EAA4E;IAC5E,SAAS,EAAE,OAAO,CAAA;IAClB,iEAAiE;IACjE,GAAG,EAAE,WAAW,CAAA;IAChB,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;CAChE;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC/B,qFAAqF;IACrF,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;IACZ,8DAA8D;IAC9D,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACrB,gDAAgD;IAChD,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACnB,iEAAiE;IACjE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC5B;AAED,MAAM,WAAW,cAAc,CAAC,CAAC;IAChC,qFAAqF;IACrF,OAAO,EAAE,CAAC,CAAA;IACV;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;CAChB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,gBAAgB,CAa3F;AAeD,8EAA8E;AAC9E,wBAAgB,eAAe,IAAI,gBAAgB,GAAG,IAAI,CAEzD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEnF;AAED;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAiBzE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,gBAAgB,GAAG,WAAW,
|
|
1
|
+
{"version":3,"file":"useData.d.ts","sourceRoot":"","sources":["../../src/data/useData.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,EAAE,MAAM,KAAK,CAAA;AAKrD,eAAO,MAAM,aAAa,eAAsB,CAAA;AAEhD,wEAAwE;AACxE,MAAM,WAAW,WAAW;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,8CAA8C;IAC9C,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,gFAAgF;IAChF,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACnC;AAED,MAAM,WAAW,gBAAgB;IAChC,yEAAyE;IACzE,QAAQ,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAClC,wEAAwE;IACxE,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;IAChD,0DAA0D;IAC1D,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;IAC1B,4EAA4E;IAC5E,SAAS,EAAE,OAAO,CAAA;IAClB,iEAAiE;IACjE,GAAG,EAAE,WAAW,CAAA;IAChB,2EAA2E;IAC3E,QAAQ,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC,CAAA;CAChE;AAED,MAAM,WAAW,aAAa,CAAC,CAAC;IAC/B,qFAAqF;IACrF,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAA;IACZ,8DAA8D;IAC9D,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACrB,gDAAgD;IAChD,KAAK,EAAE,GAAG,CAAC,OAAO,CAAC,CAAA;IACnB,iEAAiE;IACjE,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC5B;AAED,MAAM,WAAW,cAAc,CAAC,CAAC;IAChC,qFAAqF;IACrF,OAAO,EAAE,CAAC,CAAA;IACV;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAA;CAChB;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAO,GAAG,gBAAgB,CAa3F;AAeD,8EAA8E;AAC9E,wBAAgB,eAAe,IAAI,gBAAgB,GAAG,IAAI,CAEzD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAEnF;AAED;;;;;;;;GAQG;AACH,wBAAgB,MAAM,CAAC,MAAM,EAAE,MAAM,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI,CAiBzE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,gBAAgB,GAAG,WAAW,CAetE;AAED;;;;;;;GAOG;AACH,wBAAgB,OAAO,CAAC,CAAC,EACxB,GAAG,EAAE,gBAAgB,CAAC,MAAM,CAAC,EAC7B,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACzB,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GACxB,aAAa,CAAC,CAAC,CAAC,CAqFlB"}
|
package/dist/index.cjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
3
3
|
const index = require("./index-DUjEj7ts.cjs");
|
|
4
|
-
const PreviewApp_vue_vue_type_style_index_0_lang = require("./PreviewApp.vue_vue_type_style_index_0_lang-
|
|
5
|
-
const appRuntime = require("./appRuntime-
|
|
4
|
+
const PreviewApp_vue_vue_type_style_index_0_lang = require("./PreviewApp.vue_vue_type_style_index_0_lang-DuF7jSt7.cjs");
|
|
5
|
+
const appRuntime = require("./appRuntime-Bh3LdYXU.cjs");
|
|
6
6
|
const vue = require("vue");
|
|
7
7
|
const ssg_client = require("./client-AoDTJJXJ.cjs");
|
|
8
8
|
const vueRouter = require("vue-router");
|
package/dist/index.mjs
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { useBloxApi, getItemBySlug, getItemById, provideBloxApi } from "./index-I81QTzv-.js";
|
|
2
2
|
import { configureApi, createBloxApi, getCollectionResolver, getWebsiteId, getWebsiteIdSync, listItems, resolvePath, setApiOrigin, setCollectionResolver } from "./index-I81QTzv-.js";
|
|
3
|
-
import { _, P, s, a } from "./PreviewApp.vue_vue_type_style_index_0_lang-
|
|
4
|
-
import { f as BLOX_LOCALE_STRATEGY_KEY, u as useLocale, n as normalizeLink, e as BLOX_RUNTIME_KEY, g as useSeo, h as getRegistryData, j as getContentRoute, p as provideBloxData, b as provideBloxLocale, i as installBloxRuntime, s as setActiveLocale, k as installSmartLinks, l as consumePendingLocaleSwitch } from "./appRuntime-
|
|
5
|
-
import { _ as _2, m, o, q, t, v, w, x, y, P as P2, z, A, c, a as a2, C, D, E, F, G, H, I, J, K, L, M, r, N, O, Q, R } from "./appRuntime-
|
|
3
|
+
import { _, P, s, a } from "./PreviewApp.vue_vue_type_style_index_0_lang-0cUPU_L_.js";
|
|
4
|
+
import { f as BLOX_LOCALE_STRATEGY_KEY, u as useLocale, n as normalizeLink, e as BLOX_RUNTIME_KEY, g as useSeo, h as getRegistryData, j as getContentRoute, p as provideBloxData, b as provideBloxLocale, i as installBloxRuntime, s as setActiveLocale, k as installSmartLinks, l as consumePendingLocaleSwitch } from "./appRuntime-Sl40toxn.js";
|
|
5
|
+
import { _ as _2, m, o, q, t, v, w, x, y, P as P2, z, A, c, a as a2, C, D, E, F, G, H, I, J, K, L, M, r, N, O, Q, R } from "./appRuntime-Sl40toxn.js";
|
|
6
6
|
import { defineComponent, resolveComponent, openBlock, createBlock, withCtx, Transition, resolveDynamicComponent, inject, ref, watch, onMounted, onUnmounted, computed, onServerPrefetch, toValue, h, Suspense, createSSRApp, createApp } from "vue";
|
|
7
7
|
import { r as readBloxHydration } from "./client-Ce9fRCGH.js";
|
|
8
8
|
import { useRouter, useRoute } from "vue-router";
|
|
@@ -31,13 +31,16 @@ function withSiteName(title, siteName) {
|
|
|
31
31
|
return `${title} · ${siteName}`;
|
|
32
32
|
}
|
|
33
33
|
function resolvePageTitle(resolved, options = {}) {
|
|
34
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
34
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
35
35
|
const hasBinding = !!((_a = resolved.page) == null ? void 0 : _a.data_bindings) && Object.keys(resolved.page.data_bindings).length > 0;
|
|
36
36
|
const contextTitle = hasBinding ? contextPageTitle((_b = primaryPageContext(resolved.contexts)) == null ? void 0 : _b.ctx) : null;
|
|
37
|
-
const
|
|
38
|
-
if (
|
|
37
|
+
const overrideTitle = (_c = options.override) == null ? void 0 : _c.trim();
|
|
38
|
+
if (overrideTitle) return overrideTitle;
|
|
39
|
+
if (contextTitle) return withSiteName(contextTitle, options.siteName);
|
|
39
40
|
if ((_e = (_d = resolved.page) == null ? void 0 : _d.meta_title) == null ? void 0 : _e.trim()) return resolved.page.meta_title.trim();
|
|
40
41
|
if ((_g = (_f = resolved.page) == null ? void 0 : _f.title) == null ? void 0 : _g.trim()) return withSiteName(resolved.page.title.trim(), options.siteName);
|
|
42
|
+
if ((_h = options.defaultTitle) == null ? void 0 : _h.trim()) return options.defaultTitle.trim();
|
|
43
|
+
if (options.siteName) return options.siteName;
|
|
41
44
|
return null;
|
|
42
45
|
}
|
|
43
46
|
function preserveCurrentSiteSuffix(title, currentTitle) {
|
|
@@ -32,13 +32,16 @@ function withSiteName(title, siteName) {
|
|
|
32
32
|
return `${title} · ${siteName}`;
|
|
33
33
|
}
|
|
34
34
|
function resolvePageTitle(resolved, options = {}) {
|
|
35
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
35
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
36
36
|
const hasBinding = !!((_a = resolved.page) == null ? void 0 : _a.data_bindings) && Object.keys(resolved.page.data_bindings).length > 0;
|
|
37
37
|
const contextTitle = hasBinding ? contextPageTitle((_b = primaryPageContext(resolved.contexts)) == null ? void 0 : _b.ctx) : null;
|
|
38
|
-
const
|
|
39
|
-
if (
|
|
38
|
+
const overrideTitle = (_c = options.override) == null ? void 0 : _c.trim();
|
|
39
|
+
if (overrideTitle) return overrideTitle;
|
|
40
|
+
if (contextTitle) return withSiteName(contextTitle, options.siteName);
|
|
40
41
|
if ((_e = (_d = resolved.page) == null ? void 0 : _d.meta_title) == null ? void 0 : _e.trim()) return resolved.page.meta_title.trim();
|
|
41
42
|
if ((_g = (_f = resolved.page) == null ? void 0 : _f.title) == null ? void 0 : _g.trim()) return withSiteName(resolved.page.title.trim(), options.siteName);
|
|
43
|
+
if ((_h = options.defaultTitle) == null ? void 0 : _h.trim()) return options.defaultTitle.trim();
|
|
44
|
+
if (options.siteName) return options.siteName;
|
|
42
45
|
return null;
|
|
43
46
|
}
|
|
44
47
|
function preserveCurrentSiteSuffix(title, currentTitle) {
|
package/dist/pageTitle.d.ts
CHANGED
|
@@ -14,10 +14,25 @@ export declare function primaryPageContext(contexts: Record<string, Record<strin
|
|
|
14
14
|
export declare function contextPageTitle(context: Record<string, unknown> | null | undefined): string | null;
|
|
15
15
|
export declare function siteNameFromContexts(contexts: Record<string, Record<string, unknown> | null> | undefined): string | null;
|
|
16
16
|
export declare function withSiteName(title: string, siteName: string | null | undefined): string;
|
|
17
|
-
/**
|
|
17
|
+
/**
|
|
18
|
+
* Single source of truth for the page title — used by `<title>`, `og:title`,
|
|
19
|
+
* `twitter:title`, and the client `document.title`.
|
|
20
|
+
*
|
|
21
|
+
* One precedence list, one suffix rule:
|
|
22
|
+
* 1. `useSeo` override — authoritative, emitted verbatim (no suffix)
|
|
23
|
+
* 2. bound-context title — derived, suffixed with the site name
|
|
24
|
+
* 3. `page.meta_title` — authored SEO field, verbatim
|
|
25
|
+
* 4. `page.title` — human display name, suffixed
|
|
26
|
+
* 5. `defaultTitle` — site-wide authored fallback (seo.default_meta_title)
|
|
27
|
+
* 6. `siteName` — last resort so a title is never empty
|
|
28
|
+
*
|
|
29
|
+
* Only *derived* titles (context + bare `page.title`) get the branding suffix;
|
|
30
|
+
* explicitly-authored ones are used exactly as written.
|
|
31
|
+
*/
|
|
18
32
|
export declare function resolvePageTitle(resolved: PageTitleData, options?: {
|
|
19
33
|
override?: string | null;
|
|
20
34
|
siteName?: string | null;
|
|
35
|
+
defaultTitle?: string | null;
|
|
21
36
|
}): string | null;
|
|
22
37
|
/** Keep the server-rendered site suffix when useSeo hydrates with a bare title. */
|
|
23
38
|
export declare function preserveCurrentSiteSuffix(title: string, currentTitle: string): string;
|
package/dist/pageTitle.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pageTitle.d.ts","sourceRoot":"","sources":["../src/pageTitle.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC7B,IAAI,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QAC1B,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;KAC9C,CAAA;IACD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;CACzD;AAED,mEAAmE;AACnE,wBAAgB,kBAAkB,CACjC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,GAClE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,IAAI,CActD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAOnG;AAED,wBAAgB,oBAAoB,CACnC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,GAClE,MAAM,GAAG,IAAI,CAOf;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAGvF;AAED
|
|
1
|
+
{"version":3,"file":"pageTitle.d.ts","sourceRoot":"","sources":["../src/pageTitle.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,aAAa;IAC7B,IAAI,CAAC,EAAE;QACN,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QACrB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;QAC1B,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;KAC9C,CAAA;IACD,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;CACzD;AAED,mEAAmE;AACnE,wBAAgB,kBAAkB,CACjC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,GAClE;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAAG,IAAI,CActD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAOnG;AAED,wBAAgB,oBAAoB,CACnC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,GAClE,MAAM,GAAG,IAAI,CAOf;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAGvF;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,gBAAgB,CAC/B,QAAQ,EAAE,aAAa,EACvB,OAAO,GAAE;IACR,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACvB,GACJ,MAAM,GAAG,IAAI,CAef;AAED,mFAAmF;AACnF,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAMrF"}
|
|
@@ -2,7 +2,7 @@ import { spawn } from "node:child_process";
|
|
|
2
2
|
import os from "node:os";
|
|
3
3
|
import path from "node:path";
|
|
4
4
|
import process from "node:process";
|
|
5
|
-
import { f as fetchCmsSiteData, g as generateSitemapArtifacts } from "./validate-output-
|
|
5
|
+
import { f as fetchCmsSiteData, g as generateSitemapArtifacts } from "./validate-output-CBUyK03E.js";
|
|
6
6
|
const AUTO_SHARD_CAP = Number(process.env.BLOX_SSG_SHARD_CAP) || 6;
|
|
7
7
|
const PREFETCH_BUDGET = Number(process.env.BLOX_SSG_PREFETCH_BUDGET) || 24;
|
|
8
8
|
const SEQUENTIAL_SHARDS = process.env.BLOX_SSG_SEQUENTIAL === "1";
|
|
@@ -142,7 +142,7 @@ async function runSharded(opts) {
|
|
|
142
142
|
}
|
|
143
143
|
if (process.env.BLOX_SSG_LLM !== "0") {
|
|
144
144
|
try {
|
|
145
|
-
const { mergeLlmParts } = await import("./validate-output-
|
|
145
|
+
const { mergeLlmParts } = await import("./validate-output-CBUyK03E.js").then((n) => n.A);
|
|
146
146
|
const mergeWebsite = website;
|
|
147
147
|
const partFiles = Array.from({ length: total }, (_, i) => path.join(llmPartsDir, `part.${i}.json`));
|
|
148
148
|
const { pages } = await mergeLlmParts({
|
|
@@ -26,7 +26,7 @@ const node_child_process = require("node:child_process");
|
|
|
26
26
|
const os = require("node:os");
|
|
27
27
|
const path = require("node:path");
|
|
28
28
|
const process = require("node:process");
|
|
29
|
-
const llmArtifacts = require("./validate-output-
|
|
29
|
+
const llmArtifacts = require("./validate-output-CGCpqI7T.cjs");
|
|
30
30
|
const AUTO_SHARD_CAP = Number(process.env.BLOX_SSG_SHARD_CAP) || 6;
|
|
31
31
|
const PREFETCH_BUDGET = Number(process.env.BLOX_SSG_PREFETCH_BUDGET) || 24;
|
|
32
32
|
const SEQUENTIAL_SHARDS = process.env.BLOX_SSG_SEQUENTIAL === "1";
|
|
@@ -166,7 +166,7 @@ async function runSharded(opts) {
|
|
|
166
166
|
}
|
|
167
167
|
if (process.env.BLOX_SSG_LLM !== "0") {
|
|
168
168
|
try {
|
|
169
|
-
const { mergeLlmParts } = await Promise.resolve().then(() => require("./validate-output-
|
|
169
|
+
const { mergeLlmParts } = await Promise.resolve().then(() => require("./validate-output-CGCpqI7T.cjs")).then((n) => n.llmArtifacts);
|
|
170
170
|
const mergeWebsite = website;
|
|
171
171
|
const partFiles = Array.from({ length: total }, (_, i) => path.join(llmPartsDir, `part.${i}.json`));
|
|
172
172
|
const { pages } = await mergeLlmParts({
|
package/dist/ssg/cli.cjs
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
const process = require("node:process");
|
|
4
4
|
const fs = require("node:fs/promises");
|
|
5
5
|
const ssg_buildGrant = require("./build-grant.cjs");
|
|
6
|
-
const llmArtifacts = require("../validate-output-
|
|
6
|
+
const llmArtifacts = require("../validate-output-CGCpqI7T.cjs");
|
|
7
7
|
function installFetchTimeout() {
|
|
8
8
|
const ms = Number(process.env.BLOX_SSG_FETCH_TIMEOUT_MS) || 2e4;
|
|
9
9
|
const original = globalThis.fetch;
|
|
@@ -141,7 +141,7 @@ Environment:
|
|
|
141
141
|
if (shardsOpt !== null || routesCmd) {
|
|
142
142
|
const { apiBase: apiBase2, websiteName: configWebsiteName2 } = await resolveApiBase(mode);
|
|
143
143
|
const websiteName2 = process.env.WEBSITE_NAME ?? configWebsiteName2 ?? "default";
|
|
144
|
-
const { runSharded } = await Promise.resolve().then(() => require("../shard-runner-
|
|
144
|
+
const { runSharded } = await Promise.resolve().then(() => require("../shard-runner-BoSrSIzQ.cjs"));
|
|
145
145
|
const code = await runSharded({
|
|
146
146
|
shards: shardsOpt ?? "auto",
|
|
147
147
|
mode,
|
package/dist/ssg/cli.mjs
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import process from "node:process";
|
|
3
3
|
import fs from "node:fs/promises";
|
|
4
4
|
import { resolveBloxBuildGrant } from "./build-grant.mjs";
|
|
5
|
-
import { v as validateSsgOutput, u as uploadBloxManifest, p as polyfillBloxSsgGlobals, f as fetchCmsSiteData, b as buildCollectionResolver, a as prerender } from "../validate-output-
|
|
5
|
+
import { v as validateSsgOutput, u as uploadBloxManifest, p as polyfillBloxSsgGlobals, f as fetchCmsSiteData, b as buildCollectionResolver, a as prerender } from "../validate-output-CBUyK03E.js";
|
|
6
6
|
function installFetchTimeout() {
|
|
7
7
|
const ms = Number(process.env.BLOX_SSG_FETCH_TIMEOUT_MS) || 2e4;
|
|
8
8
|
const original = globalThis.fetch;
|
|
@@ -140,7 +140,7 @@ Environment:
|
|
|
140
140
|
if (shardsOpt !== null || routesCmd) {
|
|
141
141
|
const { apiBase: apiBase2, websiteName: configWebsiteName2 } = await resolveApiBase(mode);
|
|
142
142
|
const websiteName2 = process.env.WEBSITE_NAME ?? configWebsiteName2 ?? "default";
|
|
143
|
-
const { runSharded } = await import("../shard-runner-
|
|
143
|
+
const { runSharded } = await import("../shard-runner-A_vfoOw0.js");
|
|
144
144
|
const code = await runSharded({
|
|
145
145
|
shards: shardsOpt ?? "auto",
|
|
146
146
|
mode,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cms-routes.d.ts","sourceRoot":"","sources":["../../src/ssg/cms-routes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAoB9D,2EAA2E;AAC3E,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,WAAW;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,WAAW,CAAA;IACpB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,8EAA8E;IAC9E,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,SAAS,EAAE,aAAa,EAAE,CAAA;IAC1B,oEAAoE;IACpE,WAAW,EAAE,aAAa,EAAE,CAAA;IAC5B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;CAC3D;AAYD;;;GAGG;AACH,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,MAAM,EAAE,EACf,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,EAAE,GACxB,MAAM,EAAE,CASV;AAMD;;;GAGG;AACH,wBAAsB,gBAAgB,CACrC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,cAAc,GAAE,uBAA4B,GAC1C,OAAO,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"cms-routes.d.ts","sourceRoot":"","sources":["../../src/ssg/cms-routes.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAoB9D,2EAA2E;AAC3E,MAAM,WAAW,aAAa;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,WAAW;IAC3B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,WAAW,CAAA;IACpB,KAAK,EAAE,MAAM,EAAE,CAAA;IACf,8EAA8E;IAC9E,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,SAAS,EAAE,aAAa,EAAE,CAAA;IAC1B,oEAAoE;IACpE,WAAW,EAAE,aAAa,EAAE,CAAA;IAC5B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAA;CAC3D;AAYD;;;GAGG;AACH,wBAAgB,iBAAiB,CAChC,KAAK,EAAE,MAAM,EAAE,EACf,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,EAAE,GACxB,MAAM,EAAE,CASV;AAMD;;;GAGG;AACH,wBAAsB,gBAAgB,CACrC,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,EACnB,cAAc,GAAE,uBAA4B,GAC1C,OAAO,CAAC,WAAW,CAAC,CA2KtB;AAkID,MAAM,MAAM,kBAAkB,GAAG,CAChC,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,KACrE,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC,CAAA;AAE9C;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CACtC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,GACxD,kBAAkB,CAapB"}
|
package/dist/ssg/index.cjs
CHANGED
|
@@ -22,11 +22,11 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
22
22
|
mod
|
|
23
23
|
));
|
|
24
24
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
25
|
-
const llmArtifacts = require("../validate-output-
|
|
25
|
+
const llmArtifacts = require("../validate-output-CGCpqI7T.cjs");
|
|
26
26
|
const ssg_buildGrant = require("./build-grant.cjs");
|
|
27
27
|
const ssg_client = require("../client-AoDTJJXJ.cjs");
|
|
28
28
|
const vue = require("vue");
|
|
29
|
-
const appRuntime = require("../appRuntime-
|
|
29
|
+
const appRuntime = require("../appRuntime-Bh3LdYXU.cjs");
|
|
30
30
|
const index = require("../index-DUjEj7ts.cjs");
|
|
31
31
|
async function renderBloxSsgPage(options) {
|
|
32
32
|
var _a, _b, _c, _d;
|
package/dist/ssg/index.mjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { c as buildPageHead, d as primaryContextEntry, e as buildJsonLd, h as extractPageText, B as BloxBuildResponseError, i as bloxBuildJson } from "../validate-output-
|
|
2
|
-
import { j, k, f, l, m, n, o, g, q, r, s, t, w, x, p, a, y, z, u, v } from "../validate-output-
|
|
1
|
+
import { c as buildPageHead, d as primaryContextEntry, e as buildJsonLd, h as extractPageText, B as BloxBuildResponseError, i as bloxBuildJson } from "../validate-output-CBUyK03E.js";
|
|
2
|
+
import { j, k, f, l, m, n, o, g, q, r, s, t, w, x, p, a, y, z, u, v } from "../validate-output-CBUyK03E.js";
|
|
3
3
|
import { parseBloxBuildGrantBody, resolveBloxBuildGrant } from "./build-grant.mjs";
|
|
4
4
|
import { a as BLOX_HYDRATION_WINDOW_KEY } from "../client-Ce9fRCGH.js";
|
|
5
5
|
import { createSSRApp, h, Suspense } from "vue";
|
|
6
|
-
import { c as collectBloxData, a as collectBloxSeo, p as provideBloxData, b as provideBloxLocale, B as BLOX_SSR_ROUTE_STATE_KEY, i as installBloxRuntime, s as setActiveLocale } from "../appRuntime-
|
|
6
|
+
import { c as collectBloxData, a as collectBloxSeo, p as provideBloxData, b as provideBloxLocale, B as BLOX_SSR_ROUTE_STATE_KEY, i as installBloxRuntime, s as setActiveLocale } from "../appRuntime-Sl40toxn.js";
|
|
7
7
|
import { provideBloxApi, getCollectionResolver } from "../index-I81QTzv-.js";
|
|
8
8
|
async function renderBloxSsgPage(options) {
|
|
9
9
|
var _a, _b, _c, _d;
|
package/dist/ssg/seo.d.ts
CHANGED
package/dist/ssg/seo.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"seo.d.ts","sourceRoot":"","sources":["../../src/ssg/seo.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAOzE,4DAA4D;AAC5D,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,QAAQ,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACnC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAA;CACzD;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAClC,EAAE,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,EAC/D,MAAM,CAAC,EAAE,MAAM,GACb,MAAM,CAcR;AAED,MAAM,WAAW,aAAa;IAC7B,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,MAAM,CAAA;CACnB;AAMD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE;IACtC,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,WAAW,GAAG,IAAI,CAAA;IAChC,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAA;IACf;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE;QACV,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,WAAW,CAAC,EAAE,MAAM,CAAA;QACpB,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,aAAa,CAAC,EAAE,MAAM,CAAA;QACtB,YAAY,CAAC,EAAE,MAAM,CAAA;QACrB,MAAM,CAAC,EAAE,MAAM,CAAA;QACf,OAAO,CAAC,EAAE,OAAO,CAAA;QACjB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;KACnC,CAAA;IACD;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;CACpB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"seo.d.ts","sourceRoot":"","sources":["../../src/ssg/seo.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import fs, { readFile } from "node:fs/promises";
|
|
|
3
3
|
import path, { resolve } from "node:path";
|
|
4
4
|
import process$1 from "node:process";
|
|
5
5
|
import { pathToFileURL } from "node:url";
|
|
6
|
-
import { r as resolvePageTitle, p as primaryPageContext, c as contextPageTitle } from "./pageTitle-
|
|
6
|
+
import { r as resolvePageTitle, p as primaryPageContext, c as contextPageTitle } from "./pageTitle-B1mtDJKn.js";
|
|
7
7
|
class BloxBuildResponseError extends Error {
|
|
8
8
|
constructor(status, url, statusText) {
|
|
9
9
|
super(`Build API ${status} ${statusText}: ${url}`);
|
|
@@ -78,7 +78,7 @@ function localizePath(slug, locale, defaultLocale) {
|
|
|
78
78
|
return `/${locale}${s}`;
|
|
79
79
|
}
|
|
80
80
|
async function fetchCmsSiteData(apiBase, websiteName, requestOptions = {}) {
|
|
81
|
-
var _a, _b, _c;
|
|
81
|
+
var _a, _b, _c, _d;
|
|
82
82
|
const websiteId = requestOptions.websiteId ?? (typeof process !== "undefined" ? (_b = (_a = process.env) == null ? void 0 : _a.BLOX_WEBSITE_ID) == null ? void 0 : _b.trim() : void 0);
|
|
83
83
|
if (websiteId) {
|
|
84
84
|
const baseBundle = await bloxBuildJson(
|
|
@@ -103,12 +103,36 @@ async function fetchCmsSiteData(apiBase, websiteName, requestOptions = {}) {
|
|
|
103
103
|
paths: localePaths.map((path2) => localizePath(path2, locale, defaultLocale2))
|
|
104
104
|
};
|
|
105
105
|
}));
|
|
106
|
+
const paths2 = [...new Set(localizedBundles.flatMap((result) => result.paths))];
|
|
107
|
+
const pathSet2 = new Set(paths2);
|
|
108
|
+
const defaultPages2 = ((_c = localizedBundles.find((result) => result.locale === defaultLocale2)) == null ? void 0 : _c.bundle.pages) ?? [];
|
|
109
|
+
const canonicalSlugById2 = new Map(
|
|
110
|
+
defaultPages2.flatMap((page) => page.id && page.slug && !page.slug.includes(":") ? [[page.id, page.slug]] : [])
|
|
111
|
+
);
|
|
112
|
+
const localeAliases2 = localizedBundles.flatMap(({ locale, bundle }) => {
|
|
113
|
+
if (locale === defaultLocale2) return [];
|
|
114
|
+
return bundle.pages.flatMap((page) => {
|
|
115
|
+
const canonicalSlug = page.id ? canonicalSlugById2.get(page.id) : void 0;
|
|
116
|
+
const fromPath = canonicalSlug ? localizePath(canonicalSlug, locale, defaultLocale2) : "";
|
|
117
|
+
if (page.status && page.status !== "published" || !canonicalSlug || !page.slug || page.slug.includes(":") || page.slug === canonicalSlug || pathSet2.has(fromPath)) return [];
|
|
118
|
+
return [{
|
|
119
|
+
from_path: fromPath,
|
|
120
|
+
to_path: localizePath(page.slug, locale, defaultLocale2),
|
|
121
|
+
status_code: 302
|
|
122
|
+
}];
|
|
123
|
+
});
|
|
124
|
+
});
|
|
125
|
+
const explicitSources2 = new Set(
|
|
126
|
+
baseBundle.redirects.filter((r) => r.from_path).map((r) => r.from_path.trim())
|
|
127
|
+
);
|
|
128
|
+
const redirects2 = baseBundle.redirects.filter((redirect) => redirect.from_path && redirect.to_path);
|
|
129
|
+
redirects2.push(...localeAliases2.filter((alias) => !explicitSources2.has(alias.from_path)));
|
|
106
130
|
return {
|
|
107
131
|
websiteId,
|
|
108
132
|
website: website2,
|
|
109
|
-
paths:
|
|
133
|
+
paths: paths2,
|
|
110
134
|
pageSlugs: [...new Set(localizedBundles.flatMap((result) => result.bundle.pages.flatMap((page) => page.slug ? [localizePath(page.slug, result.locale, defaultLocale2)] : [])))],
|
|
111
|
-
redirects:
|
|
135
|
+
redirects: redirects2,
|
|
112
136
|
collections: extractCollectionRefs(localizedBundles.flatMap((result) => result.bundle.pages)),
|
|
113
137
|
collectionItems
|
|
114
138
|
};
|
|
@@ -138,7 +162,7 @@ async function fetchCmsSiteData(apiBase, websiteName, requestOptions = {}) {
|
|
|
138
162
|
}));
|
|
139
163
|
const paths = [...new Set(localizedPages.flatMap((result) => result.paths))];
|
|
140
164
|
const pathSet = new Set(paths);
|
|
141
|
-
const defaultPages = ((
|
|
165
|
+
const defaultPages = ((_d = localizedPages.find((result) => result.locale === defaultLocale)) == null ? void 0 : _d.pages) ?? [];
|
|
142
166
|
const canonicalSlugById = new Map(
|
|
143
167
|
defaultPages.flatMap((page) => page.id && page.slug && !page.slug.includes(":") ? [[page.id, page.slug]] : [])
|
|
144
168
|
);
|
|
@@ -369,8 +393,9 @@ function buildPageHead(options) {
|
|
|
369
393
|
const siteName = seo.site_name || void 0;
|
|
370
394
|
const title = resolvePageTitle(resolvedData ?? {}, {
|
|
371
395
|
override: override == null ? void 0 : override.title,
|
|
372
|
-
siteName
|
|
373
|
-
|
|
396
|
+
siteName,
|
|
397
|
+
defaultTitle: seo.default_meta_title
|
|
398
|
+
});
|
|
374
399
|
if (title) {
|
|
375
400
|
parts.push(`<title>${esc(title)}</title>`);
|
|
376
401
|
}
|
|
@@ -385,12 +410,10 @@ function buildPageHead(options) {
|
|
|
385
410
|
} else if (canonicalBase) {
|
|
386
411
|
parts.push(`<link rel="canonical" href="${esc(canonicalBase + url)}">`);
|
|
387
412
|
}
|
|
388
|
-
const ogTitle = (override == null ? void 0 : override.title) || ctx.title || (page == null ? void 0 : page.meta_title) || (page == null ? void 0 : page.title) || siteName || seo.default_meta_title;
|
|
389
413
|
const ogDesc = (override == null ? void 0 : override.description) || (page == null ? void 0 : page.meta_description) || ctx.description || seo.default_meta_description;
|
|
390
414
|
const ogImage = absUrl((override == null ? void 0 : override.image) || (page == null ? void 0 : page.og_image) || ctx.image || seo.default_og_image);
|
|
391
|
-
const
|
|
392
|
-
|
|
393
|
-
if (ogTitle) parts.push(`<meta property="og:title" content="${esc(ogTitle)}">`);
|
|
415
|
+
const ogType = (override == null ? void 0 : override.ogType) ?? "website";
|
|
416
|
+
if (title) parts.push(`<meta property="og:title" content="${esc(title)}">`);
|
|
394
417
|
if (ogDesc) parts.push(`<meta property="og:description" content="${esc(ogDesc)}">`);
|
|
395
418
|
if (ogImage) parts.push(`<meta name="image" property="og:image" content="${esc(ogImage)}">`);
|
|
396
419
|
parts.push(`<meta property="og:type" content="${esc(ogType)}">`);
|
|
@@ -407,7 +430,7 @@ function buildPageHead(options) {
|
|
|
407
430
|
}
|
|
408
431
|
const twitterCard = ogImage ? "summary_large_image" : "summary";
|
|
409
432
|
parts.push(`<meta name="twitter:card" content="${esc(twitterCard)}">`);
|
|
410
|
-
if (
|
|
433
|
+
if (title) parts.push(`<meta name="twitter:title" content="${esc(title)}">`);
|
|
411
434
|
if (ogDesc) parts.push(`<meta name="twitter:description" content="${esc(ogDesc)}">`);
|
|
412
435
|
if (ogImage) parts.push(`<meta name="twitter:image" content="${esc(ogImage)}">`);
|
|
413
436
|
if (seo.twitter_site) parts.push(`<meta name="twitter:site" content="${esc(seo.twitter_site)}">`);
|
|
@@ -26,7 +26,7 @@ const fs = require("node:fs/promises");
|
|
|
26
26
|
const path = require("node:path");
|
|
27
27
|
const process$1 = require("node:process");
|
|
28
28
|
const node_url = require("node:url");
|
|
29
|
-
const pageTitle = require("./pageTitle-
|
|
29
|
+
const pageTitle = require("./pageTitle-wobGhtiZ.cjs");
|
|
30
30
|
class BloxBuildResponseError extends Error {
|
|
31
31
|
constructor(status, url, statusText) {
|
|
32
32
|
super(`Build API ${status} ${statusText}: ${url}`);
|
|
@@ -101,7 +101,7 @@ function localizePath(slug, locale, defaultLocale) {
|
|
|
101
101
|
return `/${locale}${s}`;
|
|
102
102
|
}
|
|
103
103
|
async function fetchCmsSiteData(apiBase, websiteName, requestOptions = {}) {
|
|
104
|
-
var _a, _b, _c;
|
|
104
|
+
var _a, _b, _c, _d;
|
|
105
105
|
const websiteId = requestOptions.websiteId ?? (typeof process !== "undefined" ? (_b = (_a = process.env) == null ? void 0 : _a.BLOX_WEBSITE_ID) == null ? void 0 : _b.trim() : void 0);
|
|
106
106
|
if (websiteId) {
|
|
107
107
|
const baseBundle = await bloxBuildJson(
|
|
@@ -126,12 +126,36 @@ async function fetchCmsSiteData(apiBase, websiteName, requestOptions = {}) {
|
|
|
126
126
|
paths: localePaths.map((path2) => localizePath(path2, locale, defaultLocale2))
|
|
127
127
|
};
|
|
128
128
|
}));
|
|
129
|
+
const paths2 = [...new Set(localizedBundles.flatMap((result) => result.paths))];
|
|
130
|
+
const pathSet2 = new Set(paths2);
|
|
131
|
+
const defaultPages2 = ((_c = localizedBundles.find((result) => result.locale === defaultLocale2)) == null ? void 0 : _c.bundle.pages) ?? [];
|
|
132
|
+
const canonicalSlugById2 = new Map(
|
|
133
|
+
defaultPages2.flatMap((page) => page.id && page.slug && !page.slug.includes(":") ? [[page.id, page.slug]] : [])
|
|
134
|
+
);
|
|
135
|
+
const localeAliases2 = localizedBundles.flatMap(({ locale, bundle }) => {
|
|
136
|
+
if (locale === defaultLocale2) return [];
|
|
137
|
+
return bundle.pages.flatMap((page) => {
|
|
138
|
+
const canonicalSlug = page.id ? canonicalSlugById2.get(page.id) : void 0;
|
|
139
|
+
const fromPath = canonicalSlug ? localizePath(canonicalSlug, locale, defaultLocale2) : "";
|
|
140
|
+
if (page.status && page.status !== "published" || !canonicalSlug || !page.slug || page.slug.includes(":") || page.slug === canonicalSlug || pathSet2.has(fromPath)) return [];
|
|
141
|
+
return [{
|
|
142
|
+
from_path: fromPath,
|
|
143
|
+
to_path: localizePath(page.slug, locale, defaultLocale2),
|
|
144
|
+
status_code: 302
|
|
145
|
+
}];
|
|
146
|
+
});
|
|
147
|
+
});
|
|
148
|
+
const explicitSources2 = new Set(
|
|
149
|
+
baseBundle.redirects.filter((r) => r.from_path).map((r) => r.from_path.trim())
|
|
150
|
+
);
|
|
151
|
+
const redirects2 = baseBundle.redirects.filter((redirect) => redirect.from_path && redirect.to_path);
|
|
152
|
+
redirects2.push(...localeAliases2.filter((alias) => !explicitSources2.has(alias.from_path)));
|
|
129
153
|
return {
|
|
130
154
|
websiteId,
|
|
131
155
|
website: website2,
|
|
132
|
-
paths:
|
|
156
|
+
paths: paths2,
|
|
133
157
|
pageSlugs: [...new Set(localizedBundles.flatMap((result) => result.bundle.pages.flatMap((page) => page.slug ? [localizePath(page.slug, result.locale, defaultLocale2)] : [])))],
|
|
134
|
-
redirects:
|
|
158
|
+
redirects: redirects2,
|
|
135
159
|
collections: extractCollectionRefs(localizedBundles.flatMap((result) => result.bundle.pages)),
|
|
136
160
|
collectionItems
|
|
137
161
|
};
|
|
@@ -161,7 +185,7 @@ async function fetchCmsSiteData(apiBase, websiteName, requestOptions = {}) {
|
|
|
161
185
|
}));
|
|
162
186
|
const paths = [...new Set(localizedPages.flatMap((result) => result.paths))];
|
|
163
187
|
const pathSet = new Set(paths);
|
|
164
|
-
const defaultPages = ((
|
|
188
|
+
const defaultPages = ((_d = localizedPages.find((result) => result.locale === defaultLocale)) == null ? void 0 : _d.pages) ?? [];
|
|
165
189
|
const canonicalSlugById = new Map(
|
|
166
190
|
defaultPages.flatMap((page) => page.id && page.slug && !page.slug.includes(":") ? [[page.id, page.slug]] : [])
|
|
167
191
|
);
|
|
@@ -392,8 +416,9 @@ function buildPageHead(options) {
|
|
|
392
416
|
const siteName = seo.site_name || void 0;
|
|
393
417
|
const title = pageTitle.resolvePageTitle(resolvedData ?? {}, {
|
|
394
418
|
override: override == null ? void 0 : override.title,
|
|
395
|
-
siteName
|
|
396
|
-
|
|
419
|
+
siteName,
|
|
420
|
+
defaultTitle: seo.default_meta_title
|
|
421
|
+
});
|
|
397
422
|
if (title) {
|
|
398
423
|
parts.push(`<title>${esc(title)}</title>`);
|
|
399
424
|
}
|
|
@@ -408,12 +433,10 @@ function buildPageHead(options) {
|
|
|
408
433
|
} else if (canonicalBase) {
|
|
409
434
|
parts.push(`<link rel="canonical" href="${esc(canonicalBase + url)}">`);
|
|
410
435
|
}
|
|
411
|
-
const ogTitle = (override == null ? void 0 : override.title) || ctx.title || (page == null ? void 0 : page.meta_title) || (page == null ? void 0 : page.title) || siteName || seo.default_meta_title;
|
|
412
436
|
const ogDesc = (override == null ? void 0 : override.description) || (page == null ? void 0 : page.meta_description) || ctx.description || seo.default_meta_description;
|
|
413
437
|
const ogImage = absUrl((override == null ? void 0 : override.image) || (page == null ? void 0 : page.og_image) || ctx.image || seo.default_og_image);
|
|
414
|
-
const
|
|
415
|
-
|
|
416
|
-
if (ogTitle) parts.push(`<meta property="og:title" content="${esc(ogTitle)}">`);
|
|
438
|
+
const ogType = (override == null ? void 0 : override.ogType) ?? "website";
|
|
439
|
+
if (title) parts.push(`<meta property="og:title" content="${esc(title)}">`);
|
|
417
440
|
if (ogDesc) parts.push(`<meta property="og:description" content="${esc(ogDesc)}">`);
|
|
418
441
|
if (ogImage) parts.push(`<meta name="image" property="og:image" content="${esc(ogImage)}">`);
|
|
419
442
|
parts.push(`<meta property="og:type" content="${esc(ogType)}">`);
|
|
@@ -430,7 +453,7 @@ function buildPageHead(options) {
|
|
|
430
453
|
}
|
|
431
454
|
const twitterCard = ogImage ? "summary_large_image" : "summary";
|
|
432
455
|
parts.push(`<meta name="twitter:card" content="${esc(twitterCard)}">`);
|
|
433
|
-
if (
|
|
456
|
+
if (title) parts.push(`<meta name="twitter:title" content="${esc(title)}">`);
|
|
434
457
|
if (ogDesc) parts.push(`<meta name="twitter:description" content="${esc(ogDesc)}">`);
|
|
435
458
|
if (ogImage) parts.push(`<meta name="twitter:image" content="${esc(ogImage)}">`);
|
|
436
459
|
if (seo.twitter_site) parts.push(`<meta name="twitter:site" content="${esc(seo.twitter_site)}">`);
|
package/package.json
CHANGED