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/advanced/extend-build.md.
close

Расширение сборки

Rsbuild

Rspress собирает документацию с помощью Rsbuild.

Настройка Rsbuild

Rsbuild предоставляет широкий набор параметров сборки. Настроить их можно с помощью builderConfig. Например, чтобы изменить каталог вывода на doc_dist:

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

export default defineConfig({
  builderConfig: {
    output: {
      distPath: {
        root: 'doc_dist',
      },
    },
  },
});

Rspress также предоставляет builderConfig.plugins для регистрации плагинов Rsbuild. Используйте экосистему плагинов Rsbuild, чтобы расширить поведение сборки.

Например, можно добавить Google Analytics с помощью плагина rsbuild-plugin-google-analytics:

rspress.config.ts
import { defineConfig } from '@rspress/core';
import { pluginGoogleAnalytics } from 'rsbuild-plugin-google-analytics';

export default defineConfig({
  builderConfig: {
    plugins: [
      pluginGoogleAnalytics({
        // замените на свой Google tag ID
        id: 'G-xxxxxxxxxx',
      }),
    ],
  },
});
Совет

Подробнее см. в документации Rsbuild — Config.

Настройка Rspack

Настроить Rspack можно через опцию tools.rspack, которую предоставляет сам Rsbuild:

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

export default defineConfig({
  builderConfig: {
    tools: {
      rspack(options) {
        // изменяем конфигурацию rspack
      },
    },
  },
});

Компиляция MDX

Rspress компилирует MDX с помощью unified. Добавить связанные плагины компиляции можно через конфигурацию markdown. Например:

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

export default defineConfig({
  markdown: {
    remarkPlugins: [
      [
        require('remark-autolink-headings'),
        {
          behavior: 'wrap',
        },
      ],
    ],
    rehypePlugins: [require('rehype-slug')],
  },
});