diff --git a/src/content/docs/workers/llms.txt.md b/src/content/docs/workers/llms.txt.md deleted file mode 100644 index 93f25872ad4bf3e..000000000000000 --- a/src/content/docs/workers/llms.txt.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: llms.txt -sidebar: - order: 98 -external_link: /llms.txt ---- diff --git a/src/content/docs/workers/prompt.md b/src/content/docs/workers/prompt.md deleted file mode 100644 index 814a29dfbde96e3..000000000000000 --- a/src/content/docs/workers/prompt.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -title: prompt.txt -sidebar: - order: 98 -external_link: /workers/prompt.txt ---- diff --git a/src/util/sidebar.ts b/src/util/sidebar.ts index 8e9e5814f2e4905..de6e54de30a9de2 100644 --- a/src/util/sidebar.ts +++ b/src/util/sidebar.ts @@ -1,7 +1,7 @@ import type { AstroGlobal } from "astro"; import type { Props } from "@astrojs/starlight/props"; -import { getEntry } from "astro:content"; +import { getEntry, getCollection } from "astro:content"; import { rehypeExternalLinksOptions } from "~/plugins/rehype/external-links"; type Link = Extract & { order?: number }; @@ -12,6 +12,7 @@ type Group = Extract & { export type SidebarEntry = Link | Group; type Badge = Link["badge"]; +const products = await getCollection("products"); const sidebars = new Map(); export async function getSidebar(context: AstroGlobal) { @@ -88,6 +89,33 @@ export async function generateSidebar(group: Group) { group.entries[0].label = "Overview"; } + const product = products.find((p) => p.id === group.label); + if (product && product.data.product.group === "Developer platform") { + const links = [ + ["llms.txt", "/llms.txt"], + ["prompt.txt", "/workers/prompt.txt"], + [`${product.data.name} llms-full.txt`, `/${product.id}/llms-full.txt`], + ["Developer Platform llms-full.txt", "/developer-platform/llms-full.txt"], + ]; + + group.entries.push({ + type: "group", + label: "LLM resources", + entries: links.map(([label, href]) => ({ + type: "link", + label, + href, + isCurrent: false, + attrs: { + target: "_blank", + }, + badge: undefined, + })), + collapsed: true, + badge: undefined, + }); + } + return group; }