O Weaviate usa Docusaurus 2 para construir nossa documentação. Docusaurus é um gerador de sites estáticos que é executado no Node.js. Utilizamos uma ferramenta de gerenciamento de projetos Node.js chamada YARN para instalar o Docusaurus e gerenciar dependências do projeto.
Se você não tiver node.js e yarn instalados no seu sistema, instale -os primeiro.
Use o NVM Package Manager para instalar o Node.js. A página do projeto nvm fornece um script de instalação.
Depois de instalar nvm , use nvm para instalar o Node.js.
nvm install
Por padrão, nvm instala a versão mais recente do Node.JS. Instale também a versão do Node.js especificada em .github/workflows/pull_requests.yaml . No momento da redação, é a versão 20.
nvm install 20
nvm use 20
O Node.js inclui o gerenciador de pacotes NPM. Use npm para instalar yarn .
npm install --global yarn
Para contribuir com este site, primeiro bifurque este repositório e crie uma cópia local para trabalhar.
Faça login na sua conta do GitHub.
Fork the Upstream Repository, https://github.com/waviate/weaviate-io.
Clone o repositório do seu sistema local.
git clone [email protected]:YOUR-GITHUB-HANDLE/weaviate-io.git
Para obter detalhes sobre a clonagem de um repositório, incluindo a configuração de uma chave SSH, consulte a documentação do GitHub.
Defina a filial de rastreamento remoto.
git remote add upstream https://github.com/weaviate/weaviate-io.git
Verifique os controles remotos.
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)
Configure um ramo de rastreamento.
Esta etapa permite rastrear as alterações upstream enquanto trabalha em sua atualização. Quando estiver pronto para contribuir com suas alterações, crie uma solicitação de tração contra a ramificação upstream/main .
Obtenha os ramos upstream.
git fetch upstream
Adicione upstream/main como uma ramificação de rastreamento ao criar uma nova ramificação do projeto. Você pode usar git checkout para definir a ramificação de rastreamento ou escolher um método alternativo que se encaixe no seu fluxo de trabalho.
git checkout -b your-update-branch-name upstream/main
Depois de ter uma cópia local do repositório, você precisa instalar o Docusaurus e as outras dependências do projeto.
Mude para o diretório do projeto e use o fio para atualizar as dependências.
cd weaviate-io
yarn install
Você pode ver alguns avisos durante a instalação.
Quando a instalação for concluída, inicie o servidor yarn para testar sua compilação.
yarn start
Isso criará o site e iniciará um servidor local e abrirá http: // localhost: 3000/mostra a compilação local. Se você fechar o terminal, o servidor parará. Ou pressione Ctrl+C / Cmd+C para interromper o servidor.
Este comando gera conteúdo estático no diretório build . Você pode usar um serviço de hospedagem para servir o conteúdo estático.
yarn build
O comando build é útil quando você terminar de edição. Se você correu yarn start a iniciar um servidor da web local, não precisará usar yarn build para vê -lo alterações enquanto estiver editando.
O comando Build executa um verificador de link. Se você estiver tendo problemas com links temporariamente quebrados, poderá atualizar a variável URL_IGNORES para desativar a verificação desse link.
Para desativar a verificação do link, adicione o URL quebrado às listas URL_IGNORES nesses scripts:
Verifique o link novamente antes de enviar uma solicitação de mesclagem. Se o link funcionar, remova -o da lista URL_IGNORES . Se o link não funcionar, conte -nos sobre isso na solicitação de tração.
Usando SSH:
USE_SSH=true yarn deploy
Não usando ssh:
GIT_USER=<Your GitHub username> yarn deploy
Se você estiver usando páginas do Github para hospedagem, este comando é uma maneira conveniente de criar o site e pressionar a filial de gh-pages .
Exemplos de código na documentação estão em um dos dois formatos:
Em muitos arquivos, você verá um formato semelhante a:
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 > Isso utiliza nosso componente JSX personalizado FilteredTextBlock JSX.
Aqui, o componente FilteredTextBlock carrega linhas entre o startMarker e endMarker dos scripts importados. Isso nos permite escrever scripts completos, que podem incluir testes para reduzir as ocorrências de exemplos de código errôneos.
Para mais informações sobre testes, consulte ReadMe-tests.md.
Em alguns exemplos de código, o código será gravado diretamente dentro do componente TabItem , como mostrado abaixo.
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 >Seu IDE não receberá erros nesses exemplos; portanto, certifique -se de testar o código em seu ambiente preferido antes de editá -los ou adicioná -los aqui.