Конфигурация темы
Конфигурация темы задаётся в themeConfig. Например:
nav
- Тип:
Array - По умолчанию:
[]
Параметр nav — это массив элементов типа NavItem, которые могут иметь следующие формы:
Значение activeMatch сопоставляется с текущим маршрутом. Когда маршрут соответствует правилу activeMatch, пункт навигации подсвечивается. По умолчанию activeMatch использует link элемента навигации.
Для локальных значков поместите изображение в каталог public и укажите его через абсолютный путь, например /icon.png. Также поддерживаются встроенные строки SVG, эмодзи, внешние URL-адреса и data URL.
Например:
Также можно настроить многоуровневые меню в массиве nav со следующим типом:
Например:
sidebar
- Тип:
Object
Конфигурация боковой панели сайта. Это объект со следующим типом:
Например:
footer
- Тип:
Object - По умолчанию:
{}
Настройка футера главной страницы.
Параметр footer — это объект типа Footer:
message — это строка, которая может содержать HTML-контент. Данная строка будет вставлена в футер с помощью dangerouslySetInnerHTML, что позволяет передавать HTML-теги и произвольно оформлять футер.
Например:
lastUpdated
- Тип:
boolean | { author?: boolean | ((info: { name: string; email: string; filePath: string }) => string) } - По умолчанию:
false
Управляет отображением времени последнего обновления на каждой странице документации. Rspress получает это значение из последнего Git-коммита файла.
При развёртывании в CI убедитесь, что история Git доступна. Например, в GitHub Actions используйте fetch-depth: 0 для actions/checkout.
Установите параметр author, чтобы также отображать автора последнего коммита. Чтобы настроить отображаемый текст с именем автора, можно передать функцию.
socialLinks
- Тип:
Array - По умолчанию:
[]
Добавляет связанные ссылки, например GitHub или X. Связанные ссылки поддерживают пять режимов: link, text, img, dom и github-stars. Например:
- В режиме
linkпри клике на иконку открывается ссылка. - В режиме
textпри наведении на иконку отображается всплывающая подсказка с заданным текстом. - В режиме
imgпри наведении на иконку отображается всплывающая подсказка с изображением. Изображение должно находиться в каталогеpublic. - В режиме
domпередаётся HTML-строка для прямого рендеринга вcontent. Её нужно заключить в кавычки. - В режиме
github-starsзначениеcontentдолжно быть URL-адресом репозитория GitHub. Количество звёзд репозитория запрашивается через GitHub REST API и отображается рядом с иконкой. Результат кэшируется вlocalStorageна один час, чтобы избежать превышения лимита запросов API. Если запрос не удался (отсутствует интернет, превышен лимит, приватный репозиторий), иконка превращается в обычную ссылку.
Связанные ссылки поддерживают следующие типы иконок, выбираемые через атрибут icon:
Чтобы использовать собственную иконку, передайте объект с полем svg. Значение svg — это содержимое пользовательской иконки:
nextPageText
- Тип:
string - По умолчанию:
Next Page
Текст ссылки «Следующая страница». Например:
locales
- Тип:
Array<LocaleConfig> - По умолчанию:
undefined
Конфигурация i18n. Это массив объектов LocaleConfig:
LocaleConfig содержит многие из тех же параметров, что и конфигурация темы, но значения, заданные для конкретной локали, имеют более высокий приоритет.
darkMode
- Тип:
boolean | 'dark' | 'light' | 'auto' | 'force-light' | 'force-dark' | 'force-auto' - По умолчанию:
true
Когда включена тёмная тема, Rspress добавляет класс dark к элементу <html>. Для настройки стилей тёмной темы можно использовать селектор html.dark:
Настраиваем поведение светлой и тёмной тем:
true: то же, что и'auto'.false: то же, что и'force-light'.'light': отображать кнопку переключения и использовать светлую тему по умолчанию, если пользователь ещё не сохранил свои предпочтения.'dark': отображать кнопку переключения и использовать тёмную тему по умолчанию, если пользователь ещё не сохранил свои предпочтения.'auto': отображать кнопку переключения и по умолчанию следовать системным настройкам пользователя, если пользователь ещё не сохранил свои предпочтения.'force-light': всегда использовать светлую тему и скрыть кнопку переключения.'force-dark': всегда использовать тёмную тему и скрыть кнопку переключения.'force-auto': всегда следовать системным настройкам пользователя и скрыть кнопку переключения.
Например, чтобы всегда использовать тёмную тему и скрыть кнопку переключения:
editLink
- Тип:
- По умолчанию:
undefined
Отображает ссылку «Редактировать страницу» на сервисе управления Git (например, GitHub, GitLab). Ссылка отображается как в подвале документа, так и в панели оглавления.
Например:
enableContentAnimation
- Тип:
boolean - По умолчанию:
false
Управляет тем, анимируются ли переходы между страницами. Реализовано с помощью View Transition API. Например:
На данный момент анимация не настраивается.
enableAppearanceAnimation
- Тип:
boolean - По умолчанию:
false
Управляет тем, анимируется ли переключение между светлой и тёмной темой. Реализовано с помощью View Transition API. Например:
На данный момент анимация не настраивается.
search
- Тип:
boolean - По умолчанию:
true
Отображать ли поле поиска. Например:
enableScrollToTop
- Тип:
boolean - По умолчанию:
true
Включает кнопку прокрутки наверх на страницах документации. Например:
localeRedirect
- Тип:
'auto' | 'never' | 'only-default-lang' - По умолчанию:
'auto'
Управляет перенаправлением новых посетителей на ближайшую настроенную локаль на основе window.navigator.language.
Этот параметр был перенесён в route.localeRedirect. themeConfig.localeRedirect по-прежнему поддерживается для обратной совместимости, но считается устаревшим. Перенесите параметр в route; если заданы оба параметра, приоритет имеет route.localeRedirect.
fallbackHeadingTitle
- Тип:
boolean - По умолчанию:
true
Определяет, используется ли title из метаданных как резервный вариант, если в документе отсутствует заголовок H1. Например:
llmsUI
- Тип:
- По умолчанию:
false(автоматически устанавливается вtrue, когда настроеноllms: true)
Конфигурация UI-компонентов llms. При включении LlmsCopyButton и LlmsViewOptions автоматически добавляются под всеми заголовками H1 по умолчанию или как строки в панели оглавления.
Это полезно при использовании функции llms для генерации файлов llms.txt, поскольку пользователи могут копировать или открывать Markdown-контент в ИИ-инструментах.
SSG-MD выполняется только на этапе сборки, поэтому копирование Markdown-контента не работает в режиме dev. Сначала выполните rspress build, затем используйте rspress preview для отладки. См. различия между режимами разработки и сборки для подробностей.
Например:
injectLlmsHint
- Тип:
boolean - По умолчанию:
true
Этот параметр определяет, будет ли подсказка с директивой для LLM внедряться в сгенерированные страницы. Один и тот же компонент LlmsHint имеет две формы вывода:
- В HTML-выводе SSG он отображается как визуально скрытый текстовый DOM-элемент в верхней части страницы. При этом не используются
display: none, атрибутhidden,aria-hiddenили вложенные ссылки, чтобы преобразование HTML в Markdown на стороне агента могло сохранить директиву в виде текста. - В Markdown-выводе SSG-MD он отображается в виде строки с цитатой в верхней части Markdown-страницы.
Если предположить, что siteOrigin имеет значение https://example.com, следующая HTML-директива будет внедрена в страницу /guide/:
Markdown-вывод SSG-MD для той же страницы начинается с:
URL-адреса автоматически включают настроенные префиксы siteOrigin, base, локали и версии. Если siteOrigin не задан, URL-адреса остаются путями с учётом base.
Установите injectLlmsHint в false, чтобы отключить это поведение:
viewOptions
- Тип:
false | Array<'markdownLink' | 'chatgpt' | 'claude'> - По умолчанию:
['markdownLink', 'chatgpt', 'claude']
Опции для выпадающего меню LlmsViewOptions. Встроенные варианты включают:
'markdownLink': Копировать ссылку на markdown-файл'chatgpt': Открыть в ChatGPT'claude': Открыть в Claude
Установите viewOptions в значение false или [], чтобы скрыть интерфейс параметров представления.
placement
- Тип:
'title' | 'outline' - По умолчанию:
'title'
Определяет, где отображаются UI-компоненты LLMS.
'title': Показывать в виде кнопок под заголовком H1 (поведение по умолчанию)'outline': Показывать в виде отдельных строк в панели оглавления

