blume 1.6.6 → 1.7.0
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/CHANGELOG.md +17 -0
- package/dist/cli/{chunk-nyqzjdhj.js → chunk-0qhq7b8q.js} +5 -5
- package/dist/cli/{chunk-cnvm6k3e.js → chunk-18tjv4f7.js} +11 -11
- package/dist/cli/{chunk-62qsssnh.js → chunk-5d4q7121.js} +401 -145
- package/dist/cli/chunk-5d4q7121.js.map +40 -0
- package/dist/cli/{chunk-ag1zyr5x.js → chunk-9qs6acpw.js} +11 -11
- package/dist/cli/{chunk-aerwpe14.js → chunk-agy5rzxy.js} +98 -15
- package/dist/cli/chunk-agy5rzxy.js.map +15 -0
- package/dist/cli/{chunk-x1vrdjyk.js → chunk-cfw6x4rm.js} +5 -5
- package/dist/cli/{chunk-bawgnt8x.js → chunk-ckh3a410.js} +3 -3
- package/dist/cli/{chunk-j00ezcg5.js → chunk-drke6t0h.js} +9 -9
- package/dist/cli/{chunk-3k0kzs6d.js → chunk-j6pxe0dt.js} +2 -2
- package/dist/cli/{chunk-n0y172hf.js → chunk-jk1zwka1.js} +4 -4
- package/dist/cli/{chunk-f75cqye8.js → chunk-jxkxjsc1.js} +10 -10
- package/dist/cli/{chunk-s4k1pnvf.js → chunk-kwx90v78.js} +11 -11
- package/dist/cli/{chunk-9sh49q0h.js → chunk-n0nyat6g.js} +2 -2
- package/dist/cli/{chunk-wkq5tbtq.js → chunk-qq9nm3qd.js} +3 -3
- package/dist/cli/{chunk-etsqspj6.js → chunk-s102bysw.js} +2 -2
- package/dist/cli/{chunk-wb067mv3.js → chunk-s5dsk8bj.js} +18 -7
- package/dist/cli/chunk-s5dsk8bj.js.map +13 -0
- package/dist/cli/{chunk-m3p3wahd.js → chunk-tnskyrej.js} +4 -4
- package/dist/cli/{chunk-vv237fp3.js → chunk-v2ymm99c.js} +26 -12
- package/dist/cli/{chunk-vv237fp3.js.map → chunk-v2ymm99c.js.map} +3 -3
- package/dist/cli/{chunk-5yvt556e.js → chunk-v5mm027v.js} +2 -2
- package/dist/cli/{chunk-vv3f8mb6.js → chunk-xv91q4nm.js} +24 -24
- package/dist/cli/{chunk-vv3f8mb6.js.map → chunk-xv91q4nm.js.map} +3 -3
- package/dist/cli/{chunk-0ewz4trd.js → chunk-y3g15rvv.js} +6 -6
- package/dist/cli/{chunk-tc89yh2r.js → chunk-ye9zdkgv.js} +2 -2
- package/dist/cli/{chunk-n4qjabmt.js → chunk-ynacq3ev.js} +4 -4
- package/dist/cli/{chunk-s4jn7f1q.js → chunk-zr3ygrq3.js} +2 -2
- package/dist/cli/index.js +13 -13
- package/dist/types/components/layout/nav-utils.d.ts +33 -1
- package/dist/types/theme/fonts.d.ts +22 -22
- package/docs/02-deployment.mdx +21 -0
- package/docs/content/navigation.mdx +2 -0
- package/docs/content/syntax.mdx +1 -1
- package/docs/discoverability/open-graph.mdx +4 -0
- package/package.json +1 -1
- package/src/astro/generate.ts +141 -5
- package/src/astro/integration.ts +12 -1
- package/src/astro/module-types.ts +9 -0
- package/src/astro/templates.ts +171 -11
- package/src/cli/commands/build.ts +28 -0
- package/src/components/Icon.astro +24 -0
- package/src/components/icon-sprite-middleware.ts +41 -0
- package/src/components/icon-sprite.ts +93 -0
- package/src/components/layout/IconSprite.astro +11 -0
- package/src/components/layout/NavTree.astro +156 -188
- package/src/components/layout/NavTreeCache.astro +45 -0
- package/src/components/layout/NavTreeScript.astro +256 -0
- package/src/components/layout/PageActions.astro +11 -5
- package/src/components/layout/PageLayout.astro +7 -0
- package/src/components/layout/ReferenceLayout.astro +7 -0
- package/src/components/layout/RootLayout.astro +30 -2
- package/src/components/layout/nav-cache.ts +49 -0
- package/src/components/layout/nav-utils.ts +69 -1
- package/src/markdown/language-icon.ts +64 -20
- package/src/markdown/mermaid.ts +11 -0
- package/src/og/cache.ts +236 -0
- package/src/og/card.ts +12 -4
- package/src/og/index.ts +8 -1
- package/src/registry/eject.ts +23 -8
- package/src/theme/entry.ts +41 -7
- package/src/theme/fonts.ts +30 -23
- package/dist/cli/chunk-62qsssnh.js.map +0 -36
- package/dist/cli/chunk-aerwpe14.js.map +0 -15
- package/dist/cli/chunk-wb067mv3.js.map +0 -13
- /package/dist/cli/{chunk-nyqzjdhj.js.map → chunk-0qhq7b8q.js.map} +0 -0
- /package/dist/cli/{chunk-cnvm6k3e.js.map → chunk-18tjv4f7.js.map} +0 -0
- /package/dist/cli/{chunk-ag1zyr5x.js.map → chunk-9qs6acpw.js.map} +0 -0
- /package/dist/cli/{chunk-x1vrdjyk.js.map → chunk-cfw6x4rm.js.map} +0 -0
- /package/dist/cli/{chunk-bawgnt8x.js.map → chunk-ckh3a410.js.map} +0 -0
- /package/dist/cli/{chunk-j00ezcg5.js.map → chunk-drke6t0h.js.map} +0 -0
- /package/dist/cli/{chunk-3k0kzs6d.js.map → chunk-j6pxe0dt.js.map} +0 -0
- /package/dist/cli/{chunk-n0y172hf.js.map → chunk-jk1zwka1.js.map} +0 -0
- /package/dist/cli/{chunk-f75cqye8.js.map → chunk-jxkxjsc1.js.map} +0 -0
- /package/dist/cli/{chunk-s4k1pnvf.js.map → chunk-kwx90v78.js.map} +0 -0
- /package/dist/cli/{chunk-9sh49q0h.js.map → chunk-n0nyat6g.js.map} +0 -0
- /package/dist/cli/{chunk-wkq5tbtq.js.map → chunk-qq9nm3qd.js.map} +0 -0
- /package/dist/cli/{chunk-etsqspj6.js.map → chunk-s102bysw.js.map} +0 -0
- /package/dist/cli/{chunk-m3p3wahd.js.map → chunk-tnskyrej.js.map} +0 -0
- /package/dist/cli/{chunk-5yvt556e.js.map → chunk-v5mm027v.js.map} +0 -0
- /package/dist/cli/{chunk-0ewz4trd.js.map → chunk-y3g15rvv.js.map} +0 -0
- /package/dist/cli/{chunk-tc89yh2r.js.map → chunk-ye9zdkgv.js.map} +0 -0
- /package/dist/cli/{chunk-n4qjabmt.js.map → chunk-ynacq3ev.js.map} +0 -0
- /package/dist/cli/{chunk-s4jn7f1q.js.map → chunk-zr3ygrq3.js.map} +0 -0
|
@@ -7,37 +7,37 @@ import {
|
|
|
7
7
|
} from "./chunk-bcy492zc.js";
|
|
8
8
|
import {
|
|
9
9
|
prepareProject
|
|
10
|
-
} from "./chunk-
|
|
11
|
-
import"./chunk-
|
|
10
|
+
} from "./chunk-0qhq7b8q.js";
|
|
11
|
+
import"./chunk-n0nyat6g.js";
|
|
12
12
|
import"./chunk-btfr9yvw.js";
|
|
13
13
|
import {
|
|
14
14
|
DevLockHeldError,
|
|
15
15
|
acquireDevLock,
|
|
16
16
|
describeDevLock,
|
|
17
17
|
updateDevLockPort
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-ye9zdkgv.js";
|
|
19
19
|
import {
|
|
20
20
|
generateRuntime,
|
|
21
21
|
refreshBlumeContent,
|
|
22
22
|
showBlumeErrorOverlay
|
|
23
|
-
} from "./chunk-
|
|
24
|
-
import"./chunk-
|
|
23
|
+
} from "./chunk-5d4q7121.js";
|
|
24
|
+
import"./chunk-ynacq3ev.js";
|
|
25
25
|
import"./chunk-pxj10x8y.js";
|
|
26
26
|
import"./chunk-sbdqrjbb.js";
|
|
27
|
-
import"./chunk-
|
|
27
|
+
import"./chunk-v5mm027v.js";
|
|
28
28
|
import"./chunk-ev67ycx0.js";
|
|
29
29
|
import"./chunk-vt8fgygt.js";
|
|
30
30
|
import"./chunk-3r94j3tc.js";
|
|
31
|
-
import"./chunk-
|
|
32
|
-
import"./chunk-
|
|
31
|
+
import"./chunk-agy5rzxy.js";
|
|
32
|
+
import"./chunk-j6pxe0dt.js";
|
|
33
33
|
import"./chunk-vxv4x1n8.js";
|
|
34
34
|
import"./chunk-wd27zjcz.js";
|
|
35
35
|
import {
|
|
36
36
|
scanProject
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-s102bysw.js";
|
|
38
38
|
import {
|
|
39
39
|
resolveRuntimeDir
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-xv91q4nm.js";
|
|
41
41
|
import"./chunk-27gtm2ym.js";
|
|
42
42
|
import"./chunk-4xyggvgf.js";
|
|
43
43
|
import"./chunk-6kzzpsx8.js";
|
|
@@ -173,4 +173,4 @@ export {
|
|
|
173
173
|
};
|
|
174
174
|
|
|
175
175
|
//# debugId=EE16C622AD2E2BB164756E2164756E21
|
|
176
|
-
//# sourceMappingURL=chunk-
|
|
176
|
+
//# sourceMappingURL=chunk-9qs6acpw.js.map
|
|
@@ -3,19 +3,19 @@ import {
|
|
|
3
3
|
API_CATALOG_PATH,
|
|
4
4
|
OPENAPI_PATH,
|
|
5
5
|
hasApiCatalog
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-j6pxe0dt.js";
|
|
7
7
|
import {
|
|
8
8
|
searchProviderMeta
|
|
9
9
|
} from "./chunk-wd27zjcz.js";
|
|
10
10
|
import {
|
|
11
11
|
BLUME_IGNORE_DIRS,
|
|
12
12
|
TOC_HIDDEN_KEY
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-s102bysw.js";
|
|
14
14
|
import {
|
|
15
15
|
buildFontEntries,
|
|
16
16
|
fontLocaleCodes,
|
|
17
17
|
hasScalarReferences
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-xv91q4nm.js";
|
|
19
19
|
import {
|
|
20
20
|
normalizeBasePath,
|
|
21
21
|
trimChar,
|
|
@@ -279,6 +279,7 @@ var resolveCloudflareAdapterArgs = (context) => {
|
|
|
279
279
|
};
|
|
280
280
|
var resolveSessionOption = (deployment) => deployment.output === "server" && deployment.adapter === "cloudflare" ? `
|
|
281
281
|
session: false,` : "";
|
|
282
|
+
var astroFontWeights = (weights) => JSON.stringify(weights).replaceAll(/(?<min>\d+)\.\.(?<max>\d+)/gu, "$<min> $<max>");
|
|
282
283
|
var astroConfigImportLine = (options) => {
|
|
283
284
|
const names = ["defineConfig"];
|
|
284
285
|
if (options.hasFonts) {
|
|
@@ -374,16 +375,17 @@ const blumeConfig = await loadBlumeConfig(resolve(dirname(fileURLToPath(import.m
|
|
|
374
375
|
};
|
|
375
376
|
var renderImageOption = (config) => config.image.domains.length > 0 || config.image.remotePatterns.length > 0 ? `
|
|
376
377
|
image: ${JSON.stringify(config.image)},` : "";
|
|
378
|
+
var ALL_CLIENT_FEATURES = { epub: true, mermaid: true };
|
|
377
379
|
var resolveOptimizeDeps = (options) => {
|
|
378
|
-
const { context } = options;
|
|
380
|
+
const { context, features } = options;
|
|
379
381
|
const optimizeDepsEntries = [
|
|
380
382
|
...context.pagesRoot ? [`${context.pagesRoot}/**/*.astro`] : [],
|
|
381
383
|
`${context.root}/islands/**/*.{jsx,svelte,tsx,vue}`,
|
|
382
384
|
...[...new Set(Object.values(options.aliases ?? {}))].toSorted().map((dir) => `${dir}/**/*.{astro,jsx,svelte,tsx,vue}`)
|
|
383
385
|
];
|
|
384
386
|
const optimizeDepsInclude = [
|
|
385
|
-
"blume > mermaid",
|
|
386
|
-
"blume > epub-gen-memory/bundle",
|
|
387
|
+
...features.mermaid ? ["blume > mermaid"] : [],
|
|
388
|
+
...features.epub ? ["blume > epub-gen-memory/bundle"] : [],
|
|
387
389
|
...options.needsReact && options.reactCompilerPath ? ["react/compiler-runtime"] : []
|
|
388
390
|
];
|
|
389
391
|
return { optimizeDepsEntries, optimizeDepsInclude };
|
|
@@ -414,6 +416,8 @@ var astroConfigTemplate = (options) => {
|
|
|
414
416
|
contentRoutes,
|
|
415
417
|
examplesPath,
|
|
416
418
|
examplesThemePath,
|
|
419
|
+
features = ALL_CLIENT_FEATURES,
|
|
420
|
+
featuresPath,
|
|
417
421
|
generatedModulesDir,
|
|
418
422
|
needsSvelte,
|
|
419
423
|
needsVue,
|
|
@@ -431,6 +435,7 @@ var astroConfigTemplate = (options) => {
|
|
|
431
435
|
const { optimizeDepsEntries, optimizeDepsInclude } = resolveOptimizeDeps({
|
|
432
436
|
aliases: options.aliases,
|
|
433
437
|
context,
|
|
438
|
+
features,
|
|
434
439
|
needsReact,
|
|
435
440
|
reactCompilerPath: options.reactCompilerPath
|
|
436
441
|
});
|
|
@@ -484,7 +489,7 @@ var astroConfigTemplate = (options) => {
|
|
|
484
489
|
isAbsolute(variant.src) ? variant.src : join2(context.root, variant.src)
|
|
485
490
|
]
|
|
486
491
|
};
|
|
487
|
-
}))} } }` : `{ provider: fontProviders.${font.provider}(), name: ${JSON.stringify(font.name)}, cssVariable: ${JSON.stringify(font.cssVariable)}, weights: ${
|
|
492
|
+
}))} } }` : `{ provider: fontProviders.${font.provider}(), name: ${JSON.stringify(font.name)}, cssVariable: ${JSON.stringify(font.cssVariable)}, weights: ${astroFontWeights(font.weights)}, subsets: ${JSON.stringify(font.subsets)}, fallbacks: ${JSON.stringify(font.fallbacks)} }`).join(", ")}],` : "";
|
|
488
493
|
const defineConfigImport = astroConfigImportLine({
|
|
489
494
|
hasFonts: fontEntries.length > 0
|
|
490
495
|
});
|
|
@@ -536,7 +541,8 @@ var astroConfigTemplate = (options) => {
|
|
|
536
541
|
userIntegrationSpread
|
|
537
542
|
} = renderIntegrationBridge(options.integrationBridge);
|
|
538
543
|
return `// Generated by Blume. Do not edit; this file is recreated on each run.
|
|
539
|
-
${configSourceMarker}${userConfigImports}
|
|
544
|
+
${configSourceMarker}${userConfigImports}import { availableParallelism } from "node:os";
|
|
545
|
+
${defineConfigImport}
|
|
540
546
|
import mdx from "@astrojs/mdx";
|
|
541
547
|
import tailwindcss from "@tailwindcss/vite";
|
|
542
548
|
import { blumeMarkdownProcessor, blumeMdxProcessor, blumeShikiTransformers, blumeTwoslashTransformer } from "blume/markdown";
|
|
@@ -579,6 +585,12 @@ ${userConfigSetup}export default defineConfig({
|
|
|
579
585
|
// request latency behind the user's intent, so most navigations swap
|
|
580
586
|
// instantly.
|
|
581
587
|
prefetch: { prefetchAll: true },
|
|
588
|
+
// Prerender several pages at once. Rendering is single-threaded, but a
|
|
589
|
+
// page's OG card renders on a native thread and its HTML is written
|
|
590
|
+
// asynchronously, so the main thread would otherwise idle behind each
|
|
591
|
+
// page's off-thread work. Capped at 8: the gain flattens there and beyond it
|
|
592
|
+
// the overlap only adds memory.
|
|
593
|
+
build: { concurrency: Math.min(8, availableParallelism()) },
|
|
582
594
|
vite: {${viteCacheOption}
|
|
583
595
|
plugins: [${runtimeModulesPluginEntry}tailwindcss(), includeHmrPlugin(${JSON.stringify(`${context.outDir}/src/generated/includes.json`)}), prerenderDepsPlugin()],
|
|
584
596
|
// Everything hydration can reach must be part of the dev dep optimizer's
|
|
@@ -629,6 +641,7 @@ ${userConfigSetup}export default defineConfig({
|
|
|
629
641
|
"blume:ask": ${JSON.stringify(askPath)},
|
|
630
642
|
"blume:examples": ${JSON.stringify(examplesPath)},
|
|
631
643
|
"blume:examples-theme": ${JSON.stringify(examplesThemePath)},
|
|
644
|
+
"blume:features": ${JSON.stringify(featuresPath)},
|
|
632
645
|
"blume:search-client": ${JSON.stringify(searchClientPath)},
|
|
633
646
|
"blume:theme": ${JSON.stringify(themePath)},${runtimeModuleAliasLines}${userAliasLines}
|
|
634
647
|
},
|
|
@@ -888,6 +901,20 @@ var hostedSearchOptions = (search) => {
|
|
|
888
901
|
}
|
|
889
902
|
}
|
|
890
903
|
};
|
|
904
|
+
var featuresTemplate = (features) => `// Generated by Blume. Do not edit.
|
|
905
|
+
//
|
|
906
|
+
// The client features this site uses. A feature no page needs stays out of
|
|
907
|
+
// the module graph entirely: its loader is null and its library never enters
|
|
908
|
+
// the client bundle.
|
|
909
|
+
|
|
910
|
+
/** Registers the <blume-mermaid> element; null when no page has a mermaid fence. */
|
|
911
|
+
export const loadMermaid: (() => Promise<unknown>) | null = ${features.mermaid ? '() => import("blume/components/content/mermaid-element.ts")' : "null"};
|
|
912
|
+
|
|
913
|
+
/** The EPUB generator's browser bundle; null when export.epub is off. */
|
|
914
|
+
export const loadEpub:
|
|
915
|
+
| (() => Promise<typeof import("epub-gen-memory/bundle")>)
|
|
916
|
+
| null = ${features.epub ? '() => import("epub-gen-memory/bundle")' : "null"};
|
|
917
|
+
`;
|
|
891
918
|
var searchClientTemplate = (config) => {
|
|
892
919
|
const { search } = config;
|
|
893
920
|
if (search.provider === "orama" || search.provider === "flexsearch") {
|
|
@@ -1116,9 +1143,58 @@ export function GET({ props }: { props: { section: string } }) {
|
|
|
1116
1143
|
});
|
|
1117
1144
|
}
|
|
1118
1145
|
`;
|
|
1146
|
+
var navFragmentTemplate = () => `---
|
|
1147
|
+
// Generated by Blume. Do not edit.
|
|
1148
|
+
import NavTree from "blume/components/layout/NavTree.astro";
|
|
1149
|
+
import { withBase } from "blume/components/islands/base-path.ts";
|
|
1150
|
+
import { navGroupIds, navVariants } from "blume/components/layout/nav-utils.ts";
|
|
1151
|
+
import type { NavNode } from "blume/core/types.ts";
|
|
1152
|
+
import data from "blume:data";
|
|
1153
|
+
|
|
1154
|
+
export const prerender = true;
|
|
1155
|
+
// A partial: no doctype, head, or script/style injection — the rows only.
|
|
1156
|
+
export const partial = true;
|
|
1157
|
+
|
|
1158
|
+
// Only imports are in scope here (Astro hoists getStaticPaths), which is why
|
|
1159
|
+
// the variant walk lives in nav-utils.
|
|
1160
|
+
export function getStaticPaths() {
|
|
1161
|
+
return navVariants(data).flatMap(({ locale, navigation, version }) =>
|
|
1162
|
+
[...navGroupIds(navigation.sidebar)]
|
|
1163
|
+
.filter(([node]) => (node.display ?? "flat") !== "flat")
|
|
1164
|
+
.map(([, id]) => ({ params: { id, locale, version } }))
|
|
1165
|
+
);
|
|
1166
|
+
}
|
|
1167
|
+
|
|
1168
|
+
const { id, locale, version } = Astro.params;
|
|
1169
|
+
const variant = navVariants(data).find(
|
|
1170
|
+
(entry) => entry.version === version && entry.locale === locale
|
|
1171
|
+
);
|
|
1172
|
+
const ids = variant
|
|
1173
|
+
? navGroupIds(variant.navigation.sidebar)
|
|
1174
|
+
: new Map<NavNode, string>();
|
|
1175
|
+
const node = [...ids].find(([, groupId]) => groupId === id)?.[0];
|
|
1176
|
+
if (!(variant && node && node.kind === "group")) {
|
|
1177
|
+
return new Response(null, { status: 404 });
|
|
1178
|
+
}
|
|
1179
|
+
const strings =
|
|
1180
|
+
locale === "default" ? data.ui.nav : (data.uiByLocale[locale] ?? data.ui).nav;
|
|
1181
|
+
const fragmentBase = withBase(\`/blume-nav/\${version}/\${locale}\`);
|
|
1182
|
+
---
|
|
1183
|
+
|
|
1184
|
+
<NavTree
|
|
1185
|
+
currentRoute=""
|
|
1186
|
+
depth={1}
|
|
1187
|
+
fragmentBase={fragmentBase}
|
|
1188
|
+
idPrefix={id}
|
|
1189
|
+
ids={ids}
|
|
1190
|
+
items={node.children}
|
|
1191
|
+
root={false}
|
|
1192
|
+
strings={strings}
|
|
1193
|
+
/>
|
|
1194
|
+
`;
|
|
1119
1195
|
var ogEndpointTemplate = (customRoutes = [], og = {}, includeChangelog = false) => `// Generated by Blume. Do not edit.
|
|
1120
|
-
import {
|
|
1121
|
-
import type { OgFont, OgFontFamilies } from "blume/og";
|
|
1196
|
+
import { cachedOgImage } from "blume/og";
|
|
1197
|
+
import type { OgCache, OgFont, OgFontFamilies } from "blume/og";
|
|
1122
1198
|
import data from "blume:data";
|
|
1123
1199
|
|
|
1124
1200
|
export const prerender = true;
|
|
@@ -1135,6 +1211,12 @@ const customRoutes: { slug: string; title: string }[] = ${JSON.stringify(customR
|
|
|
1135
1211
|
const fonts: OgFont[] = ${JSON.stringify(og.fonts ?? [])};
|
|
1136
1212
|
const families: OgFontFamilies | undefined = ${og.families ? JSON.stringify(og.families) : "undefined"};
|
|
1137
1213
|
|
|
1214
|
+
// Rendered cards are kept on disk between builds, keyed by everything that
|
|
1215
|
+
// decides their pixels, so a rebuild renders only the cards whose title,
|
|
1216
|
+
// description, branding, or fonts changed. The directory is a build-machine
|
|
1217
|
+
// path, baked in for the same reason as the local font paths above.
|
|
1218
|
+
const cache: OgCache | undefined = ${og.cache ? JSON.stringify(og.cache) : "undefined"};
|
|
1219
|
+
|
|
1138
1220
|
// A page's own description (its \`seo.description\`, else \`description\`) is
|
|
1139
1221
|
// the card subtitle, so the image says what the page's og:description says.
|
|
1140
1222
|
// Pages without one fall back to the site-wide subtitle at render time.
|
|
@@ -1190,7 +1272,7 @@ const repoSlug = data.config.github
|
|
|
1190
1272
|
: undefined;
|
|
1191
1273
|
|
|
1192
1274
|
export async function GET({ props }: { props: CardProps }) {
|
|
1193
|
-
const png = await
|
|
1275
|
+
const png = await cachedOgImage(cache, {
|
|
1194
1276
|
accent: data.config.og.palette?.accent ?? data.config.theme.accent.light,
|
|
1195
1277
|
brand: data.config.title,
|
|
1196
1278
|
description: props.description ?? data.config.og.description,
|
|
@@ -1625,7 +1707,8 @@ const LayoutComponent = resolveSlot(layoutOverrides.Layout, RootLayout);
|
|
|
1625
1707
|
editUrl={editUrl}
|
|
1626
1708
|
feedback={data.config.feedback}
|
|
1627
1709
|
exportPdf={${options.exportPdf}}
|
|
1628
|
-
exportEpub={${options.exportEpub}}
|
|
1710
|
+
exportEpub={${options.exportEpub}}${options.navFragments ? `
|
|
1711
|
+
navFragmentBase={withBase(\`/blume-nav/\${version || "current"}/\${i18n ? locale : "default"}\`)}` : ""}
|
|
1629
1712
|
openInChat={data.config.openInChat}
|
|
1630
1713
|
feeds={data.feeds}
|
|
1631
1714
|
discovery={data.config.discovery}
|
|
@@ -2364,7 +2447,7 @@ var runtimeTsconfigTemplate = () => `${JSON.stringify({
|
|
|
2364
2447
|
}, null, 2)}
|
|
2365
2448
|
`;
|
|
2366
2449
|
|
|
2367
|
-
export { ADAPTER_IGNORE_DIRS, servesClientSubdir, deployStaticDir, surfaceAdapterOutput, resolveAskBackend, askBackendRuntimeDep, buildHomeLinkHeader, platformRedirects, publishRuntimeModules, runtimeDependencies, astroConfigTemplate, stagedContentDir, contentConfigTemplate, askEndpointTemplate, askComponentTemplate, searchEndpointTemplate, searchClientTemplate, mixedbreadSearchEndpointTemplate, rawMarkdownEndpointTemplate, contentAssetsEndpointTemplate, mcpPageFile, mcpEndpointTemplate, playgroundProxyTemplate, staticJsonEndpointTemplate, rssEndpointTemplate, ogEndpointTemplate, scalarReferenceTemplate, catchAllPageTemplate, changelogIndexTemplate, notFoundPageTemplate, notFoundMarkdownTemplate, notFoundJsonTemplate, apiPagesIndexTemplate, apiPageTemplate, apiNavigationTemplate, apiSearchTemplate, apiNotFoundTemplate, islandWrapperTemplate, islandMapTemplate, exampleSlug, exampleWrapperTemplate, examplesRouteBase, exampleMapTemplate, examplesPageTemplate, runtimePackageTemplate, runtimeTsconfigTemplate };
|
|
2450
|
+
export { ADAPTER_IGNORE_DIRS, servesClientSubdir, deployStaticDir, surfaceAdapterOutput, resolveAskBackend, askBackendRuntimeDep, buildHomeLinkHeader, platformRedirects, publishRuntimeModules, runtimeDependencies, astroConfigTemplate, stagedContentDir, contentConfigTemplate, askEndpointTemplate, askComponentTemplate, searchEndpointTemplate, featuresTemplate, searchClientTemplate, mixedbreadSearchEndpointTemplate, rawMarkdownEndpointTemplate, contentAssetsEndpointTemplate, mcpPageFile, mcpEndpointTemplate, playgroundProxyTemplate, staticJsonEndpointTemplate, rssEndpointTemplate, navFragmentTemplate, ogEndpointTemplate, scalarReferenceTemplate, catchAllPageTemplate, changelogIndexTemplate, notFoundPageTemplate, notFoundMarkdownTemplate, notFoundJsonTemplate, apiPagesIndexTemplate, apiPageTemplate, apiNavigationTemplate, apiSearchTemplate, apiNotFoundTemplate, islandWrapperTemplate, islandMapTemplate, exampleSlug, exampleWrapperTemplate, examplesRouteBase, exampleMapTemplate, examplesPageTemplate, runtimePackageTemplate, runtimeTsconfigTemplate };
|
|
2368
2451
|
|
|
2369
|
-
//# debugId=
|
|
2370
|
-
//# sourceMappingURL=chunk-
|
|
2452
|
+
//# debugId=539E38867287181364756E2164756E21
|
|
2453
|
+
//# sourceMappingURL=chunk-agy5rzxy.js.map
|