@bagelink/blox 1.19.3 → 1.19.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.
package/dist/ssg/index.cjs
CHANGED
|
@@ -29,6 +29,15 @@ const vue = require("vue");
|
|
|
29
29
|
const appRuntime = require("../appRuntime-7hLqxk2p.cjs");
|
|
30
30
|
const localeStrategy = require("../localeStrategy-OwRIn35C.cjs");
|
|
31
31
|
const index = require("../index-De9SLPcI.cjs");
|
|
32
|
+
function timestamp(value) {
|
|
33
|
+
if (typeof value !== "string" || !value.trim()) return void 0;
|
|
34
|
+
return Number.isNaN(Date.parse(value)) ? void 0 : value;
|
|
35
|
+
}
|
|
36
|
+
function pageLastmod(data) {
|
|
37
|
+
var _a, _b;
|
|
38
|
+
const primary = (_a = llmArtifacts.primaryContextEntry(data == null ? void 0 : data.contexts)) == null ? void 0 : _a.ctx;
|
|
39
|
+
return timestamp(primary == null ? void 0 : primary.updated_at) ?? timestamp(primary == null ? void 0 : primary.modified_at) ?? timestamp(primary == null ? void 0 : primary.created_at) ?? timestamp((_b = data == null ? void 0 : data.page) == null ? void 0 : _b.content_updated_at);
|
|
40
|
+
}
|
|
32
41
|
async function renderBloxSsgPage(options) {
|
|
33
42
|
var _a, _b, _c, _d, _e;
|
|
34
43
|
const {
|
|
@@ -116,7 +125,15 @@ ${jsonLd}`;
|
|
|
116
125
|
const pageNoindex = Boolean(
|
|
117
126
|
((_e = seoData == null ? void 0 : seoData.page) == null ? void 0 : _e.noindex) || (seoOverride == null ? void 0 : seoOverride.noindex)
|
|
118
127
|
);
|
|
119
|
-
return {
|
|
128
|
+
return {
|
|
129
|
+
html,
|
|
130
|
+
head,
|
|
131
|
+
htmlAttrs,
|
|
132
|
+
teleports: ssrContext.teleports,
|
|
133
|
+
lastmod: pageLastmod(seoData),
|
|
134
|
+
llm: llmEntry,
|
|
135
|
+
noindex: pageNoindex
|
|
136
|
+
};
|
|
120
137
|
}
|
|
121
138
|
function safeJson(value) {
|
|
122
139
|
return JSON.stringify(value).replace(/</g, "\\u003c");
|
package/dist/ssg/index.mjs
CHANGED
|
@@ -6,6 +6,15 @@ import { createSSRApp, h, Suspense } from "vue";
|
|
|
6
6
|
import { c as collectBloxData, a as collectBloxSeo, s as setSsrPageLocale, p as provideBloxData, b as provideBloxLocale, B as BLOX_SSR_ROUTE_STATE_KEY, i as installBloxRuntime, d as setActiveLocale } from "../appRuntime-DbIMo4Ow.js";
|
|
7
7
|
import { s as setPageSlugMap } from "../localeStrategy-hXlNof1E.js";
|
|
8
8
|
import { provideBloxApi, getCollectionResolver } from "../index-9Rzzo_yF.js";
|
|
9
|
+
function timestamp(value) {
|
|
10
|
+
if (typeof value !== "string" || !value.trim()) return void 0;
|
|
11
|
+
return Number.isNaN(Date.parse(value)) ? void 0 : value;
|
|
12
|
+
}
|
|
13
|
+
function pageLastmod(data) {
|
|
14
|
+
var _a, _b;
|
|
15
|
+
const primary = (_a = primaryContextEntry(data == null ? void 0 : data.contexts)) == null ? void 0 : _a.ctx;
|
|
16
|
+
return timestamp(primary == null ? void 0 : primary.updated_at) ?? timestamp(primary == null ? void 0 : primary.modified_at) ?? timestamp(primary == null ? void 0 : primary.created_at) ?? timestamp((_b = data == null ? void 0 : data.page) == null ? void 0 : _b.content_updated_at);
|
|
17
|
+
}
|
|
9
18
|
async function renderBloxSsgPage(options) {
|
|
10
19
|
var _a, _b, _c, _d, _e;
|
|
11
20
|
const {
|
|
@@ -93,7 +102,15 @@ ${jsonLd}`;
|
|
|
93
102
|
const pageNoindex = Boolean(
|
|
94
103
|
((_e = seoData == null ? void 0 : seoData.page) == null ? void 0 : _e.noindex) || (seoOverride == null ? void 0 : seoOverride.noindex)
|
|
95
104
|
);
|
|
96
|
-
return {
|
|
105
|
+
return {
|
|
106
|
+
html,
|
|
107
|
+
head,
|
|
108
|
+
htmlAttrs,
|
|
109
|
+
teleports: ssrContext.teleports,
|
|
110
|
+
lastmod: pageLastmod(seoData),
|
|
111
|
+
llm: llmEntry,
|
|
112
|
+
noindex: pageNoindex
|
|
113
|
+
};
|
|
97
114
|
}
|
|
98
115
|
function safeJson(value) {
|
|
99
116
|
return JSON.stringify(value).replace(/</g, "\\u003c");
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { WebsiteRead } from '../api/types';
|
|
2
|
+
import { SeoPageData } from './seo';
|
|
2
3
|
import { BloxDataRegistry, BloxSeoHead } from '../data/useData';
|
|
3
4
|
import { LlmArtifactsConfig, LlmPageEntry } from './llm-artifacts';
|
|
4
5
|
interface BloxSsrContext {
|
|
@@ -8,6 +9,8 @@ export interface BloxSsgRouterLike {
|
|
|
8
9
|
push: (url: string) => Promise<void>;
|
|
9
10
|
isReady: () => Promise<void>;
|
|
10
11
|
}
|
|
12
|
+
/** Stable content timestamp for sitemap lastmod; never falls back to render time. */
|
|
13
|
+
export declare function pageLastmod(data: SeoPageData | null | undefined): string | undefined;
|
|
11
14
|
/**
|
|
12
15
|
* Render a Blox CMS page to static HTML with embedded state and full SEO head.
|
|
13
16
|
*
|
|
@@ -48,6 +51,7 @@ export declare function renderBloxSsgPage<TApp>(options: {
|
|
|
48
51
|
head?: string;
|
|
49
52
|
htmlAttrs?: string;
|
|
50
53
|
teleports?: Record<string, string>;
|
|
54
|
+
lastmod?: string;
|
|
51
55
|
llm?: LlmPageEntry;
|
|
52
56
|
/** Page-level noindex (CMS page flag or `useSeo({ noindex })`), not site-wide. */
|
|
53
57
|
noindex?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-resolved-page.d.ts","sourceRoot":"","sources":["../../src/ssg/render-resolved-page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;
|
|
1
|
+
{"version":3,"file":"render-resolved-page.d.ts","sourceRoot":"","sources":["../../src/ssg/render-resolved-page.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACxC,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAGpE,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAGvE,UAAU,cAAc;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAClC;AAED,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACpC,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC5B;AAOD,qFAAqF;AACrF,wBAAgB,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAMpF;AAED;;;;;;;GAOG;AACH,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE;IACtD,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,OAAO,GAAG,IAAI,CAAA;IAC5B,cAAc,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,MAAM,CAAC,CAAA;IACxE,eAAe,EAAE,CAChB,GAAG,EAAE,MAAM,EACX,YAAY,EAAE,OAAO,GAAG,IAAI,EAC5B,QAAQ,EAAE,MAAM,KACZ;QAAE,GAAG,EAAE,IAAI,CAAC;QAAC,MAAM,EAAE,iBAAiB,CAAC;QAAC,YAAY,CAAC,EAAE,gBAAgB,CAAA;KAAE,CAAA;IAC9E,8EAA8E;IAC9E,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACrE,sEAAsE;IACtE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,gBAAgB,KAAK,WAAW,CAAA;IACxD;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,8EAA8E;IAC9E,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,+EAA+E;IAC/E,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAC5B,yEAAyE;IACzE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACpD,8EAA8E;IAC9E,GAAG,CAAC,EAAE,kBAAkB,CAAA;CACxB,GAAG,OAAO,CAAC;IACX,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,YAAY,CAAA;IAClB,kFAAkF;IAClF,OAAO,CAAC,EAAE,OAAO,CAAA;CACjB,CAAC,CAiID;AAED,yFAAyF;AACzF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE/C"}
|
package/dist/ssg/seo.d.ts
CHANGED
|
@@ -3,7 +3,9 @@ import { PageRead, StructuredData, WebsiteRead } from '../api/types';
|
|
|
3
3
|
export declare function isLocaleHome(url: string, supportedLocales: string[], defaultLocale?: string): boolean;
|
|
4
4
|
/** Resolved page data shape (subset of PageResolveRead). */
|
|
5
5
|
export interface SeoPageData {
|
|
6
|
-
page: PageRead
|
|
6
|
+
page: PageRead & {
|
|
7
|
+
content_updated_at?: string;
|
|
8
|
+
};
|
|
7
9
|
alternates?: Record<string, string>;
|
|
8
10
|
contexts?: Record<string, Record<string, unknown> | null>;
|
|
9
11
|
}
|
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,yEAAyE;AACzE,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,EAAE,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAQrG;AAED,4DAA4D;AAC5D,MAAM,WAAW,WAAW;IAC3B,IAAI,EAAE,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"seo.d.ts","sourceRoot":"","sources":["../../src/ssg/seo.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED