Weavate utilise Docusaurus 2 pour construire notre documentation. Docusaurus est un générateur de sites Web statique qui s'exécute sous Node.js. Nous utilisons un outil de gestion de projet Node.js appelé YARN pour installer Docusaurus et pour gérer les dépendances du projet.
Si vous n'avez pas d'installation de node.js et yarn sur votre système, installez-les d'abord.
Utilisez le gestionnaire de packages NVM pour installer Node.js. La page du projet nvm fournit un script d'installation.
Après avoir installé nvm , utilisez nvm pour installer Node.js.
nvm install
Par défaut, nvm installe la version la plus récente de Node.js. Installez également la version de Node.js spécifiée dans .github/workflows/pull_requests.yaml . Au moment de la rédaction, c'est la version 20.
nvm install 20
nvm use 20
Node.js comprend le gestionnaire de packages NPM. Utilisez npm pour installer yarn .
npm install --global yarn
Pour contribuer à ce site Web, prévoyez d'abord ce référentiel et créez une copie locale sur laquelle travailler.
Connectez-vous à votre compte GitHub.
Fourchez le référentiel en amont, https://github.com/weavate/weavate-io.
Clone le référentiel de votre système local.
git clone [email protected]:YOUR-GITHUB-HANDLE/weaviate-io.git
Pour plus de détails sur le clonage d'un référentiel, y compris la configuration d'une clé SSH, consultez la documentation GitHub.
Définissez la branche de suivi à distance.
git remote add upstream https://github.com/weaviate/weaviate-io.git
Vérifiez les télécommandes.
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)
Configurez une branche de suivi.
Cette étape vous permet de suivre les modifications en amont pendant que vous travaillez sur votre mise à jour. Lorsque vous êtes prêt à apporter vos modifications, créez une demande de traction contre la branche upstream/main .
Obtenez les branches en amont.
git fetch upstream
Ajouter upstream/main en tant que branche de suivi lorsque vous créez une nouvelle branche de projet. Vous pouvez utiliser git checkout pour définir la branche de suivi ou choisir une autre méthode qui correspond à votre flux de travail.
git checkout -b your-update-branch-name upstream/main
Une fois que vous avez une copie locale du référentiel, vous devez installer Docusaurus et les autres dépendances du projet.
Passez au répertoire du projet, puis utilisez le fil pour mettre à jour les dépendances.
cd weaviate-io
yarn install
Vous pouvez voir quelques avertissements pendant l'installation.
Lorsque l'installation se termine, démarrez le serveur yarn pour tester votre version.
yarn start
Cela créera le site et démarrera un serveur local, puis ouvrira http: // localhost: 3000 / affichant la version locale. Si vous fermez le terminal, le serveur s'arrête. Ou appuyez sur Ctrl+C / Cmd+C pour arrêter le serveur.
Cette commande génère du contenu statique dans le répertoire build . Vous pouvez utiliser un service d'hébergement pour servir le contenu statique.
yarn build
La commande build est utile lorsque vous avez terminé l'édition. Si vous avez exécuté yarn start pour démarrer un serveur Web local, vous n'avez pas besoin d'utiliser yarn build pour vous voir modifier pendant que vous modifiez.
La commande build exécute un vérificateur de lien. Si vous rencontrez des problèmes avec des liens temporairement cassés, vous pouvez mettre à jour la variable URL_IGNORES pour désactiver la vérification de ce lien.
Pour désactiver la vérification des liens, ajoutez l'URL cassée aux listes URL_IGNORES dans ces scripts:
Vérifiez à nouveau le lien avant de soumettre une demande de fusion. Si le lien fonctionne, supprimez-le de la liste URL_IGNORES . Si le lien ne fonctionne pas, parlez-nous de cela dans la demande de traction.
Utilisation de SSH:
USE_SSH=true yarn deploy
N'utilisez pas SSH:
GIT_USER=<Your GitHub username> yarn deploy
Si vous utilisez des pages GitHub pour l'hébergement, cette commande est un moyen pratique de créer le site Web et de pousser vers la branche gh-pages .
Les exemples de code dans la documentation sont dans l'un des deux formats:
Dans de nombreux fichiers, vous verrez un format similaire à:
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 > Cela utilise notre composant JSX FilteredTextBlock personnalisé.
Ici, le composant FilteredTextBlock charge les lignes entre le startMarker et endMarker des scripts importés. Cela nous permet d'écrire des scripts complets, qui peuvent inclure des tests pour réduire les occurrences d'exemples de code erronés.
Pour plus d'informations sur les tests, veuillez consulter ReadMe-Tests.md.
Dans certains exemples de code, le code sera écrit directement dans le composant TabItem , comme indiqué ci-dessous.
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 >Votre IDE ne prendra aucune erreur dans ces exemples, alors assurez-vous de tester le code dans votre environnement préféré avant de les modifier ou de les ajouter ici.