多版本文档

Rspress 的默认主题中支持多版本文档管理,接下来,我们将介绍如何接入多版本文档。

multiVersion 配置

通过 multiVersion 配置版本列表和默认版本,比如:

rspress.config.ts
import { defineConfig } from 'rspress/config';

export default defineConfig({
  multiVersion: {
    default: 'v1',
    versions: ['v1', 'v2'],
  },
});

其中,default 为默认版本,versions 为版本列表。

添加多版本文档

根据你配置的版本列表,在 docs 目录下,添加多版本文档,比如:

docs
├── v1
│   ├── README.md
│   └── guide
│       └── README.md
└── v2
    ├── README.md
    └── guide
        └── README.md

在 Rspress 的约定式路由中,对于默认版本,会自动省略掉版本的路径前缀。如 v1/README.md 会被渲染为 /README 路由,而 v2/README.md 会被渲染为 /v2/README 路由。

提示

对于文档中的链接,你不需要手动添加版本前缀,Rspress 会自动根据当前文档的版本,添加对应的版本前缀。如 v2/README.md 中的链接 /guide/README 会被渲染为 /v2/guide/README

组件中获取当前版本

在组件中,你可以通过 useVersion 获取当前版本,比如:

import { useVersion } from 'rspress/runtime';

export default () => {
  const version = useVersion();
  return <div>当前版本:{version}</div>;
};

仅搜索当前版本

可以配置 search.versioned 来仅搜索当前版本的文档。

rspress.config.ts
import { defineConfig } from 'rspress/config';

export default defineConfig({
  multiVersion: {
    default: 'v1',
    versions: ['v1', 'v2'],
  },
  search: {
    versioned: true,
  },
});