blume 2.2.2 → 2.2.3
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 +10 -0
- package/dist/cli/{chunk-080mfch6.js → chunk-0wt5amrk.js} +15 -15
- package/dist/cli/{chunk-k45sq16q.js → chunk-0xyedh7k.js} +39 -23
- package/dist/cli/{chunk-k45sq16q.js.map → chunk-0xyedh7k.js.map} +3 -3
- package/dist/cli/{chunk-f260jdrn.js → chunk-0ynr0fr7.js} +5 -5
- package/dist/cli/{chunk-e1n41w9m.js → chunk-1ay3hzn0.js} +3 -3
- package/dist/cli/{chunk-b680sv30.js → chunk-2f6btenb.js} +10 -8
- package/dist/cli/chunk-2f6btenb.js.map +13 -0
- package/dist/cli/{chunk-gwy55cx3.js → chunk-426rytg6.js} +2 -2
- package/dist/cli/{chunk-9h8mh2tk.js → chunk-5f96yq2c.js} +1 -1
- package/dist/cli/{chunk-x60e15st.js → chunk-5xq12jz7.js} +17 -17
- package/dist/cli/{chunk-x7bh6d9j.js → chunk-6xag1c83.js} +4 -4
- package/dist/cli/{chunk-487b95qy.js → chunk-88q28zav.js} +41 -25
- package/dist/cli/{chunk-487b95qy.js.map → chunk-88q28zav.js.map} +3 -3
- package/dist/cli/{chunk-yg8ckc3g.js → chunk-88zkpg89.js} +2 -2
- package/dist/cli/{chunk-ppa6mg4d.js → chunk-8fm3b4vm.js} +6 -6
- package/dist/cli/{chunk-rtvgmg2j.js → chunk-8h2t2vyj.js} +2 -2
- package/dist/cli/{chunk-2ssh60qh.js → chunk-982qfeny.js} +6 -6
- package/dist/cli/{chunk-t2h8pwy1.js → chunk-9emfspcp.js} +4 -4
- package/dist/cli/{chunk-9jqmq5hv.js → chunk-akj2p7k1.js} +6 -6
- package/dist/cli/{chunk-beb0z983.js → chunk-b664x65a.js} +16 -16
- package/dist/cli/{chunk-kmswjxj9.js → chunk-b7n58hgj.js} +3 -3
- package/dist/cli/{chunk-fnxgtjeq.js → chunk-c0qddrxr.js} +1 -1
- package/dist/cli/{chunk-p834rkcn.js → chunk-g62vnvaw.js} +5 -5
- package/dist/cli/{chunk-zxd5jrgx.js → chunk-gc7knd2s.js} +76 -34
- package/dist/cli/{chunk-zxd5jrgx.js.map → chunk-gc7knd2s.js.map} +4 -4
- package/dist/cli/{chunk-r5nm9w0c.js → chunk-hwjspffr.js} +105 -36
- package/dist/cli/{chunk-r5nm9w0c.js.map → chunk-hwjspffr.js.map} +11 -10
- package/dist/cli/{chunk-40vk8kgf.js → chunk-p4fe7tax.js} +7 -7
- package/dist/cli/{chunk-34wap3ed.js → chunk-psg2za5z.js} +3 -3
- package/dist/cli/{chunk-hktq4j5r.js → chunk-pxp1y6yz.js} +16 -10
- package/dist/cli/{chunk-hktq4j5r.js.map → chunk-pxp1y6yz.js.map} +4 -4
- package/dist/cli/{chunk-qcyxkj44.js → chunk-qax1aekz.js} +43 -17
- package/dist/cli/chunk-qax1aekz.js.map +15 -0
- package/dist/cli/{chunk-h0qwdbem.js → chunk-r5ajrw1g.js} +2 -2
- package/dist/cli/{chunk-q1wwrxzw.js → chunk-rc2qk3qx.js} +3 -3
- package/dist/cli/chunk-rc2qk3qx.js.map +10 -0
- package/dist/cli/{chunk-69rjf786.js → chunk-ry2ymbxf.js} +5 -5
- package/dist/cli/{chunk-gxhcf2hs.js → chunk-t43g7v22.js} +2 -2
- package/dist/cli/{chunk-ydqzkhjn.js → chunk-x0jqyq1g.js} +6 -6
- package/dist/cli/{chunk-aafhwx74.js → chunk-x25s4gph.js} +1 -1
- package/dist/cli/{chunk-nqna8dzp.js → chunk-xkx216rd.js} +17 -17
- package/dist/cli/{chunk-etckvbrh.js → chunk-xv8nkt56.js} +14 -14
- package/dist/cli/{chunk-hn3g2b89.js → chunk-yrmw5n2b.js} +9 -9
- package/dist/cli/{chunk-4zxh25hc.js → chunk-zgca0vxs.js} +2 -2
- package/dist/cli/{chunk-c5bjxq8v.js → chunk-zj6bcx0n.js} +2 -2
- package/dist/cli/{chunk-1ch3ct3r.js → chunk-zjfwzrvd.js} +14 -14
- package/dist/cli/{chunk-j4nfgn2j.js → chunk-znwhf37a.js} +1 -1
- package/dist/cli/index.js +18 -18
- package/dist/types/ai/ask-context.d.ts +8 -0
- package/dist/types/ai/link-text.d.ts +5 -0
- package/dist/types/ai/relative-links.d.ts +26 -6
- package/dist/types/core/config-input.d.ts +35 -1
- package/dist/types/core/data.d.ts +14 -0
- package/dist/types/core/last-modified.d.ts +33 -18
- package/dist/types/core/links.d.ts +16 -0
- package/dist/types/core/schema.d.ts +16 -1
- package/dist/types/core/types.d.ts +10 -0
- package/dist/types/deploy/sitemap.d.ts +9 -0
- package/dist/types/search/documents.d.ts +3 -1
- package/dist/types/search/fold.d.ts +33 -0
- package/dist/types/search/orama-index.d.ts +4 -4
- package/dist/types/seo/jsonld.d.ts +33 -0
- package/docs/configuration/search.mdx +2 -2
- package/docs/content/frontmatter.mdx +1 -1
- package/docs/content/i18n.mdx +1 -1
- package/docs/content/sources/remote-mdx.mdx +1 -1
- package/docs/discoverability/open-graph.mdx +16 -1
- package/docs/discoverability/sitemap-and-robots.mdx +12 -0
- package/docs/discoverability/structured-data.mdx +44 -0
- package/package.json +1 -1
- package/src/ai/ask-context.ts +52 -14
- package/src/ai/ask-data.ts +4 -1
- package/src/ai/ask-tools.ts +17 -5
- package/src/ai/link-text.ts +6 -0
- package/src/ai/llms.ts +1 -7
- package/src/ai/markdown.ts +8 -4
- package/src/ai/relative-links.ts +155 -48
- package/src/ai/site-skill.ts +1 -4
- package/src/astro/generate.ts +7 -0
- package/src/astro/templates.ts +36 -20
- package/src/components/layout/PageLayout.astro +25 -12
- package/src/components/layout/RootLayout.astro +7 -0
- package/src/components/layout/locale-redirect.ts +38 -19
- package/src/components/layout/search/types.ts +12 -4
- package/src/core/config-input.ts +34 -1
- package/src/core/config.ts +5 -2
- package/src/core/data.ts +14 -0
- package/src/core/last-modified.ts +80 -34
- package/src/core/links.ts +43 -2
- package/src/core/manifest.ts +2 -0
- package/src/core/project-graph.ts +83 -43
- package/src/core/schema.ts +47 -9
- package/src/core/types.ts +10 -0
- package/src/deploy/sitemap.ts +127 -49
- package/src/search/documents.ts +34 -11
- package/src/search/fold.ts +175 -0
- package/src/search/orama-index.ts +40 -49
- package/src/seo/jsonld.ts +100 -23
- package/dist/cli/chunk-b680sv30.js.map +0 -13
- package/dist/cli/chunk-q1wwrxzw.js.map +0 -10
- package/dist/cli/chunk-qcyxkj44.js.map +0 -14
- /package/dist/cli/{chunk-080mfch6.js.map → chunk-0wt5amrk.js.map} +0 -0
- /package/dist/cli/{chunk-f260jdrn.js.map → chunk-0ynr0fr7.js.map} +0 -0
- /package/dist/cli/{chunk-e1n41w9m.js.map → chunk-1ay3hzn0.js.map} +0 -0
- /package/dist/cli/{chunk-gwy55cx3.js.map → chunk-426rytg6.js.map} +0 -0
- /package/dist/cli/{chunk-9h8mh2tk.js.map → chunk-5f96yq2c.js.map} +0 -0
- /package/dist/cli/{chunk-x60e15st.js.map → chunk-5xq12jz7.js.map} +0 -0
- /package/dist/cli/{chunk-x7bh6d9j.js.map → chunk-6xag1c83.js.map} +0 -0
- /package/dist/cli/{chunk-yg8ckc3g.js.map → chunk-88zkpg89.js.map} +0 -0
- /package/dist/cli/{chunk-ppa6mg4d.js.map → chunk-8fm3b4vm.js.map} +0 -0
- /package/dist/cli/{chunk-rtvgmg2j.js.map → chunk-8h2t2vyj.js.map} +0 -0
- /package/dist/cli/{chunk-2ssh60qh.js.map → chunk-982qfeny.js.map} +0 -0
- /package/dist/cli/{chunk-t2h8pwy1.js.map → chunk-9emfspcp.js.map} +0 -0
- /package/dist/cli/{chunk-9jqmq5hv.js.map → chunk-akj2p7k1.js.map} +0 -0
- /package/dist/cli/{chunk-beb0z983.js.map → chunk-b664x65a.js.map} +0 -0
- /package/dist/cli/{chunk-kmswjxj9.js.map → chunk-b7n58hgj.js.map} +0 -0
- /package/dist/cli/{chunk-fnxgtjeq.js.map → chunk-c0qddrxr.js.map} +0 -0
- /package/dist/cli/{chunk-p834rkcn.js.map → chunk-g62vnvaw.js.map} +0 -0
- /package/dist/cli/{chunk-40vk8kgf.js.map → chunk-p4fe7tax.js.map} +0 -0
- /package/dist/cli/{chunk-34wap3ed.js.map → chunk-psg2za5z.js.map} +0 -0
- /package/dist/cli/{chunk-h0qwdbem.js.map → chunk-r5ajrw1g.js.map} +0 -0
- /package/dist/cli/{chunk-69rjf786.js.map → chunk-ry2ymbxf.js.map} +0 -0
- /package/dist/cli/{chunk-gxhcf2hs.js.map → chunk-t43g7v22.js.map} +0 -0
- /package/dist/cli/{chunk-ydqzkhjn.js.map → chunk-x0jqyq1g.js.map} +0 -0
- /package/dist/cli/{chunk-aafhwx74.js.map → chunk-x25s4gph.js.map} +0 -0
- /package/dist/cli/{chunk-nqna8dzp.js.map → chunk-xkx216rd.js.map} +0 -0
- /package/dist/cli/{chunk-etckvbrh.js.map → chunk-xv8nkt56.js.map} +0 -0
- /package/dist/cli/{chunk-hn3g2b89.js.map → chunk-yrmw5n2b.js.map} +0 -0
- /package/dist/cli/{chunk-4zxh25hc.js.map → chunk-zgca0vxs.js.map} +0 -0
- /package/dist/cli/{chunk-c5bjxq8v.js.map → chunk-zj6bcx0n.js.map} +0 -0
- /package/dist/cli/{chunk-1ch3ct3r.js.map → chunk-zjfwzrvd.js.map} +0 -0
- /package/dist/cli/{chunk-j4nfgn2j.js.map → chunk-znwhf37a.js.map} +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# blume
|
|
2
2
|
|
|
3
|
+
## 2.2.3
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- 528f95e: The assistant now reads a page's links to other pages (`[Install](./install)`, `[Setup](../setup.md)`, `[Setup](/guides/setup.md)`) as the routes they mean, as the `.md` mirrors, `llms-full.txt`, and MCP `get_page` already did, so the links it cites in an answer land on the page they mean. A link on a translated page to a page that isn't translated yet points at the page the assistant can read. Pages from a remote or CMS source, such as `mdxRemote()`, now get that rewrite on every agent surface too. Before, the assistant read such links as written and could cite `../setup.md`, a link that led nowhere from the answer, and a remote page's links stayed as written on the agent surfaces, though the rendered page and `blume validate` resolved them. A relative link in a raw HTML `<a href>` now points on the agent surfaces where it goes on the rendered page, resolved against the page's URL as the browser resolves it, rather than the way a Markdown link resolves.
|
|
8
|
+
- 87cb8c4: The assistant cites pages as links more reliably on smaller models. Each documentation excerpt it reads, and each `search_docs` and `read_page` result, is now headed by the Markdown link to cite (`## [Page Title](/route)`), and the model is asked to copy that link. A page whose route has a space, a parenthesis, or a percent sign is cited with those characters percent-encoded (`%20`, `%28`, `%29`, `%25`), so its link works too. Before, the heading was `## Page Title (/route)`, and a model that copied it wrote `[Page Title (/route)]`, `[[Page Title (/route)]]`, or `[/route]`, which showed in the answer as raw text instead of a link.
|
|
9
|
+
- e41c71f: Search now keeps words whole whatever Latin letters they hold. Orama's default tokenizer split words at any letter beyond ASCII and a few accented vowels, so Swedish "när" was indexed as "n" and "r" and matched unrelated pages, and German "Prüfung" as "pr" and "fung". Blume now keeps every Latin letter, folding accents the way Orama already folded "café" and spelling ø, ł and ß as o, l and ss, in the default Orama search dialog, the MCP server's `search_docs`, and the assistant. A soft hyphen (`­`) no longer splits the word it sits in, and a result found by folding is highlighted and excerpted at the accented word. ASCII text is tokenized exactly as before.
|
|
10
|
+
- 2a0628c: The language switcher keeps the reader's place: the chosen link carries the current URL fragment.
|
|
11
|
+
- 34b3e0f: Add SEO options for docs that live inside another site: shared JSON-LD entity ids and attribution (`seo.jsonLd`), a default social image in place of generated cards (`seo.og.image`), publication dates from git for pages without a front matter `date` (`seo.datePublished: "git"`), and hreflang alternates in the sitemap (`seo.sitemap: { alternates: true }`). Page JSON-LD now also carries the page's social image and credits its front matter `authors`, and hreflang links leave out `noindex`, hidden, and canonical-elsewhere translations.
|
|
12
|
+
|
|
3
13
|
## 2.2.2
|
|
4
14
|
|
|
5
15
|
### Patch Changes
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
resolveRuntimeDir,
|
|
4
4
|
resolveProjectContext,
|
|
5
5
|
loadConfig
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-hwjspffr.js";
|
|
7
7
|
import"./chunk-zccbjcj0.js";
|
|
8
8
|
import {
|
|
9
9
|
commandMeta,
|
|
@@ -11,24 +11,24 @@ import {
|
|
|
11
11
|
} from "./index.js";
|
|
12
12
|
import {
|
|
13
13
|
readDevLock
|
|
14
|
-
} from "./chunk-
|
|
15
|
-
import"./chunk-
|
|
14
|
+
} from "./chunk-r5ajrw1g.js";
|
|
15
|
+
import"./chunk-0xyedh7k.js";
|
|
16
16
|
import {
|
|
17
17
|
refuseIfEjected
|
|
18
|
-
} from "./chunk-
|
|
19
|
-
import"./chunk-
|
|
20
|
-
import"./chunk-
|
|
21
|
-
import"./chunk-
|
|
22
|
-
import"./chunk-
|
|
23
|
-
import"./chunk-
|
|
18
|
+
} from "./chunk-1ay3hzn0.js";
|
|
19
|
+
import"./chunk-pxp1y6yz.js";
|
|
20
|
+
import"./chunk-gc7knd2s.js";
|
|
21
|
+
import"./chunk-2f6btenb.js";
|
|
22
|
+
import"./chunk-8h2t2vyj.js";
|
|
23
|
+
import"./chunk-znwhf37a.js";
|
|
24
24
|
import"./chunk-jq5n4avg.js";
|
|
25
|
-
import"./chunk-
|
|
26
|
-
import"./chunk-
|
|
25
|
+
import"./chunk-88q28zav.js";
|
|
26
|
+
import"./chunk-5f96yq2c.js";
|
|
27
27
|
import {
|
|
28
28
|
prepareProject
|
|
29
|
-
} from "./chunk-
|
|
30
|
-
import"./chunk-
|
|
31
|
-
import"./chunk-
|
|
29
|
+
} from "./chunk-9emfspcp.js";
|
|
30
|
+
import"./chunk-426rytg6.js";
|
|
31
|
+
import"./chunk-rc2qk3qx.js";
|
|
32
32
|
|
|
33
33
|
// src/cli/commands/sync.ts
|
|
34
34
|
import { rm } from "node:fs/promises";
|
|
@@ -74,4 +74,4 @@ export {
|
|
|
74
74
|
};
|
|
75
75
|
|
|
76
76
|
//# debugId=67B7B6A961A6206764756E2164756E21
|
|
77
|
-
//# sourceMappingURL=chunk-
|
|
77
|
+
//# sourceMappingURL=chunk-0wt5amrk.js.map
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
distDir,
|
|
19
19
|
adapterRoot,
|
|
20
20
|
deployPlatform
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-hwjspffr.js";
|
|
22
22
|
import {
|
|
23
23
|
trimChar,
|
|
24
24
|
normalizeBasePath
|
|
@@ -1704,6 +1704,7 @@ import RootLayout from "blume/components/layout/RootLayout.astro";
|
|
|
1704
1704
|
import { withBase, withMountedBase } from "blume/components/islands/base-path.ts";
|
|
1705
1705
|
import { mountBasePath, stripBasePath } from "blume/core/base-path.ts";
|
|
1706
1706
|
import { routeSetFor, servesRoute } from "blume/core/locale-links.ts";
|
|
1707
|
+
import { resolveLocalizable } from "blume/core/localizable.ts";
|
|
1707
1708
|
import { resolveSlot } from "blume/components/layout/overrides.ts";
|
|
1708
1709
|
${componentImports}
|
|
1709
1710
|
import data from "blume:data";
|
|
@@ -1728,8 +1729,10 @@ export function getStaticPaths() {
|
|
|
1728
1729
|
editUrl: route.editUrl,
|
|
1729
1730
|
entryId: route.entryId,
|
|
1730
1731
|
fallback: route.fallback,
|
|
1732
|
+
hreflang: route.hreflang,
|
|
1731
1733
|
indexable: route.indexable,
|
|
1732
1734
|
lastModified: route.lastModified,
|
|
1735
|
+
published: route.published,
|
|
1733
1736
|
locale: route.locale,
|
|
1734
1737
|
monolingual: route.monolingual,
|
|
1735
1738
|
route: route.path,
|
|
@@ -1740,7 +1743,7 @@ export function getStaticPaths() {
|
|
|
1740
1743
|
}));
|
|
1741
1744
|
}
|
|
1742
1745
|
|
|
1743
|
-
const { entryId, collection, route, title, indexable, editUrl, lastModified, locale, alternates, fallback, monolingual, version, versionAlternates } = Astro.props;
|
|
1746
|
+
const { entryId, collection, route, title, indexable, editUrl, lastModified, published, locale, alternates, hreflang, fallback, monolingual, version, versionAlternates } = Astro.props;
|
|
1744
1747
|
const entry = await getEntry(collection as CollectionKey, entryId);
|
|
1745
1748
|
if (!entry) {
|
|
1746
1749
|
return new Response(null, { status: 404 });
|
|
@@ -1790,19 +1793,23 @@ const base = data.config.site ? data.config.site.replace(/\\/$/, "") : null;
|
|
|
1790
1793
|
const ogPath = data.config.og.enabled
|
|
1791
1794
|
? encodeURI(\`/og/\${route === "/" ? "index" : route.slice(1)}.png\`)
|
|
1792
1795
|
: null;
|
|
1793
|
-
//
|
|
1794
|
-
// \`site + base + path\`.
|
|
1796
|
+
// Root-relative paths carry the deployment base (the page is served under it),
|
|
1797
|
+
// and the site too once it's known: \`site + base + path\`. \`seo.image\` may be
|
|
1795
1798
|
// an external URL, which passes through verbatim (mirrors PageLayout). An
|
|
1796
|
-
// authored
|
|
1797
|
-
//
|
|
1799
|
+
// authored image keeps a base written by hand; the generated card is always
|
|
1800
|
+
// mounted under it.
|
|
1798
1801
|
const absoluteOg = (path: string, based: (path: string) => string) =>
|
|
1799
|
-
|
|
1800
|
-
|
|
1801
|
-
|
|
1802
|
+
path.startsWith("/") ? \`\${base ?? ""}\${based(path)}\` : path;
|
|
1803
|
+
// The page's own image, else the site's default for its locale.
|
|
1804
|
+
const selectedOgImage =
|
|
1805
|
+
seo.image ??
|
|
1806
|
+
(data.config.og.image && resolveLocalizable(data.config.og.image, locale, data.config.i18n?.defaultLocale));
|
|
1807
|
+
const ogImage = selectedOgImage
|
|
1808
|
+
? absoluteOg(selectedOgImage, withBase)
|
|
1802
1809
|
: ogPath && absoluteOg(ogPath, withMountedBase);
|
|
1803
|
-
// Blume's generated card has known dimensions the layout can declare;
|
|
1804
|
-
//
|
|
1805
|
-
const ogGenerated = !
|
|
1810
|
+
// Blume's generated card has known dimensions the layout can declare; an
|
|
1811
|
+
// authored image could be any size or format, so it gets none.
|
|
1812
|
+
const ogGenerated = !selectedOgImage && Boolean(ogPath);
|
|
1806
1813
|
|
|
1807
1814
|
// X attribution: the site's account, plus a creator the page can claim for
|
|
1808
1815
|
// itself (a guest post crediting its own author) over the configured default.
|
|
@@ -1898,11 +1905,12 @@ const canonical =
|
|
|
1898
1905
|
: null);
|
|
1899
1906
|
const effectiveNoindex = Boolean(seo.noindex) || (archived?.noindex ?? false);
|
|
1900
1907
|
|
|
1908
|
+
// hreflang names only indexable translations (see \`hreflangAlternates\`).
|
|
1901
1909
|
const localeAlternates =
|
|
1902
1910
|
i18n && base
|
|
1903
|
-
? (
|
|
1911
|
+
? (hreflang ?? []).map((alt) => ({ hreflang: alt.locale, href: absolute(alt.path) }))
|
|
1904
1912
|
: [];
|
|
1905
|
-
const defaultAlt = i18n ? (
|
|
1913
|
+
const defaultAlt = i18n ? (hreflang ?? []).find((alt) => alt.locale === i18n.defaultLocale) : null;
|
|
1906
1914
|
const xDefault = defaultAlt && base ? absolute(defaultAlt.path) : null;
|
|
1907
1915
|
|
|
1908
1916
|
// \`route\` arrives with \`basePath\` already applied, so the locale segment it
|
|
@@ -2062,7 +2070,8 @@ const LayoutComponent = resolveSlot(layoutOverrides.Layout, RootLayout);
|
|
|
2062
2070
|
pageType={frontmatter.type}
|
|
2063
2071
|
apiRail={remarkPluginFrontmatter?.${API_RAIL_KEY} === true}
|
|
2064
2072
|
pageMode={frontmatter.mode}
|
|
2065
|
-
published={frontmatter.date ?? frontmatter.changelog?.date ??
|
|
2073
|
+
published={frontmatter.date ?? frontmatter.changelog?.date ?? published}
|
|
2074
|
+
authors={frontmatter.authors}
|
|
2066
2075
|
lastModified={lastModified}
|
|
2067
2076
|
noindex={effectiveNoindex}
|
|
2068
2077
|
structuredDataEnabled={data.config.structuredData}
|
|
@@ -2092,8 +2101,9 @@ var changelogIndexTemplate = (options) => {
|
|
|
2092
2101
|
// Generated by Blume. Do not edit.
|
|
2093
2102
|
import RootLayout from "blume/components/layout/RootLayout.astro";
|
|
2094
2103
|
import Changelog from "blume/components/content/Changelog.astro";
|
|
2095
|
-
import { withMountedBase } from "blume/components/islands/base-path.ts";
|
|
2104
|
+
import { withBase, withMountedBase } from "blume/components/islands/base-path.ts";
|
|
2096
2105
|
import { resolveSlot } from "blume/components/layout/overrides.ts";
|
|
2106
|
+
import { resolveLocalizable } from "blume/core/localizable.ts";
|
|
2097
2107
|
import { layoutOverrides } from "../generated/components.ts";
|
|
2098
2108
|
import data from "blume:data";
|
|
2099
2109
|
|
|
@@ -2115,11 +2125,17 @@ const base = data.config.site ? data.config.site.replace(/\\/$/, "") : null;
|
|
|
2115
2125
|
const basedRoute = withMountedBase("/changelog");
|
|
2116
2126
|
const canonical = base ? base + basedRoute : null;
|
|
2117
2127
|
|
|
2118
|
-
// The generated OG card for this route (the /og
|
|
2119
|
-
// the content-route cards), absolutized like the
|
|
2120
|
-
// a full URL when the site is known.
|
|
2128
|
+
// The site's default image, else the generated OG card for this route (the /og
|
|
2129
|
+
// endpoint emits it alongside the content-route cards), absolutized like the
|
|
2130
|
+
// catch-all's so crawlers get a full URL when the site is known.
|
|
2131
|
+
const defaultOgImage =
|
|
2132
|
+
data.config.og.image && resolveLocalizable(data.config.og.image, htmlLang, i18n?.defaultLocale);
|
|
2121
2133
|
const ogPath = data.config.og.enabled ? withMountedBase("/og/changelog.png") : null;
|
|
2122
|
-
const ogImage =
|
|
2134
|
+
const ogImage = defaultOgImage
|
|
2135
|
+
? defaultOgImage.startsWith("/")
|
|
2136
|
+
? (base ?? "") + withBase(defaultOgImage)
|
|
2137
|
+
: defaultOgImage
|
|
2138
|
+
: ogPath && base ? base + ogPath : ogPath;
|
|
2123
2139
|
|
|
2124
2140
|
// The page chrome (h1, title, description) comes from the translatable
|
|
2125
2141
|
// \`changelog\` group, which carries the \`changelog\` config's title and
|
|
@@ -2167,7 +2183,7 @@ const LayoutComponent = resolveSlot(layoutOverrides.Layout, RootLayout);
|
|
|
2167
2183
|
searchEnabled={data.config.search.enabled}
|
|
2168
2184
|
indexable={true}
|
|
2169
2185
|
ogImage={ogImage}
|
|
2170
|
-
ogGenerated={Boolean(ogImage)}
|
|
2186
|
+
ogGenerated={!defaultOgImage && Boolean(ogImage)}
|
|
2171
2187
|
x={data.config.x}
|
|
2172
2188
|
canonical={canonical}
|
|
2173
2189
|
exportPdf={${options.exportPdf}}
|
|
@@ -2692,5 +2708,5 @@ var runtimeTsconfigTemplate = () => `${JSON.stringify({
|
|
|
2692
2708
|
|
|
2693
2709
|
export { deployOutputDir, deployStaticDir, surfaceAdapterOutput, planComponentSlots, publishRuntimeModules, runtimeDependencies, EJECTED_CONFIG_HEADER, astroConfigTemplate, stagedContentDir, contentConfigTemplate, askEndpointTemplate, askComponentTemplate, searchEndpointTemplate, featuresTemplate, consentClientTemplate, searchClientTemplate, mixedbreadSearchEndpointTemplate, rawMarkdownEndpointTemplate, contentAssetsEndpointTemplate, mcpPageFile, mcpEndpointTemplate, playgroundProxyTemplate, staticJsonEndpointTemplate, rssEndpointTemplate, navFragmentTemplate, ogEndpointTemplate, scalarReferenceTemplate, catchAllPageTemplate, changelogIndexTemplate, notFoundPageTemplate, notFoundMarkdownTemplate, notFoundJsonTemplate, apiPagesIndexTemplate, apiPageTemplate, apiNavigationTemplate, apiSearchTemplate, apiNotFoundTemplate, exampleSlug, exampleWrapperTemplate, examplesRouteBase, exampleMapTemplate, examplesPageTemplate, runtimePackageTemplate, runtimeTsconfigTemplate };
|
|
2694
2710
|
|
|
2695
|
-
//# debugId=
|
|
2696
|
-
//# sourceMappingURL=chunk-
|
|
2711
|
+
//# debugId=56680ACE26D883A964756E2164756E21
|
|
2712
|
+
//# sourceMappingURL=chunk-0xyedh7k.js.map
|