For AI agents: the complete documentation index is available at /rspress-russian/llms.txt, the full documentation bundle is available at /rspress-russian/llms-full.txt, and this page is available as Markdown at /rspress-russian/guide/basic/multi-version.md.
close

Мультиверсионность

Стандартная тема Rspress поддерживает документацию с несколькими версиями. В этом руководстве показано, как включить и организовать такие версии.

Настройка multiVersion

Список версий и версия по умолчанию задаются с помощью параметра multiVersion:

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

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

Здесь default — это версия по умолчанию, а versions — список всех доступных версий.

Добавление документов для разных версий

На основе настроенного списка версий добавьте версии документации в директорию docs:

docs
v1
index.mdx
guide
index.mdx
v2
index.mdx
guide
index.mdx

В стандартной маршрутизации Rspress префикс для версии по умолчанию опускается. Например, v1/index.mdx отображается как /, а v2/index.mdx — как /v2/.

Подсказка

Для ссылок на документы не нужно вручную добавлять префикс версии. Rspress автоматически добавляет соответствующий префикс в зависимости от текущей версии документа. Например, /guide/ в v2/index.mdx отображается как /v2/guide/.

Использование вместе с i18n

Вы можете использовать документацию с несколькими версиями вместе с интернационализацией. Если включены обе функции, структура директорий строится так: сначала версии на верхнем уровне, затем языковые поддиректории внутри каждой версии:

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

export default defineConfig({
  lang: 'ru',
  locales: [
    {
      lang: 'en',
      label: 'English',
    },
    {
      lang: 'ru',
      label: 'Русский',
    },
  ],
  multiVersion: {
    default: 'v1',
    versions: ['v1', 'v2'],
  },
});

Организуйте директорию docs следующим образом:

docs
v1
en
_nav.json
index.md
guide
index.md
ru
_nav.json
index.md
guide
index.md
v2
en
_nav.json
index.md
guide
index.md
ru
_nav.json
index.md
guide
index.md

Сгенерированные маршруты следуют шаблону /{version}/{lang}/:

Путь к файлуМаршрут
v1/en/index.md/ (версия по умолчанию + язык по умолчанию, оба префикса опущены)
v1/ru/index.md/ru/
v2/en/index.md/v2/
v2/ru/index.md/v2/ru/

Получение текущей версии в компонентах

В компонентах текущую версию можно получить с помощью useVersion:

import { useVersion } from '@rspress/core/runtime';

export default () => {
  const version = useVersion();
  return <div>Текущая версия: {version}</div>;
};

Поиск, специфичный для версии

По умолчанию search.versioned установлен в true, что означает, что поиск будет выполняться только по индексу, соответствующему текущей выбранной версии. Если вы хотите выполнять поиск по всем версиям, можно установить значение false:

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

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