@bagelink/blox 1.20.9 → 1.20.17
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/api/types.d.ts +10 -0
- package/dist/api/types.d.ts.map +1 -1
- package/dist/{shard-runner-BGMCtBmP.js → shard-runner-BeqW21GW.js} +2 -2
- package/dist/{shard-runner-C6BtYRC2.cjs → shard-runner-DL_zxeV5.cjs} +2 -2
- package/dist/ssg/cli.cjs +2 -2
- package/dist/ssg/cli.mjs +2 -2
- package/dist/ssg/embeds.d.ts +13 -0
- package/dist/ssg/embeds.d.ts.map +1 -0
- package/dist/ssg/index.cjs +10 -2
- package/dist/ssg/index.mjs +11 -3
- package/dist/ssg/prerender.d.ts +3 -0
- package/dist/ssg/prerender.d.ts.map +1 -1
- package/dist/ssg/render-resolved-page.d.ts +2 -1
- package/dist/ssg/render-resolved-page.d.ts.map +1 -1
- package/dist/{validate-output-BTvdILwE.js → validate-output-CPzsmg0M.js} +31 -4
- package/dist/{validate-output-CAcHbUBv.cjs → validate-output-DFoN6pkw.cjs} +31 -4
- package/package.json +2 -2
package/dist/api/types.d.ts
CHANGED
|
@@ -5,9 +5,17 @@ export interface Block {
|
|
|
5
5
|
/** Prop path → context reference/template, resolved by the renderer. */
|
|
6
6
|
data_bindings?: Record<string, string>;
|
|
7
7
|
}
|
|
8
|
+
export interface EmbedCode {
|
|
9
|
+
id?: string;
|
|
10
|
+
name?: string;
|
|
11
|
+
code?: string;
|
|
12
|
+
placement?: 'head_end' | 'body_start' | 'body_end' | string;
|
|
13
|
+
enabled?: boolean;
|
|
14
|
+
}
|
|
8
15
|
export interface PageContent {
|
|
9
16
|
blocks: Block[];
|
|
10
17
|
structured_data?: Record<string, unknown> | null;
|
|
18
|
+
embed_codes?: EmbedCode[];
|
|
11
19
|
}
|
|
12
20
|
export interface PageRead {
|
|
13
21
|
id: string;
|
|
@@ -19,6 +27,7 @@ export interface PageRead {
|
|
|
19
27
|
meta_description: string | null;
|
|
20
28
|
og_image: string | null;
|
|
21
29
|
structured_data?: Record<string, unknown> | null;
|
|
30
|
+
embed_codes?: EmbedCode[];
|
|
22
31
|
noindex?: boolean;
|
|
23
32
|
canonical_url?: string | null;
|
|
24
33
|
status: ContentStatus;
|
|
@@ -71,6 +80,7 @@ export interface StructuredData {
|
|
|
71
80
|
export interface SiteIntegrations {
|
|
72
81
|
plausible_site_id?: string | null;
|
|
73
82
|
netlify_site_id?: string | null;
|
|
83
|
+
embed_codes?: EmbedCode[];
|
|
74
84
|
}
|
|
75
85
|
export interface GlobalBlockRead {
|
|
76
86
|
id: string;
|
package/dist/api/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,CAAA;AAM9D,MAAM,WAAW,KAAK;IACrB,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,wEAAwE;IACxE,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CACtC;AAED,MAAM,WAAW,WAAW;IAC3B,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/api/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -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, c as validatePreviewOutput, e as validateNoRedirectingLinks, i as isErrorPagePath, h as isPreviewPath } from "./validate-output-
|
|
5
|
+
import { f as fetchCmsSiteData, g as generateSitemapArtifacts, c as validatePreviewOutput, e as validateNoRedirectingLinks, i as isErrorPagePath, h as isPreviewPath } from "./validate-output-CPzsmg0M.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";
|
|
@@ -145,7 +145,7 @@ async function runSharded(opts) {
|
|
|
145
145
|
}
|
|
146
146
|
if (process.env.BLOX_SSG_LLM !== "0" && !((_a = website == null ? void 0 : website.seo) == null ? void 0 : _a.noindex)) {
|
|
147
147
|
try {
|
|
148
|
-
const { mergeLlmParts } = await import("./validate-output-
|
|
148
|
+
const { mergeLlmParts } = await import("./validate-output-CPzsmg0M.js").then((n) => n.G);
|
|
149
149
|
const mergeWebsite = website;
|
|
150
150
|
const partFiles = Array.from({ length: total }, (_, i) => path.join(llmPartsDir, `part.${i}.json`));
|
|
151
151
|
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-DFoN6pkw.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";
|
|
@@ -169,7 +169,7 @@ async function runSharded(opts) {
|
|
|
169
169
|
}
|
|
170
170
|
if (process.env.BLOX_SSG_LLM !== "0" && !((_a = website == null ? void 0 : website.seo) == null ? void 0 : _a.noindex)) {
|
|
171
171
|
try {
|
|
172
|
-
const { mergeLlmParts } = await Promise.resolve().then(() => require("./validate-output-
|
|
172
|
+
const { mergeLlmParts } = await Promise.resolve().then(() => require("./validate-output-DFoN6pkw.cjs")).then((n) => n.llmArtifacts);
|
|
173
173
|
const mergeWebsite = website;
|
|
174
174
|
const partFiles = Array.from({ length: total }, (_, i) => path.join(llmPartsDir, `part.${i}.json`));
|
|
175
175
|
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-DFoN6pkw.cjs");
|
|
7
7
|
const localeStrategy = require("../localeStrategy-OwRIn35C.cjs");
|
|
8
8
|
function installFetchTimeout() {
|
|
9
9
|
const ms = Number(process.env.BLOX_SSG_FETCH_TIMEOUT_MS) || 2e4;
|
|
@@ -157,7 +157,7 @@ Environment:
|
|
|
157
157
|
if (shardsOpt !== null || routesCmd) {
|
|
158
158
|
const { apiBase: apiBase2, websiteName: configWebsiteName2 } = await resolveApiBase(mode);
|
|
159
159
|
const websiteName2 = process.env.WEBSITE_NAME ?? configWebsiteName2 ?? "default";
|
|
160
|
-
const { runSharded } = await Promise.resolve().then(() => require("../shard-runner-
|
|
160
|
+
const { runSharded } = await Promise.resolve().then(() => require("../shard-runner-DL_zxeV5.cjs"));
|
|
161
161
|
const code = await runSharded({
|
|
162
162
|
shards: shardsOpt ?? "auto",
|
|
163
163
|
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, c as validatePreviewOutput, d as validateInternalLinks, e as validateNoRedirectingLinks } from "../validate-output-
|
|
5
|
+
import { v as validateSsgOutput, u as uploadBloxManifest, p as polyfillBloxSsgGlobals, f as fetchCmsSiteData, b as buildCollectionResolver, a as prerender, c as validatePreviewOutput, d as validateInternalLinks, e as validateNoRedirectingLinks } from "../validate-output-CPzsmg0M.js";
|
|
6
6
|
import { s as setPageSlugMap } from "../localeStrategy-hXlNof1E.js";
|
|
7
7
|
function installFetchTimeout() {
|
|
8
8
|
const ms = Number(process.env.BLOX_SSG_FETCH_TIMEOUT_MS) || 2e4;
|
|
@@ -156,7 +156,7 @@ Environment:
|
|
|
156
156
|
if (shardsOpt !== null || routesCmd) {
|
|
157
157
|
const { apiBase: apiBase2, websiteName: configWebsiteName2 } = await resolveApiBase(mode);
|
|
158
158
|
const websiteName2 = process.env.WEBSITE_NAME ?? configWebsiteName2 ?? "default";
|
|
159
|
-
const { runSharded } = await import("../shard-runner-
|
|
159
|
+
const { runSharded } = await import("../shard-runner-BeqW21GW.js");
|
|
160
160
|
const code = await runSharded({
|
|
161
161
|
shards: shardsOpt ?? "auto",
|
|
162
162
|
mode,
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export type EmbedPlacement = 'head_end' | 'body_start' | 'body_end';
|
|
2
|
+
export interface EmbedCode {
|
|
3
|
+
id?: string;
|
|
4
|
+
name?: string;
|
|
5
|
+
code?: string;
|
|
6
|
+
placement?: string;
|
|
7
|
+
enabled?: boolean;
|
|
8
|
+
}
|
|
9
|
+
export declare function embedMarkup(codes: EmbedCode[] | null | undefined, placement: EmbedPlacement): string;
|
|
10
|
+
/** Insert site-wide codes first, then this page's codes, at each document slot. */
|
|
11
|
+
export declare function injectEmbeds(html: string, globalCodes: EmbedCode[] | null | undefined, pageCodes: EmbedCode[] | null | undefined): string;
|
|
12
|
+
export declare function isEmbedPlacement(value: string): value is EmbedPlacement;
|
|
13
|
+
//# sourceMappingURL=embeds.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"embeds.d.ts","sourceRoot":"","sources":["../../src/ssg/embeds.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,GAAG,UAAU,GAAG,YAAY,GAAG,UAAU,CAAA;AAEnE,MAAM,WAAW,SAAS;IACzB,EAAE,CAAC,EAAE,MAAM,CAAA;IACX,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,OAAO,CAAA;CACjB;AAID,wBAAgB,WAAW,CAC1B,KAAK,EAAE,SAAS,EAAE,GAAG,IAAI,GAAG,SAAS,EACrC,SAAS,EAAE,cAAc,GACvB,MAAM,CAMR;AAED,mFAAmF;AACnF,wBAAgB,YAAY,CAC3B,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,SAAS,EAAE,GAAG,IAAI,GAAG,SAAS,EAC3C,SAAS,EAAE,SAAS,EAAE,GAAG,IAAI,GAAG,SAAS,GACvC,MAAM,CAWR;AAED,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,cAAc,CAEvE"}
|
package/dist/ssg/index.cjs
CHANGED
|
@@ -22,7 +22,7 @@ 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-DFoN6pkw.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");
|
|
@@ -132,9 +132,17 @@ ${jsonLd}`;
|
|
|
132
132
|
teleports: ssrContext.teleports,
|
|
133
133
|
lastmod: pageLastmod(seoData, seoOverride),
|
|
134
134
|
llm: llmEntry,
|
|
135
|
-
noindex: pageNoindex
|
|
135
|
+
noindex: pageNoindex,
|
|
136
|
+
embedCodes: pageEmbedCodes(resolvedData)
|
|
136
137
|
};
|
|
137
138
|
}
|
|
139
|
+
function pageEmbedCodes(resolvedData) {
|
|
140
|
+
var _a;
|
|
141
|
+
const page = resolvedData == null ? void 0 : resolvedData.page;
|
|
142
|
+
if (Array.isArray(page == null ? void 0 : page.embed_codes)) return page.embed_codes;
|
|
143
|
+
if (Array.isArray((_a = page == null ? void 0 : page.content) == null ? void 0 : _a.embed_codes)) return page.content.embed_codes;
|
|
144
|
+
return [];
|
|
145
|
+
}
|
|
138
146
|
function safeJson(value) {
|
|
139
147
|
return JSON.stringify(value).replace(/</g, "\\u003c");
|
|
140
148
|
}
|
package/dist/ssg/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { j as buildPageHead, k as primaryContextEntry, l as buildJsonLd, m as extractPageText, B as BloxBuildResponseError, n as bloxBuildJson } from "../validate-output-
|
|
2
|
-
import { o, q, f, r, s, t, w, g, x, y, z, A, C, D, p, a, E, F, u, d, v } from "../validate-output-
|
|
1
|
+
import { j as buildPageHead, k as primaryContextEntry, l as buildJsonLd, m as extractPageText, B as BloxBuildResponseError, n as bloxBuildJson } from "../validate-output-CPzsmg0M.js";
|
|
2
|
+
import { o, q, f, r, s, t, w, g, x, y, z, A, C, D, p, a, E, F, u, d, v } from "../validate-output-CPzsmg0M.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";
|
|
@@ -109,9 +109,17 @@ ${jsonLd}`;
|
|
|
109
109
|
teleports: ssrContext.teleports,
|
|
110
110
|
lastmod: pageLastmod(seoData, seoOverride),
|
|
111
111
|
llm: llmEntry,
|
|
112
|
-
noindex: pageNoindex
|
|
112
|
+
noindex: pageNoindex,
|
|
113
|
+
embedCodes: pageEmbedCodes(resolvedData)
|
|
113
114
|
};
|
|
114
115
|
}
|
|
116
|
+
function pageEmbedCodes(resolvedData) {
|
|
117
|
+
var _a;
|
|
118
|
+
const page = resolvedData == null ? void 0 : resolvedData.page;
|
|
119
|
+
if (Array.isArray(page == null ? void 0 : page.embed_codes)) return page.embed_codes;
|
|
120
|
+
if (Array.isArray((_a = page == null ? void 0 : page.content) == null ? void 0 : _a.embed_codes)) return page.content.embed_codes;
|
|
121
|
+
return [];
|
|
122
|
+
}
|
|
115
123
|
function safeJson(value) {
|
|
116
124
|
return JSON.stringify(value).replace(/</g, "\\u003c");
|
|
117
125
|
}
|
package/dist/ssg/prerender.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { WebsiteRead } from '../api/types';
|
|
|
2
2
|
import { RedirectEntry } from './seo';
|
|
3
3
|
import { LlmArtifactsConfig, LlmPageEntry } from './llm-artifacts';
|
|
4
4
|
import { CollectionResolver } from '../api';
|
|
5
|
+
import { EmbedCode } from './embeds';
|
|
5
6
|
type ExcludeRule = string | RegExp | ((path: string) => boolean);
|
|
6
7
|
export interface PrerenderOptions {
|
|
7
8
|
root?: string;
|
|
@@ -74,6 +75,8 @@ export interface RenderResult {
|
|
|
74
75
|
noindex?: boolean;
|
|
75
76
|
/** Per-page LLM extract (title/description/text) for llms.txt artifacts. */
|
|
76
77
|
llm?: LlmPageEntry;
|
|
78
|
+
/** Raw snippets for this page. Site-wide snippets come from website settings. */
|
|
79
|
+
embedCodes?: EmbedCode[];
|
|
77
80
|
}
|
|
78
81
|
export interface PrerenderResult {
|
|
79
82
|
rendered: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prerender.d.ts","sourceRoot":"","sources":["../../src/ssg/prerender.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AACvE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"prerender.d.ts","sourceRoot":"","sources":["../../src/ssg/prerender.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { WebsiteRead } from '../api/types';
|
|
1
|
+
import { EmbedCode, WebsiteRead } from '../api/types';
|
|
2
2
|
import { SeoPageData } from './seo';
|
|
3
3
|
import { BloxDataRegistry, BloxSeoHead } from '../data/useData';
|
|
4
4
|
import { LlmArtifactsConfig, LlmPageEntry } from './llm-artifacts';
|
|
@@ -55,6 +55,7 @@ export declare function renderBloxSsgPage<TApp>(options: {
|
|
|
55
55
|
llm?: LlmPageEntry;
|
|
56
56
|
/** Page-level noindex (CMS page flag or `useSeo({ noindex })`), not site-wide. */
|
|
57
57
|
noindex?: boolean;
|
|
58
|
+
embedCodes?: EmbedCode[];
|
|
58
59
|
}>;
|
|
59
60
|
/** JSON for embedding in a <script> tag — escapes `<` so `</script>` can't break out. */
|
|
60
61
|
export declare function safeJson(value: unknown): string;
|
|
@@ -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,SAAS,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1D,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,CAC1B,IAAI,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,EACpC,QAAQ,CAAC,EAAE,WAAW,GACpB,MAAM,GAAG,SAAS,CAQpB;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;IACjB,UAAU,CAAC,EAAE,SAAS,EAAE,CAAA;CACxB,CAAC,CAkID;AASD,yFAAyF;AACzF,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAE/C"}
|
|
@@ -442,6 +442,28 @@ async function polyfillBloxSsgGlobals(options) {
|
|
|
442
442
|
g.window.location = _win.location;
|
|
443
443
|
g.window.document = _win.document;
|
|
444
444
|
}
|
|
445
|
+
function embedMarkup(codes, placement) {
|
|
446
|
+
if (!(codes == null ? void 0 : codes.length)) return "";
|
|
447
|
+
return codes.filter((code) => {
|
|
448
|
+
var _a;
|
|
449
|
+
return code && code.enabled !== false && code.placement === placement && ((_a = code.code) == null ? void 0 : _a.trim());
|
|
450
|
+
}).map((code) => code.code.trim()).join("\n");
|
|
451
|
+
}
|
|
452
|
+
function injectEmbeds(html, globalCodes, pageCodes) {
|
|
453
|
+
const codes = [...globalCodes ?? [], ...pageCodes ?? []];
|
|
454
|
+
if (!codes.length) return html;
|
|
455
|
+
let out = html;
|
|
456
|
+
const head = embedMarkup(codes, "head_end");
|
|
457
|
+
const bodyStart = embedMarkup(codes, "body_start");
|
|
458
|
+
const bodyEnd = embedMarkup(codes, "body_end");
|
|
459
|
+
if (head) out = out.replace(/<\/head>/i, `${head}
|
|
460
|
+
</head>`);
|
|
461
|
+
if (bodyStart) out = out.replace(/<body(\s[^>]*)?>/i, (match) => `${match}
|
|
462
|
+
${bodyStart}`);
|
|
463
|
+
if (bodyEnd) out = out.replace(/<\/body>/i, `${bodyEnd}
|
|
464
|
+
</body>`);
|
|
465
|
+
return out;
|
|
466
|
+
}
|
|
445
467
|
function isLocaleHome(url, supportedLocales, defaultLocale) {
|
|
446
468
|
const path2 = (url || "/").split("?")[0].split("#")[0];
|
|
447
469
|
const segments = path2.split("/").filter(Boolean);
|
|
@@ -1196,7 +1218,7 @@ async function prerender({
|
|
|
1196
1218
|
);
|
|
1197
1219
|
}
|
|
1198
1220
|
async function renderOne(urlPath) {
|
|
1199
|
-
var _a2;
|
|
1221
|
+
var _a2, _b2;
|
|
1200
1222
|
const {
|
|
1201
1223
|
html,
|
|
1202
1224
|
head = "",
|
|
@@ -1204,7 +1226,8 @@ async function prerender({
|
|
|
1204
1226
|
teleports = {},
|
|
1205
1227
|
lastmod: pageLastmod,
|
|
1206
1228
|
llm: pageLlm,
|
|
1207
|
-
noindex: pageNoindex
|
|
1229
|
+
noindex: pageNoindex,
|
|
1230
|
+
embedCodes = []
|
|
1208
1231
|
} = await serverMod.render(urlPath, {
|
|
1209
1232
|
manifest,
|
|
1210
1233
|
template,
|
|
@@ -1214,14 +1237,18 @@ async function prerender({
|
|
|
1214
1237
|
resolveCache,
|
|
1215
1238
|
llm
|
|
1216
1239
|
});
|
|
1217
|
-
const outHtml =
|
|
1240
|
+
const outHtml = injectEmbeds(
|
|
1241
|
+
injectIntoTemplate(template, head, html, fontPreloads, htmlAttrs, teleports),
|
|
1242
|
+
(_a2 = website == null ? void 0 : website.integrations) == null ? void 0 : _a2.embed_codes,
|
|
1243
|
+
embedCodes
|
|
1244
|
+
);
|
|
1218
1245
|
const outfile = outFilePath(absClient, urlPath, mode);
|
|
1219
1246
|
await fs.mkdir(path.dirname(outfile), { recursive: true });
|
|
1220
1247
|
await fs.writeFile(outfile, outHtml, "utf8");
|
|
1221
1248
|
rendered.push(urlPath);
|
|
1222
1249
|
if (pageLastmod) lastmod[urlPath] = pageLastmod;
|
|
1223
1250
|
if (llmEnabled && pageLlm) llmPages.push(pageLlm);
|
|
1224
|
-
const noindexForPage = pageNoindex ?? (!((
|
|
1251
|
+
const noindexForPage = pageNoindex ?? (!((_b2 = website == null ? void 0 : website.seo) == null ? void 0 : _b2.noindex) && /<meta[^>]+name=["']robots["'][^>]*noindex/i.test(head));
|
|
1225
1252
|
if (noindexForPage) noindexPaths.add(urlPath);
|
|
1226
1253
|
if (crawl) {
|
|
1227
1254
|
for (const p of discoverInternalLinks(outHtml)) {
|
|
@@ -465,6 +465,28 @@ async function polyfillBloxSsgGlobals(options) {
|
|
|
465
465
|
g.window.location = _win.location;
|
|
466
466
|
g.window.document = _win.document;
|
|
467
467
|
}
|
|
468
|
+
function embedMarkup(codes, placement) {
|
|
469
|
+
if (!(codes == null ? void 0 : codes.length)) return "";
|
|
470
|
+
return codes.filter((code) => {
|
|
471
|
+
var _a;
|
|
472
|
+
return code && code.enabled !== false && code.placement === placement && ((_a = code.code) == null ? void 0 : _a.trim());
|
|
473
|
+
}).map((code) => code.code.trim()).join("\n");
|
|
474
|
+
}
|
|
475
|
+
function injectEmbeds(html, globalCodes, pageCodes) {
|
|
476
|
+
const codes = [...globalCodes ?? [], ...pageCodes ?? []];
|
|
477
|
+
if (!codes.length) return html;
|
|
478
|
+
let out = html;
|
|
479
|
+
const head = embedMarkup(codes, "head_end");
|
|
480
|
+
const bodyStart = embedMarkup(codes, "body_start");
|
|
481
|
+
const bodyEnd = embedMarkup(codes, "body_end");
|
|
482
|
+
if (head) out = out.replace(/<\/head>/i, `${head}
|
|
483
|
+
</head>`);
|
|
484
|
+
if (bodyStart) out = out.replace(/<body(\s[^>]*)?>/i, (match) => `${match}
|
|
485
|
+
${bodyStart}`);
|
|
486
|
+
if (bodyEnd) out = out.replace(/<\/body>/i, `${bodyEnd}
|
|
487
|
+
</body>`);
|
|
488
|
+
return out;
|
|
489
|
+
}
|
|
468
490
|
function isLocaleHome(url, supportedLocales, defaultLocale) {
|
|
469
491
|
const path2 = (url || "/").split("?")[0].split("#")[0];
|
|
470
492
|
const segments = path2.split("/").filter(Boolean);
|
|
@@ -1219,7 +1241,7 @@ async function prerender({
|
|
|
1219
1241
|
);
|
|
1220
1242
|
}
|
|
1221
1243
|
async function renderOne(urlPath) {
|
|
1222
|
-
var _a2;
|
|
1244
|
+
var _a2, _b2;
|
|
1223
1245
|
const {
|
|
1224
1246
|
html,
|
|
1225
1247
|
head = "",
|
|
@@ -1227,7 +1249,8 @@ async function prerender({
|
|
|
1227
1249
|
teleports = {},
|
|
1228
1250
|
lastmod: pageLastmod,
|
|
1229
1251
|
llm: pageLlm,
|
|
1230
|
-
noindex: pageNoindex
|
|
1252
|
+
noindex: pageNoindex,
|
|
1253
|
+
embedCodes = []
|
|
1231
1254
|
} = await serverMod.render(urlPath, {
|
|
1232
1255
|
manifest,
|
|
1233
1256
|
template,
|
|
@@ -1237,14 +1260,18 @@ async function prerender({
|
|
|
1237
1260
|
resolveCache,
|
|
1238
1261
|
llm
|
|
1239
1262
|
});
|
|
1240
|
-
const outHtml =
|
|
1263
|
+
const outHtml = injectEmbeds(
|
|
1264
|
+
injectIntoTemplate(template, head, html, fontPreloads, htmlAttrs, teleports),
|
|
1265
|
+
(_a2 = website == null ? void 0 : website.integrations) == null ? void 0 : _a2.embed_codes,
|
|
1266
|
+
embedCodes
|
|
1267
|
+
);
|
|
1241
1268
|
const outfile = outFilePath(absClient, urlPath, mode);
|
|
1242
1269
|
await fs.mkdir(path.dirname(outfile), { recursive: true });
|
|
1243
1270
|
await fs.writeFile(outfile, outHtml, "utf8");
|
|
1244
1271
|
rendered.push(urlPath);
|
|
1245
1272
|
if (pageLastmod) lastmod[urlPath] = pageLastmod;
|
|
1246
1273
|
if (llmEnabled && pageLlm) llmPages.push(pageLlm);
|
|
1247
|
-
const noindexForPage = pageNoindex ?? (!((
|
|
1274
|
+
const noindexForPage = pageNoindex ?? (!((_b2 = website == null ? void 0 : website.seo) == null ? void 0 : _b2.noindex) && /<meta[^>]+name=["']robots["'][^>]*noindex/i.test(head));
|
|
1248
1275
|
if (noindexForPage) noindexPaths.add(urlPath);
|
|
1249
1276
|
if (crawl) {
|
|
1250
1277
|
for (const p of discoverInternalLinks(outHtml)) {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@bagelink/blox",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "1.20.
|
|
4
|
+
"version": "1.20.17",
|
|
5
5
|
"description": "Blox page builder library for drag-and-drop page building and static data management",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Bagel Studio",
|
|
@@ -112,7 +112,7 @@
|
|
|
112
112
|
"vue": "^3.5.43",
|
|
113
113
|
"vue-router": "^4.6.4",
|
|
114
114
|
"vue-tsc": "^2.2.12",
|
|
115
|
-
"@bagelink/sdk": "1.20.
|
|
115
|
+
"@bagelink/sdk": "1.20.17"
|
|
116
116
|
},
|
|
117
117
|
"dependencies": {
|
|
118
118
|
"magic-string": "^0.30.21",
|