# Rspress > Rsbuild based static site generator ## 指南 - [介绍](https://rspress.rs/zh/guide/start/introduction.md): Rspress 是一个基于 Rsbuild 的高性能静态站点生成器,具备毫秒级启动、AI-native 的 SSG-MD、MDX 支持、全文搜索、国际化和多版本文档等核心特性。 - [快速开始](https://rspress.rs/zh/guide/start/getting-started.md): 通过脚手架或手动方式快速创建 Rspress 项目,了解开发服务启动、生产构建和本地预览的基本流程。 - [AI](https://rspress.rs/zh/guide/start/ai.md): 为了帮助 AI 更全面地了解 Rspress 的功能、配置与最佳实践,从而在日常开发和问题排查过程中提供更准确的帮助,Rspress 提供了以下能力: Agent Skillsllms.txtMarkdown 文档AGENTS.md - [约定式路由](https://rspress.rs/zh/guide/basic/conventional-route.md): Rspress 使用文件系统路由,将文件路径映射为路由路径,支持 .md(x) 和 .tsx 文件,可通过配置自定义路由行为。 - [自动生成导航](https://rspress.rs/zh/guide/basic/auto-nav-sidebar.md): 通过 _nav.json 和 _meta.json 描述文件自动生成导航栏和侧边栏,支持文件、目录、分组标题、自定义链接等多种配置类型。 - [静态资源处理](https://rspress.rs/zh/guide/basic/static-assets.md): 配置站点 logo、favicon 图标,在 MDX 文件中引用图片、视频等静态资源,使用 public 目录部署自定义资源。 - [静态站点生成(SSG)](https://rspress.rs/zh/guide/basic/ssg.md): SSG 在构建阶段预渲染 HTML 文件,实现更快的首屏渲染和 SEO 优化,了解 SSG 与 CSR 的区别及常见问题解决方案。 - [llms.txt (SSG-MD)](https://rspress.rs/zh/guide/basic/ssg-md.md): SSG-MD 将页面渲染为 Markdown 文件并生成 llms.txt 索引,便于大语言模型理解和使用技术文档,提升 GEO 优化效果。 - [国际化](https://rspress.rs/zh/guide/basic/i18n.md): 配置 locales 和 lang 实现多语言文档,通过 i18n.json 定义翻译文本,在组件中使用 useI18n 获取国际化内容。 - [多版本](https://rspress.rs/zh/guide/basic/multi-version.md): 通过 multiVersion 配置实现多版本文档管理,支持版本切换、自动添加版本前缀和仅搜索当前版本。 - [Home 主页](https://rspress.rs/zh/guide/basic/home-page.md): 通过 frontmatter 配置 Home 主页的 hero 区域和 features 特性列表,快速搭建站点首页。 - [项目部署](https://rspress.rs/zh/guide/basic/deploy.md): 配置静态资源前缀和基础路径,将 Rspress 站点部署到 GitHub Pages、Netlify、Vercel、Zeabur 等平台。 - [自定义主题](https://rspress.rs/zh/guide/basic/custom-theme.md): 通过 CSS 变量、BEM 类名覆盖样式,或使用 ESM 重导出、wrap 插槽、eject 源码等方式自定义 Rspress 主题组件。 - [MDX 和 React 组件](https://rspress.rs/zh/guide/use-mdx/components.md): MDX 将 Markdown 文件编译为 React 组件,支持在文档中引入 MDX 片段和自定义 React 组件,实现组件化内容开发。 - [Frontmatter](https://rspress.rs/zh/guide/use-mdx/frontmatter.md): 在 Markdown 文件顶部使用 YAML 格式的 frontmatter 定义页面元数据,如标题、描述等配置项。 - [代码块](https://rspress.rs/zh/guide/use-mdx/code-blocks.md): 使用 Shiki 实现编译时代码高亮,支持行高亮、行号、代码换行、Diff、外部文件引用和 Twoslash 等丰富功能。 - [链接](https://rspress.rs/zh/guide/use-mdx/link.md): 支持文件路径和 URL 两种链接形式,以及锚点链接、自定义锚点 id 和死链检查功能。 - [容器](https://rspress.rs/zh/guide/use-mdx/container.md): 使用 ::: 语法或 GitHub Markdown Alerts 语法创建 tip、warning、danger 等类型的容器,突出显示重要信息。 - [Overview 页](https://rspress.rs/zh/guide/advanced/overview-page.md): 通过 frontmatter 配置 overview 开启 Overview 页功能,自动从侧边栏提取信息并生成概览内容。 - [构建能力扩展](https://rspress.rs/zh/guide/advanced/extend-build.md): 通过 builderConfig 自定义 Rsbuild 和 Rspack 配置,使用 markdown 配置添加 remark 和 rehype 插件扩展 MDX 编译能力。 - [自定义 Head 标签 / SEO](https://rspress.rs/zh/guide/advanced/custom-head.md): 为网页增加 Head 标签(如 meta 标签)对于 SEO 优化和社交媒体分享非常重要。比如 Open Graph 是一种网页元数据协议,用于控制页面在社交媒体平台上分享时的显示效果。 目前 Rspress 会自动注入以下 Head 标签: - [自定义搜索](https://rspress.rs/zh/guide/advanced/custom-search.md): 通过 searchHooks 配置扩展搜索功能,支持处理搜索关键词、过滤搜索结果、添加自定义搜索数据源和自定义渲染。 - [从 Rspress 1.x 迁移](https://rspress.rs/zh/guide/migration/rspress-1-x.md): 从 Rspress 1.x 升级到 V2 的完整迁移指南,包括包名变更、导入路径、自定义主题、Shiki 代码高亮等重要变更。 ## 插件 - [介绍](https://rspress.rs/zh/plugin/system/introduction.md): 插件机制是 Rspress 至关重要的部分,它可以让你在搭建站点的过程中,方便地扩展 Rspress 的功能。那么,你可以通过插件扩展哪些功能呢?我们先来看看 Rspress 的整体架构。 Rspress 的整体架构如下图所示: Rspress 整体分为Node 端和浏览器运行时两部分。通过插件机制,你可以轻松地扩展这两部分的功能。具体来说,你可以扩展如下的能力: Markdown/MDX 编译功能。你可以通过添加 remark/rehype 插件,扩展 Markdown/MDX 的语法和功能。添加自定义页面。在约定式路由的基础上,你也可以通过插件,添加新路由,比如添加一个 /blog 路由,用于展示博客列表,内容由你自己定义。定制构建工具的行为。在 Rspress 插件中,你可以自定义底层构建工具 Rsbuild 的配置,也可以添加一些 Rspack 或 Rsbuild 插件。扩展页面元数据。针对每个页面,Rspress 内部会计算出一些元数据,如 title、description 等等,你可以通过插件,扩展这些元数据的计算逻辑,并在运行时通过 usePageData hook 访问到。在构建流程前后插入一些自定义逻辑。如在构建流程结束后关闭一些事件监听器。添加全局组件。Rspress 内部使用 React 进行渲染,你可以通过定义全局 React 组件来灵活地扩展页面运行时的功能,比如添加全局的 BackToTop(返回顶部) 组件、添加全局副作用逻辑。 - [编写一个插件](https://rspress.rs/zh/plugin/system/write-a-plugin.md): 我们以注入一个全局组件为例,来看看如何定义和使用插件。 1. 定义插件 插件一般为一个函数,接收一些插件参数(可选),返回一个对象,对象中包含插件的名称以及其它配置。在上面的例子中,我们定义了一个插件,它的名称为 plugin-example,它会在构建阶段定义一个全局变量 process.env.SLUG,并且在文档中注入一个全局组件 Example.tsx。 2. 使用插件 在 rspress.config.ts 中通过 plugins 注册插件: 这样,Example 组件会自动在页面中渲染,并且我们可以在 Example 组件中访问到 process.env.SLUG。 - [插件 API](https://rspress.rs/zh/plugin/system/plugin-api.md): 上一节我们介绍了插件的基本结构,本节我们来介绍插件的 API,帮助你更细致地了解插件功能。 globalStyles 类型:string 用于添加全局样式,传入一个样式文件的绝对路径,使用方式如下: 比如你想修改主题色,可以通过添加全局样式来实现: globalUIComponents 类型:(string | [string, object])[] 用于添加全局组件,传入一个数组,数组中的每一项都是一个组件的绝对路径,使用方式如下: globalUIComponents 的每一项可以是一个字符串,代表组件的文件路径;也可以是一个数组,第一项为组件的文件路径,第二项为组件的 props 对象,比如: 当你注册了全局组件之后,Rspress 会自动将这些 React 组件在主题中进行渲染,而不用你手动引入。 通过全局组件,你可以完成诸多自定义的功能,比如: 这样,在主题页面中会渲染组件的内容,比如添加回到顶部按钮。 同时,你也可以通过全局组件来注册全局副作用。比如: 这样,在主题页面中会执行组件的副作用。比如以下的一些需要副作用的场景: 针对某些页面路由进行重定向操作。对页面的 img 标签进行事件监听,实现图片放大功能。路由变化时,上报不同页面的 PV 数据。...... builderConfig 类型:RsbuildConfig Rspress 使用 Rsbuild 作为构建工具。通过 builderConfig 可以对 Rsbuild 进行配置,具体的配置项可以参考 Rsbuild - 配置。 当然,如果你想要直接配置 Rspack,也可以通过 builderConfig.tools.rspack 进行配置。 查看 构建配置 了解更多。 config 类型:(config: DocConfig, utils: ConfigUtils, isProd: boolean) => DocConfig | Promise 其中,ConfigUtils 的类型定义如下: 用于修改 Rspress 本身的配置,比如你想要修改文档的标题,可以通过 config 来实现: 如果涉及到添加和删除插件,需要通过 addPlugin 和 removePlugin 来实现: beforeBuild/afterBuild 类型:(config: DocConfig, isProd: boolean) => void | Promise 用于在文档构建之前/之后执行一些操作,第一个参数是文档的配置,第二个参数是当前是否是生产环境。使用方式如下: markdown 类型:{ remarkPlugins?: Plugin[]; rehypePlugins?: Plugin[]; globalComponents?: string[] } 用于扩展 Markdown/MDX 的编译能力,如果你想要添加自定义的 remark/rehype 插件以及 MDX 里的全局组件,可以通过 markdown 配置来实现: extendPageData 类型:(pageData: PageData) => void | Promise 用于扩展页面数据,比如你想要在页面数据中添加一些自定义的属性,可以通过 extendPageData 来实现: 在扩展页面数据之后,你可以在主题中通过 usePageData 这个 hook 来访问页面数据。 addPages 类型:(config: UserConfig) => AdditionalPage[] | Promise 其中,config 为 rspress.config.ts 配置文件中导出的 doc 属性值,AdditionalPage 的类型定义如下: 主要用来添加额外的页面,你可以在 addPages 函数中返回一个数组,数组中的每一项都是一个页面的配置,你可以通过 routePath 来指定页面的路由,通过 filepath 或者 content 来指定页面的内容。比如: addPages 接受两个参数,config 为当前文档站的配置,isProd 表示是否为生产环境。 routeGenerated 类型:(routeMeta: RouteMeta[]) => void | Promise 在这个钩子中,你可以拿到所有的路由信息,每一项路由信息的结构如下: 例子: addRuntimeModules 类型:(config: UserConfig, isProd: boolean) => Record | Promise>; 用于添加额外的运行时模块,比如你想要在文档中使用到某些编译时的信息,可以通过 addRuntimeModules 来实现: 这样你就可以在运行时组件中使用 virtual-foo 模块了: i18nSource 类型:(source: Record>) => Record> | Promise>> 用于添加或修改国际化文案数据。你可以通过这个 hook 来扩展或修改主题的国际化文案。 参数 source 是一个对象,其结构为: 其中第一层的 textKey 是文案的键名,第二层的 locale 是语言代码(如 zh、en),值是对应语言的翻译文本。 使用示例: 如果你的插件同时提供了运行时组件,你可以通过 useI18n hook 来使用这些文案: - [总览](https://rspress.rs/zh/plugin/official-plugins/overview.md) - [@rspress/plugin-llms](https://rspress.rs/zh/plugin/official-plugins/llms.md): 为 Rspress 站点生成 llms.txt 相关文件,使大模型可以更好地理解你的文档站。 - [@rspress/plugin-sitemap](https://rspress.rs/zh/plugin/official-plugins/sitemap.md): 自动生成用于 SEO 的 站点地图 (sitemap),有利于搜索引擎抓取。 - [@rspress/plugin-client-redirects](https://rspress.rs/zh/plugin/official-plugins/client-redirects.md): 用于客户端重定向。 - [@rspress/plugin-typedoc](https://rspress.rs/zh/plugin/official-plugins/typedoc.md): 集成 TypeDoc 的 Rspress 插件,用于自动生成 TS 模块的 API 文档。 - [@rspress/plugin-api-docgen](https://rspress.rs/zh/plugin/official-plugins/api-docgen.md): 用于自动生成 API 文档描述,支持 react-docgen-typescript 和 documentation。 - [@rspress/plugin-preview](https://rspress.rs/zh/plugin/official-plugins/preview.md): 用于预览 md(x) 文件代码块中的组件,适合编写组件库文档。 - [@rspress/plugin-playground](https://rspress.rs/zh/plugin/official-plugins/playground.md): 提供一个可实时编辑的 Playground 以预览 mdx 文件代码块中的组件。 - [@rspress/plugin-rss](https://rspress.rs/zh/plugin/official-plugins/rss.md): 使用 feed 为文档中的某些页面生成 RSS 文件。 - [@rspress/plugin-algolia](https://rspress.rs/zh/plugin/official-plugins/algolia.md): 基于 docsearch,将 Rspress 内置的搜索功能替换为 algolia。 - [@rspress/plugin-twoslash](https://rspress.rs/zh/plugin/official-plugins/twoslash.md): 集成 Twoslash 的 Rspress 插件,用于自动生成带有类型信息的丰富代码块。 - [总览](https://rspress.rs/zh/plugin/community-plugins/overview.md) - [rspress-plugin-typesense](https://rspress.rs/zh/plugin/community-plugins/typesense.md): 该插件使用 Typesense(一个开源、支持容错拼写的搜索引擎)替换 Rspress 内置搜索。 插件会在构建过程中 (rspress build) 自动为文档建立索引,并提供高度优化的搜索体验,同时支持 Rspress 的多版本与国际化功能。 ## UI - [CSS 变量](https://rspress.rs/zh/ui/vars.md): Rspress 内置 CSS 变量列表,用于自定义品牌色、代码块样式等主题配置。 - [自定义页面](https://rspress.rs/zh/ui/custom-page.md): 自定义页面布局、全局组件、样式和 head 标签等页面定制方法。 - [Tailwind CSS](https://rspress.rs/zh/ui/tailwindcss.md): Tailwind CSS 是一个以 utility class 为核心的 CSS 框架,用于快速构建自定义用户界面。它可以配合 Rspress 中的 MDX 文件使用,帮助你更高效地创作文档样式,例如。 Rspress 基于 Rsbuild 构建,因此可以使用 Rsbuild 推荐的插件方式接入 Tailwind CSS v4。更多详情请参考: Rsbuild - Tailwind CSS v4Rsbuild - Tailwind CSS v3Rsbuild - Tailwind CSS 插件 下面介绍如何在 Rspress 中集成 Tailwind CSS v4。 安装依赖 创建 Tailwind CSS 文件 在项目根目录创建 tailwind.css 文件: 配置 Rspress 在 rspress.config.ts 中,使用 globalStyles 选项引入 Tailwind CSS 文件: 如果你的项目已经有 PostCSS 配置,也可以参考 Rsbuild 文档改用 @tailwindcss/postcss 接入。 使用 现在你可以在 MDX 文件中使用 Tailwind 工具类: - [shadcn/ui](https://rspress.rs/zh/ui/shadcn-ui.md): shadcn/ui 是一组基于 Radix UI / Base UI 和 Tailwind CSS 构建的可复用组件集合。本指南介绍如何在 Rspress 文档站点中使用 shadcn/ui 组件。 在开始之前,请确保已经在项目中配置好 Tailwind CSS。 配置路径别名 在 tsconfig.json 的 compilerOptions 中添加 paths,以便正确解析 shadcn/ui 组件: 创建 components.json 和工具函数 由于 shadcn init 无法自动识别 Rspress 框架,需要参考 手动安装 来创建配置文件。 在项目根目录创建 components.json 文件,配置 shadcn/ui CLI: 然后安装依赖并创建工具函数: 添加组件 使用 shadcn CLI 添加所需组件,例如 Button: 在 MDX 中使用 在 MDX 文件中导入并使用组件: - [文档组件](https://rspress.rs/zh/ui/components/index.md): Rspress 内置的文档组件,包含文档编写常用的 UI 组件。 - [Badge](https://rspress.rs/zh/ui/components/badge.md): Badge 徽章组件,用于在文档中显示小型内联标记,支持多种类型和样式。 - [Callout](https://rspress.rs/zh/ui/components/callout.md): Callout 提示框组件,用于显示高亮的信息块,如提示、警告和注意事项。 - [CodeBlockRuntime](https://rspress.rs/zh/ui/components/code-block-runtime.md): CodeBlockRuntime 运行时代码块组件,用于动态渲染可执行的代码块。 - [PackageManagerTabs](https://rspress.rs/zh/ui/components/package-manager-tabs.md): PackageManagerTabs 包管理器标签组件,用于展示不同包管理器的安装命令。 - [PageTabs](https://rspress.rs/zh/ui/components/page-tabs.md): PageTabs 页面标签组件,用于在同一页面中创建多个子标签页。 - [Prompt](https://rspress.rs/zh/ui/components/prompt.md): Prompt 组件用于突出展示可复制的 Agent 指令块或自定义 MDX 内容。 - [SourceCode](https://rspress.rs/zh/ui/components/source-code.md): SourceCode 源码链接组件,用于渲染指向 GitHub 或 GitLab 仓库源码的链接。 - [Steps](https://rspress.rs/zh/ui/components/steps.md): Steps 步骤组件,用于将 Markdown 内容渲染为分步说明块。 - [Tabs/Tab](https://rspress.rs/zh/ui/components/tabs.md): Tabs 标签页组件,用于在多个内容面板间切换,支持分组同步。 - [运行时组件](https://rspress.rs/zh/ui/runtime-components/index.md): Rspress 运行时组件概览,包含 Head、NoSSR 和 BrowserOnly 等运行时使用的组件。 - [BrowserOnly](https://rspress.rs/zh/ui/runtime-components/browser-only.md): BrowserOnly 组件,用于在 hydration 后仅在浏览器中渲染内容。 - [Head](https://rspress.rs/zh/ui/runtime-components/head.md): Head 组件,用于向文档页面插入自定义 head 内容,如 meta 标签和 link。 - [NoSSR](https://rspress.rs/zh/ui/runtime-components/no-ssr.md): NoSSR 组件,用于禁用服务端渲染,仅在客户端渲染特定内容。 - [内置图标](https://rspress.rs/zh/ui/icons/index.md): Rspress 内置图标列表,以及如何通过自定义主题替换图标。 - [布局组件](https://rspress.rs/zh/ui/layout-components/index.md): Rspress 内置的布局组件概览,包含默认的首页、Overview 页面布局等。 - [Banner](https://rspress.rs/zh/ui/layout-components/banner.md): Banner 通知横幅组件,用于在页面顶部显示通知消息,支持链接跳转和关闭功能。 - [DocFooter](https://rspress.rs/zh/ui/layout-components/doc-footer.md): DocFooter 文档页脚组件,包含编辑链接、最后更新时间和上一页/下一页导航。 - [EditLink](https://rspress.rs/zh/ui/layout-components/edit-link.md): EditLink 编辑链接组件,用于渲染"编辑此页"链接,跳转到文档源文件编辑页面。 - [getCustomMDXComponent](https://rspress.rs/zh/ui/layout-components/get-custom-mdx-component.md): getCustomMDXComponent 主题 API,用于覆盖 Rspress 文档布局中的默认 MDX 元素渲染组件。 - [HomeBackground](https://rspress.rs/zh/ui/layout-components/home-background.md): HomeBackground 首页背景组件,用于渲染首页背景效果并自动设置透明导航栏。 - [HomeFeature](https://rspress.rs/zh/ui/layout-components/home-feature.md): HomeFeature 首页特性组件,用于在首页 Hero 区域下方渲染特性网格卡片。 - [HomeFooter](https://rspress.rs/zh/ui/layout-components/home-footer.md): HomeFooter 首页页脚组件,用于在首页底部渲染页脚信息。 - [HomeHero](https://rspress.rs/zh/ui/layout-components/home-hero.md): HomeHero 首页主视觉组件,用于渲染首页的 Hero 区域,包含标题、描述和操作按钮。 - [HomeLayout](https://rspress.rs/zh/ui/layout-components/home-layout.md): HomeLayout 首页布局组件,用于渲染首页的整体布局,包含 Hero、Features 和 Footer 区域。 - [LastUpdated](https://rspress.rs/zh/ui/layout-components/last-updated.md): LastUpdated 最后更新时间组件,用于展示页面的最后更新时间与作者。 - [Layout](https://rspress.rs/zh/ui/layout-components/layout.md): Layout 布局组件,作为整个页面的布局容器,提供丰富的插槽 props 用于自定义扩展。 - [NavTitle](https://rspress.rs/zh/ui/layout-components/nav-title.md): 该组件是导航栏的一部分,NavTitle 用于渲染导航栏左上角的站点 Logo 和标题。 - [OverviewGroup](https://rspress.rs/zh/ui/layout-components/overview-group.md): OverviewGroup 概览分组组件,用于渲染概览页面中的分组卡片和页面列表。 - [PrevNextPage](https://rspress.rs/zh/ui/layout-components/prev-next-page.md): PrevNextPage 上下页导航组件,用于渲染页面底部的上一页/下一页链接。 - [Root](https://rspress.rs/zh/ui/layout-components/root.md): Root 根组件,作为整个应用的包装组件,用于包裹自定义 Provider。 - [Tag](https://rspress.rs/zh/ui/layout-components/tag.md): Tag 标签组件,用于在侧边栏或导航栏中显示标记,支持内置标签、SVG 和图片。 - [内置 hooks](https://rspress.rs/zh/ui/hooks/index.md): Rspress 内置 React hooks 概览,用于获取页面数据、主题状态和路由信息。 - [路由 Hooks](https://rspress.rs/zh/ui/hooks/router-hooks.md): 路由相关 hooks,重导出自 react-router-dom,用于访问导航与位置信息。 - [useDark](https://rspress.rs/zh/ui/hooks/use-dark.md): useDark hook,用于判断当前主题是否为暗黑模式。 - [useFrontmatter](https://rspress.rs/zh/ui/hooks/use-frontmatter.md): useFrontmatter hook,用于获取当前页面的 frontmatter 元信息。 - [useHead](https://rspress.rs/zh/ui/hooks/use-head.md): useHead hook,用于在 React 组件和布局中声明文档 head 标签。 - [useI18n](https://rspress.rs/zh/ui/hooks/use-i18n.md): useI18n hook,用于在自定义组件中读取配置的多语言文案。 - [useLang](https://rspress.rs/zh/ui/hooks/use-lang.md): useLang hook,用于获取当前语言代码,便于多语言渲染和路由跳转。 - [usePageData](https://rspress.rs/zh/ui/hooks/use-page-data.md): usePageData hook(已废弃),用于获取当前页面元数据,推荐使用 usePage 替代。 - [usePage](https://rspress.rs/zh/ui/hooks/use-page.md): usePage hook,用于获取当前 Markdown/MDX 页面的元信息。 - [usePages](https://rspress.rs/zh/ui/hooks/use-pages.md): usePages hook,用于获取站点内所有页面的元信息列表。 - [useSite](https://rspress.rs/zh/ui/hooks/use-site.md): useSite hook,用于获取根据配置归一化后的站点配置信息。 - [useVersion](https://rspress.rs/zh/ui/hooks/use-version.md): useVersion hook,用于在多版本文档中获取当前文档版本。 ## API - [API 概览](https://rspress.rs/zh/api/index.md) - [基础配置](https://rspress.rs/zh/api/config/config-basic.md) - [主题配置](https://rspress.rs/zh/api/config/config-theme.md): 主题配置位于 doc 配置中的 themeConfig 下。例如: - [Front matter 配置](https://rspress.rs/zh/api/config/config-frontmatter.md): 这篇文档介绍了如何使用 front matter 来配置页面的各种属性,包括标题、描述、页面类型、导航栏等。 查看 Front matter 了解什么是 front matter 以及如何使用它,查看 useFrontmatter 了解如何在代码中获取 front matter。 - [构建配置](https://rspress.rs/zh/api/config/config-build.md) - [命令](https://rspress.rs/zh/api/commands.md): 通过本章节,你可以了解到 Rspress 内置的命令有哪些,以及如何使用这些命令。 对于 dev、build 和 preview 命令,可选的 [root] 参数用于指定文档根目录。省略时,Rspress 会优先使用配置文件中的 root;如果未配置 root,则使用当前目录下的 docs 目录。 ## 博客 - [Rspress 博客](https://rspress.rs/zh/blog/index.md) - [怎样构建一个 Agent-friendly 的网站](https://rspress.rs/zh/blog/agent-friendly-website.md): Rspress 使用 llms.txt、SSG-MD、Accept: text/markdown 和 injectLlmsHint,供 Agent 发现和读取文档。 - [静态站点中的 Trailing slash 问题](https://rspress.rs/zh/blog/trailing-slash.md): 从一个真实问题出发,解释 trailing slash 为什么会导致相对链接错误,以及 Rspress 如何解决。 - [Rspress 2.0 发布公告](https://rspress.rs/zh/blog/rspress-v2.md): Rspress 2.0 正式发布,带来全新主题、AI-native 的 SSG-MD 和 llms.txt 生成、Shiki 代码高亮、按需编译,以及更完善的文档开发体验。