WeaviateはDocusaurus 2を使用してドキュメントを作成します。 Docusaurusは、node.jsの下で実行される静的なWebサイトジェネレーターです。 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
このWebサイトに貢献するには、最初にこのリポジトリをフォークし、作業するローカルコピーを作成します。
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とその他のプロジェクト依存関係をインストールする必要があります。
プロジェクトディレクトリに切り替えてから、YARNを使用して依存関係を更新します。
cd weaviate-io
yarn install
インストール中にいくつかの警告が表示される場合があります。
インストールが完了したら、 yarnサーバーを起動してビルドをテストします。
yarn start
これにより、サイトが構築され、ローカルサーバーが起動し、http:// localhost:3000/を開きます。ローカルビルドを表示します。端末を閉じると、サーバーが停止します。または、 Ctrl+C / Cmd+Cを押してサーバーを停止します。
このコマンドは、静的コンテンツをbuildディレクトリに生成します。ホスティングサービスを使用して、静的コンテンツを提供できます。
yarn build
buildコマンドは、編集が終了したときに役立ちます。 yarn startを実行してローカルWebサーバーの起動を開始した場合、編集中に変更を確認するためにyarn buildを使用する必要はありません。
ビルドコマンドはリンクチェッカーを実行します。一時的に壊れたリンクに問題がある場合は、 URL_IGNORES変数を更新して、そのリンクのチェックを無効にすることができます。
リンクチェックを無効にするには、これらのスクリプトのURL_IGNORESリストに壊れたURLを追加します。
マージリクエストを送信する前に、リンクをもう一度確認してください。リンクが機能する場合は、 URL_IGNORESリストから削除します。リンクが機能しない場合は、プルリクエストでそれについて教えてください。
SSHの使用:
USE_SSH=true yarn deploy
SSHを使用していない:
GIT_USER=<Your GitHub username> yarn deploy
ホスティングにGitHubページを使用している場合、このコマンドはWebサイトを構築してgh-pagesブランチにプッシュする便利な方法です。
ドキュメントのコード例は、2つの形式のいずれかのいずれかです。
多くのファイルでは、次のような形式が表示されます。
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はこれらの例でエラーを選択しないため、ここに編集または追加する前に、お好みの環境でコードをテストしてください。