Ce projet contient des scripts pour automatiser l'intégration de documentation de composants dans Docusaurus.
Le script docusaurusify.py permet de copier automatiquement la documentation d'un composant vers la documentation Docusaurus avec les modifications adéquates.
- Le code source du composant
- La documentation docs4d clonée localement
- Ajoute des en-têtes Docusaurus avec
idettitle - Corrige les liens markdown selon les règles Docusaurus
- Normalise les noms de fichiers (minuscules, tirets)
- Renomme
README.md→overview.md - Supprime le préfixe
Documentation/des chemins
python docusaurusify.py <dossier_source> [-o <dossier_sortie>] [-v] [-f]Si vous n'avez pas les sources (ou téléchargez avec GitHub Desktop, etc.) :
git clone https://github.com/4d/4D-AIKitIl faut déterminer le chemin de destination dans la doc, ici "docs/aikit" :
python docusaurusify.py -f "/path/to/4D-AIKit" -o "/path/to/docs/docs/aikit"Après l'exécution du script :
- Vérifiez les changements : utilisez
git diffdans votre repo docs pour voir ce qui a été modifié - Corrections manuelles : effectuez les corrections nécessaires dues aux particularités :
- Supprimez les pages non voulues (license, contributing, cla, etc.)
- Supprimez les morceaux de page non voulus (liens license, badges GitHub)
- (ex: Pour l'overview d'AIKit, faites un revert s'il n'y a pas de vraies modifications)
Si il y a de nouvelles pages ou des pages supprimées, il faut modifier le fichier de sidebar.
Cela peut se faire manuellement, mais il existe un script sidebars_items.py à la racine du projet docs qui peut aider.
python sidebars_items.py aikit/Classes Résultat :
[
"aikit/Classes/openai",
"aikit/Classes/openaiapiresource",
"aikit/Classes/openaichatapi",
...
]Ensuite, vous pouvez l'intégrer au bon endroit dans sidebars.js.
Pour générer la sidebar de manière récursive :
python sidebars_items.py aikit -RRésultat :
[
"aikit/Classes/openai",
"aikit/Classes/openaiapiresource",
"aikit/Classes/openaichatapi",
...
"aikit/asynchronous-call",
"aikit/compatible-openai",
"aikit/overview"
]Il est possible d'avoir une édition directe avec --output sidebars.js :
python3 sidebars_items.py aikit --output sidebars.js