Weaviate usa Docusaurus 2 para construir nuestra documentación. Docusaurus es un generador de sitios web estático que se ejecuta en Node.js. Utilizamos una herramienta de administración de proyectos Node.js llamada Yarn para instalar DocUSaurus y administrar las dependencias de proyectos.
Si no tiene Node.js e yarn instalados en su sistema, instálelos primero.
Use el NVM Package Manager para instalar Node.js. La página del proyecto nvm proporciona un script de instalación.
Después de instalar nvm , use nvm para instalar Node.js.
nvm install
Por defecto, nvm instala la versión más reciente de Node.js. También instale la versión de Node.js que se especifica en .github/workflows/pull_requests.yaml . Al momento de escribir, es la versión 20.
nvm install 20
nvm use 20
Node.js incluye el Administrador de paquetes NPM. Use npm para instalar yarn .
npm install --global yarn
Para contribuir a este sitio web, primero bifurca este repositorio y cree una copia local para trabajar.
Inicie sesión en su cuenta de GitHub.
Bifurca el repositorio ascendente, https://github.com/weaviate/weaviate-io.
Clonar el repositorio de su sistema local.
git clone [email protected]:YOUR-GITHUB-HANDLE/weaviate-io.git
Para obtener detalles sobre la clonación de un repositorio, incluida la configuración de una tecla SSH, consulte la documentación de GitHub.
Establezca la rama de seguimiento remoto.
git remote add upstream https://github.com/weaviate/weaviate-io.git
Revise los 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)
Configurar una rama de seguimiento.
Este paso le permite rastrear los cambios ascendentes mientras trabaja en su actualización. Cuando esté listo para contribuir con sus cambios, cree una solicitud de extracción contra la rama upstream/main .
Obtenga las ramas aguas arriba.
git fetch upstream
Agregue upstream/main como rama de seguimiento cuando cree una nueva rama de proyecto. Puede usar git checkout para configurar la rama de seguimiento, o elegir un método alternativo que se ajuste a su flujo de trabajo.
git checkout -b your-update-branch-name upstream/main
Una vez que tenga una copia local del repositorio, debe instalar DocUSaurus y las otras dependencias del proyecto.
Cambie al directorio del proyecto, luego use el hilo para actualizar las dependencias.
cd weaviate-io
yarn install
Puede ver algunas advertencias durante la instalación.
Cuando se complete la instalación, inicie el servidor yarn para probar su compilación.
yarn start
Esto construirá el sitio e iniciará un servidor local, luego abrirá http: // localhost: 3000/mostrando la compilación local. Si cierra el terminal, el servidor se detendrá. O presione Ctrl+C / Cmd+C para detener el servidor.
Este comando genera contenido estático en el directorio build . Puede usar un servicio de alojamiento para servir al contenido estático.
yarn build
El comando build es útil cuando terminaste de editar. Si ejecutó yarn start a iniciar un servidor web local, no necesita usar yarn build para ver sus cambios mientras edita.
El comando de compilación ejecuta un verificador de enlaces. Si tiene problemas con los enlaces rotos temporalmente, puede actualizar la variable URL_IGNORES para deshabilitar la verificación de ese enlace.
Para deshabilitar la verificación de enlaces, agregue la URL rota a las listas URL_IGNORES en estos scripts:
Consulte el enlace nuevamente antes de enviar una solicitud de fusión. Si el enlace funciona, elimínelo de la lista URL_IGNORES . Si el enlace no funciona, cuéntanos al respecto en la solicitud de extracción.
Usando SSH:
USE_SSH=true yarn deploy
No usa SSH:
GIT_USER=<Your GitHub username> yarn deploy
Si está utilizando páginas GitHub para alojamiento, este comando es una forma conveniente de construir el sitio web y empujar a la sucursal de gh-pages .
Los ejemplos de código en la documentación están en uno de los dos formatos:
En muchos archivos, verá un formato similar 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 > Esto hace uso de nuestro componente JSX personalizado FilteredTextBlock .
Aquí, el componente FilteredTextBlock carga líneas entre el startMarker y endMarker de los scripts importados. Esto nos permite escribir scripts completos, que pueden incluir pruebas para reducir las ocurrencias de ejemplos de código erróneos.
Para obtener más información sobre las pruebas, consulte ReadMe-Tests.md.
En algunos ejemplos de código, el código se escribirá directamente dentro del componente TabItem , como se muestra a continuación.
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 >Su IDE no recogerá ningún error en estos ejemplos, así que asegúrese de probar el código en su entorno preferido antes de editarlos o agregarlos aquí.