Versioning
Вы можете использовать команду version
, чтобы создать новую версию документации, основанную на наиболее свежем контенте, размещенном в каталоге docs
. Данный специфический набор документов будет сохранен с предоставлением к нему доступа, даже если документы в каталоге docs
впоследствии изменятся.
Как создавать новые версии
Выполните следующую команду для создания страницы, в которой будут перечислены все версии сайта:
yarn examples versions
Будет создан файл pages/en/versions.js
.
You can edit this file, later on, to customize how you display the versions.
Добавьте следующую команду в файл package.json
, если её там нет:
...
"scripts": {
"version": "docusaurus-version"
},
...
Запустите команду с параметром, указывающим версию, которую вы желаете создать. Например:
yarn run version 1.0.0
Команда сохранит все текущие документы в каталоге docs
и предоставит к ним доступ как к документации версии 1.0.0
.
Если, например, вы запустите команду версионирования с аргументом 1.0.0
в качестве номера версии, версия 1.0.0
будет считаться самой последней версией для вашего проекта. Сайт будет отображать номер версии сразу после заголовка в шапке страницы. Этот номер версии будет указывать на страницу с версиями, созданную вами ранее.
Документы из каталога docs
будут считаться частью версии next
и будут доступны по URL, например, docs/next/doc1.html
. Документы последней актуальной версии будут доступны по URL адресу docs/doc1.html
.
Запустив команду снова, с другим номером версии - yarn run version 2.0.0
, вы создадите версию 2.0.0
, причем версия 2.0.0
станет самой последней версией вашей документации. Документы версии 1.0.0
будут доступны по URL-адресу docs/1.0.0/doc1.html
, в то время как 2.0.0
по адресу docs/doc1.html
.
В приведенной ниже таблице кратко представлено управление версиями Docusaurus:
Версия | Метка | URL |
---|---|---|
1.0.0 | 1.0.0 | docs/1.0.0/doc1.html |
1.0.1 | 1.0.1 | docs/1.0.1/doc1.html |
2.0.0 | current | docs/doc1.html |
master branch | next | docs/next/doc1.html |
Паттерны версионирования
Вы можете создавать номера версий в любом требуемом формате, причем новая версия может быть создана с любым номером, который не совпадает с уже существующими. Порядок версий определяется порядком их публикации, вне зависимости от их нумерации.
Хранение файлов каждой версии
Версионированные документы размещаются в каталоге вида website/versioned_docs/version-${version}
, где ${version}
это номер версии, предоставленный вами команде version
.
Заголовки markdown в каждой версии документации изменяются путем переименовывания поля id original_id
исходного документа в строку вида "version-${version}-${original_id}"
, которая становится актуальным значение поля id для версионированного документа.
Версионированные боковые панели копируются в каталог website/versioned_sidebars
с именем вида version-${version}-sidebars.json
.
Файл website/versions.json
создается, когда вы в первый раз публикуете версию, затем Docusaurus использует этот файл для определения того, какие версии существуют. Каждый раз, когда добавляется новая версия, она указывается в файле versions.json
.
Если вы желаете изменить документацию более ранней версии, вы можете получить доступ к её файлам.
Резервная функциональность
Каждый раз, когда вы создаете новую версию документации, копируются только те файлы из каталога docs
и файлы боковой панели, которые отличаются от таковых в последней версии. Если файл в новой версии не получил каких-либо изменений, то Docusaurus будет использовать файл предыдущей версии.
Например, документ с идентификатором doc1
из последней версии 1.0.0
, содержит тот же контент, что и документ с идентификатором doc1
в каталоге docs
. При создании новой версии, 2.0.0
, файл doc1
не будет скопирован в каталог versioned_docs/version-2.0.0/
. При этом страница docs/2.0.0/doc1.html
будет существовать, но будет использовать файл версии 1.0.0
.
Because of the way this fallback works, pages that you delete are not really deleted from the website unless you tell Docusaurus to skip fallback after a certain version. To do this, use the deletedDocs
option in siteConfig.js
.
Переименование существующих версий
Чтобы дать существующей версии новый номер, убедитесь, что следующая команда указана в файле package.json
:
...
"scripts": {
"rename-version": "docusaurus-rename-version"
},
...
Выполните команду в терминале, указав первым параметром текущий номер версии, а вторым параметром - новый номер версии. Например:
yarn run rename-version 1.0.0 1.0.1
Версионирование и перевод
Если вы желаете использовать функции управления версиями и переводами, файл crowdin.yaml
должен быть настроен для загрузки версий документов в Crowdin и выгрузки из него переведенных файлов. Переведенные, версионированные файлы будут перемещены в каталог translated_docs/${language}/version-${version}/
. Чтобы узнать больше, обратитесь к руководству по переводу.