Skip to content

Markdown 和 llms.txt 端点

添加备用 Markdown/MDX 版本、llms.txt 索引和 llms-full.txt。

AI 生成 · 待审阅更新于 查看 Markdown

添加五个端点,用于提供备用 Markdown/MDX 版本、站点和分节 llms.txt 索引以及 llms-full.txt。Nimbus 集成必须已存在于 astro.config.ts 中。

1. 添加备用页面版本

创建纯净的 Markdown 版本:

src/pages/[...slug]/index.md.tsts
import { markdownRoute } from "@cloudflare/nimbus-docs/agent-endpoints";

export const prerender = true;
export const { GET, getStaticPaths } = markdownRoute();

创建 MDX 源版本:

src/pages/[...slug]/index.mdx.tsts
import { markdownSourceRoute } from "@cloudflare/nimbus-docs/agent-endpoints";

export const prerender = true;
export const { GET, getStaticPaths } = markdownSourceRoute();

这两个路由为所有集合提供服务,包括文档版本、位于 /blog 的博客和 API 参考。API 页面有 .md 版本但没有 .mdx 源版本。隐藏版本中的页面两者都没有。后续添加的集合不需要新的路由文件。要自定义部分或所有页面的输出,请参阅覆盖默认值。

两个路由都必须保持预渲染。如果在请求时渲染,构建会失败。

2. 添加站点索引

创建站点级别的发现索引:

src/pages/llms.txt.tsts
import { llmsRoute } from "@cloudflare/nimbus-docs/agent-endpoints";

export const prerender = true;
export const { GET } = llmsRoute();

3. 添加 llms-full.txt

创建包含所有可发现文档的文件:

src/pages/llms-full.txt.tsts
import { llmsFullRoute } from "@cloudflare/nimbus-docs/agent-endpoints";

export const prerender = true;
export const { GET } = llmsFullRoute();

4. 添加分节索引

创建用于 /writing/llms.txt 等路径的路由:

src/pages/[section]/llms.txt.tsts
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 引用数据,适用于预渲染路由。

后续步骤

导航

输入以搜索…

↑↓ 导航↵ 选择Esc 关闭