Weaviate использует Docusaurus 2 для создания нашей документации. Docusaurus - это статический генератор веб -сайтов, который работает под Node.js. Мы используем инструмент управления проектами node.js под названием «пряжа» для установки Docusaurus и для управления зависимостями проекта.
Если в вашей системе нет Node.js и yarn , сначала установите их.
Используйте диспетчер пакетов NVM для установки node.js. На странице проекта nvm представлен сценарий установки.
После установки nvm используйте nvm для установки node.js.
nvm install
По умолчанию nvm устанавливает самую последнюю версию node.js. Также установите версию node.js, которая указана в .github/workflows/pull_requests.yaml . На момент написания написания это версия 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 в списки URL_IGNORES в этих сценариях:
Проверьте ссылку еще раз, прежде чем отправить запрос на слияние. Если ссылка работает, удалите ее из списка 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 не примет никаких ошибок в этих примерах, поэтому, пожалуйста, обязательно протестируйте код в вашей предпочтительной среде перед редактированием или добавлением их здесь.