Weaviate는 Docusaurus 2를 사용하여 문서를 작성합니다. Docusaurus는 Node.js에서 실행되는 정적 웹 사이트 생성기입니다. 우리는 Yarn이라는 Node.js 프로젝트 관리 도구를 사용하여 Docusaurus를 설치하고 프로젝트 종속성을 관리합니다.
시스템에 Node.js와 yarn 설치되지 않은 경우 먼저 설치하십시오.
NVM 패키지 관리자를 사용하여 Node.js를 설치하십시오. nvm 프로젝트 페이지는 설치 스크립트를 제공합니다.
nvm 설치 한 후 nvm 사용하여 Node.js를 설치하십시오.
nvm install
기본적으로 nvm 최신 버전의 Node.js를 설치합니다. 또한 .github/workflows/pull_requests.yaml 에 지정된 node.js 버전을 설치하십시오. 글을 쓰는 시점에서는 버전 20입니다.
nvm install 20
nvm use 20
Node.js에는 NPM 패키지 관리자가 포함됩니다. npm 사용하여 yarn 설치하십시오.
npm install --global yarn
이 웹 사이트에 기여하려면 먼저이 저장소를 포크하고 작업 할 로컬 사본을 만듭니다.
GitHub 계정에 로그인하십시오.
업스트림 저장소, https://github.com/weaviate/weaviate-io를 포크하십시오.
저장소를 로컬 시스템으로 복제하십시오.
git clone [email protected]:YOUR-GITHUB-HANDLE/weaviate-io.git
SSH 키 설정을 포함하여 저장소 복제에 대한 자세한 내용은 GitHub 문서를 참조하십시오.
원격 추적 브랜치를 설정하십시오.
git remote add upstream https://github.com/weaviate/weaviate-io.git
리모컨을 확인하십시오.
git remote -v
# The output resembles:
origin https://github.com/YOUR-GITHUB-HANDLE/weaviate-io.git (fetch)
origin https://github.com/YOUR-GITHUB-HANDLE/weaviate-io.git (push)
upstream https://github.com/weaviate/weaviate-io.git (fetch)
upstream https://github.com/weaviate/weaviate-io.git (push)
추적 분기를 구성하십시오.
이 단계에서는 업데이트 작업을하는 동안 업스트림 변경을 추적 할 수 있습니다. 변경 사항을 기여할 준비가되면 upstream/main 브랜치에 대한 풀 요청을 작성하십시오.
상류 가지를 얻으십시오.
git fetch upstream
새 프로젝트 지점을 만들 때 upstream/main 추적 지점으로 추가하십시오. git checkout 사용하여 추적 브랜치를 설정하거나 워크 플로에 맞는 대체 방법을 선택할 수 있습니다.
git checkout -b your-update-branch-name upstream/main
리포지토리의 로컬 사본이 있으면 Docusaurus 및 기타 프로젝트 종속성을 설치해야합니다.
프로젝트 디렉토리로 전환 한 다음 원사를 사용하여 종속성을 업데이트하십시오.
cd weaviate-io
yarn install
설치 중에 몇 가지 경고가 표시 될 수 있습니다.
설치가 완료되면 yarn 서버를 시작하여 빌드를 테스트하십시오.
yarn start
이렇게하면 사이트를 구축하고 로컬 서버를 시작한 다음 http : // localhost : 3000/로컬 빌드를 표시합니다. 터미널을 닫으면 서버가 중지됩니다. 또는 Ctrl+C / Cmd+C 눌러 서버를 중지하십시오.
이 명령은 build 디렉토리에 정적 컨텐츠를 생성합니다. 호스팅 서비스를 사용하여 정적 컨텐츠를 제공 할 수 있습니다.
yarn build
build 명령은 편집이 완료 될 때 유용합니다. yarn start 편집하는 동안 변경 사항을 확인하기 위해 yarn build 사용할 필요가 없습니다.
빌드 명령은 링크 검사기를 실행합니다. 일시적으로 고장난 링크에 문제가있는 경우 URL_IGNORES 변수를 업데이트하여 해당 링크를 비활성화 할 수 있습니다.
링크 점검을 비활성화하려면이 스크립트의 URL_IGNORES 목록에 깨진 URL을 추가하십시오.
병합 요청을 제출하기 전에 링크를 다시 확인하십시오. 링크가 작동하면 URL_IGNORES 목록에서 링크를 제거하십시오. 링크가 작동하지 않으면 풀 요청에 대해 알려주십시오.
SSH 사용 :
USE_SSH=true yarn deploy
SSH를 사용하지 않음 :
GIT_USER=<Your GitHub username> yarn deploy
호스팅에 GitHub 페이지를 사용하는 경우이 명령은 웹 사이트를 구축하고 gh-pages 브랜치로 밀리는 편리한 방법입니다.
문서의 코드 예제는 두 가지 형식 중 하나입니다.
많은 파일에서 다음과 유사한 형식이 표시됩니다.
import Tabs from ' @ theme/Tabs ';
import TabItem from ' @ theme/TabItem ';
import FilteredTextBlock from ' @ site/src /components/Documentation/FilteredTextBlock';
import PyCode from '!!raw-loader!/ _ includes/code/howto/manage-data.create.py';
import TSCode from '!!raw-loader!/ _ includes/code/howto/manage-data.create.ts';
< Tabs groupId = " languages " >
< TabItem value = " py " label = " Python " >
<FilteredTextBlock
text={PyCode}
startMarker="# ValidateObject START"
endMarker="# ValidateObject END"
language="py"
/>
</ TabItem >
< TabItem value = " js " label = " JS/TS Client v2 " >
<FilteredTextBlock
text={TSCode}
startMarker="// ValidateObject START"
endMarker="// ValidateObject END"
language="tsv2"
/>
</ TabItem >
</ Tabs > 이것은 사용자 정의 FilteredTextBlock JSX 구성 요소를 사용합니다.
여기서 FilteredTextBlock 블록 구성 요소는 수입 스크립트에서 startMarker 와 endMarker 사이의 선을로드합니다. 이를 통해 전체 스크립트를 작성할 수 있습니다. 여기에는 잘못된 코드 예제의 발생을 줄이기위한 테스트가 포함될 수 있습니다.
테스트에 대한 자세한 내용은 readme-tests.md를 참조하십시오.
일부 코드 예제에서 코드는 아래와 같이 TabItem 구성 요소 내부에 직접 작성됩니다.
import Tabs from ' @ theme/Tabs ';
import TabItem from ' @ theme/TabItem ';
< Tabs groupId = " languages " >
< TabItem value = " py " label = " Python " >
```python
import weaviate
client = weaviate.Client("http://localhost:8080")
```
</ TabItem >
< TabItem value = " js " label = " JS/TS Client v2 " >
```
import weaviate from 'weaviate-ts-client';
const client = weaviate.client({
scheme: 'http',
host: 'localhost:8080',
});
```
</ TabItem >
... and any other tabs
</ Tabs >IDE는이 예제에서 오류를 선택하지 않으므로 편집하거나 추가하기 전에 선호하는 환경에서 코드를 테스트하십시오.