添加五个端点,用于提供备用 Markdown/MDX 版本、站点和分节 llms.txt 索引以及 llms-full.txt。Nimbus 集成必须已存在于 astro.config.ts 中。
1. 添加备用页面版本
创建纯净的 Markdown 版本:
import { markdownRoute } from "@cloudflare/nimbus-docs/agent-endpoints";
export const prerender = true;
export const { GET, getStaticPaths } = markdownRoute();创建 MDX 源版本:
import { markdownSourceRoute } from "@cloudflare/nimbus-docs/agent-endpoints";
export const prerender = true;
export const { GET, getStaticPaths } = markdownSourceRoute();这两个路由为所有集合提供服务,包括文档版本、位于 /blog 的博客和 API 参考。API 页面有 .md 版本但没有 .mdx 源版本。隐藏版本中的页面两者都没有。后续添加的集合不需要新的路由文件。要自定义部分或所有页面的输出,请参阅覆盖默认值。
两个路由都必须保持预渲染。如果在请求时渲染,构建会失败。
2. 添加站点索引
创建站点级别的发现索引:
import { llmsRoute } from "@cloudflare/nimbus-docs/agent-endpoints";
export const prerender = true;
export const { GET } = llmsRoute();3. 添加 llms-full.txt
创建包含所有可发现文档的文件:
import { llmsFullRoute } from "@cloudflare/nimbus-docs/agent-endpoints";
export const prerender = true;
export const { GET } = llmsFullRoute();4. 添加分节索引
创建用于 /writing/llms.txt 等路径的路由:
import { llmsSectionRoute } from "@cloudflare/nimbus-docs/agent-endpoints";
export const prerender = true;
export const { GET, getStaticPaths } = llmsSectionRoute();每个 GET 对未知分节返回 404。在请求时渲染时,如果索引无法读取,它会返回不含详细信息的 500 并记录错误。要更改路由提供的内容,请参阅覆盖默认值。
除非你有意让 llms.txt 端点在请求时渲染,否则请保持预渲染。agent-endpoints 辅助函数支持两种模式,并需要 Nimbus Astro 集成。构建会警告每个没有预渲染路由生成的 Markdown 版本或 llms.txt 索引,并指出服务它的路由;对于有意在请求时渲染的路由,可以忽略该警告。
验证
运行生产构建,然后启动 Astro 的生产预览:
pnpm build
pnpm preview在另一个终端中,将 get-started 和 writing 替换为项目中存在的路由。如果 Astro 有部署基础路径,请为每个路径添加前缀:
curl --fail http://localhost:4321/get-started/index.md
curl --fail http://localhost:4321/get-started/index.mdx
curl --fail http://localhost:4321/llms.txt
curl --fail http://localhost:4321/llms-full.txt
curl --fail http://localhost:4321/writing/llms.txt每个命令必须返回带有成功状态的内容。404 表示缺少对应的路由文件。如果构建报告未准备的集合,请按照其他集合中的说明使用 withNimbusMarkdown() 包装其 Markdown 加载器。如果分节索引不存在,请确认该分节有可发现的页面并出现在 /llms.txt 中。
直接渲染
renderEntryAsMarkdown() 和 getEntryMarkdown() 仍然可用于不包含 <Render> 的条目正文。传递包含 <Render> 的正文会抛出错误。请使用上述端点获取备用的 Markdown 版本和 llms.txt 索引。getEntryMarkdown() 还会加载 API 引用数据,适用于预渲染路由。