Versioning
docs
디렉토리에서 마지막으로 작성한 콘텐츠를 기준으로 변경된 콘텐츠를 처리하기 위해 version
스크립트를 사용할 수 있습니다. 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
버전으로 처리됩니다. 예를 들어 docs/next/doc1.html
와 같은 식입니다. 문서의 최신 버전 URL은 docs/doc1.html
이 됩니다.
yarn run version 2.0.0
스크립트를 실행하게 되면 2.0.0
버전이 생성되고 2.0.0
버전이 가장 최신의 문서 세트가 됩니다. 1.0.0
버전의 문서는 docs/1.0.0/doc1.html
URL로 접근할 수 있습니다. 2.0.0
버전의 문서는 docs/doc1.html
으로 접근합니다.
아래 표는 도큐사우르스 버전을 요약해서 표시한 내용입니다.
버전 | 태그 | 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 브랜치 | next | docs/next/doc1.html |
버전 규칙
버전 번호는 원하는 형식으로 지정할 수 있습니다. 기존 버전 번호와 겹치지만 않는다면 새로운 버전은 어떤 번호로든 생성할 수 있습니다. 버전의 순서는 버전이 만들어진 순서에 따라 결정되며 번호가 어떤 식으로 만들어졌는지와는 상관없습니다.
각 버전의 파일 저장하기
버전으로 생성된 문서는 website/versioned_docs/version-${version}
디렉토리로 생성됩니다. 여기서 ${version}
는 version
스크립트에서 설정한 버전 번호입니다.
버전 정보가 기록된 문서의 마크다운 헤더에서 기존 id 값은 original_id
항목으로 설정되고 id
항목값은 "version-${version}-${original_id}"
으로 설정됩니다.
버전정보가 기록된 사이드바도 website/versioned_sidebars
디렉토리에 복사되고 파일명은 version-${version}-sidebars.json
형식으로 바뀝니다.
website/versions.json
파일은 버전을 설정하는 시점에 생성되며 도큐사우르스에서 어떤 버전이 있는지 확인하기 위한 용도로 사용됩니다. 새로운 버전이 추가될때마다 versions.json
파일에 정보가 추가되어집니다.
과거 버전으로 문서를 변경하기 원한다면 각 버전의 파일에 접근할 수 있습니다.
이전 버전으로 되돌리기
docs
디렉토리에 있는 파일과 사이드바 파일은 새로운 버전으로 생성된 파일들과는 다를 수 있습니다. 버전 간 차이가 없다면 도큐사우르스에서는 최신 버전의 파일을 사용하게 됩니다.
예를 들어 original id가 doc1
인 문서의 버전이 1.0.0
이라고 할때 id가 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"
},
...
Run the script with command line arguments of first, the current version name, then second, the new version name. 아래와 같이 적용할 수 있습니다.
yarn run rename-version 1.0.0 1.0.1
Versioning and Translations
If you wish to use versioning and translations features, the crowdin.yaml
file should be set up to upload and download versioned documents to and from Crowdin for translation. Translated, versioned files will go into the directory translated_docs/${language}/version-${version}/
. For more information, check out the translations guide.