gitbook2text
Un outil CLI et une bibliothèque Rust pour crawler des sites GitBook, télécharger leurs pages et les convertir en markdown et texte brut.
✨ Nouveautés v0.3.0
- 🕷️ Crawling automatique : Découvre automatiquement toutes les pages d'un GitBook
- ✅ Vérification GitBook : Détecte si un site est bien un GitBook avant de crawler
- 🚀 Mode tout-en-un : Crawl et télécharge en une seule commande
- 📋 Interface CLI améliorée : Sous-commandes claires avec
clap
🚀 Installation
En tant qu'outil CLI
En tant que dépendance
Ajoutez ceci à votre Cargo.toml:
[]
= "0.3"
📖 Usage
CLI
Mode Complet (Recommandé)
Crawl et télécharge toutes les pages en une seule commande :
Mode Crawl uniquement
Génère le fichier links.txt avec tous les liens trouvés :
# Avec un fichier de sortie personnalisé
Mode Téléchargement uniquement
Télécharge les pages depuis un fichier de liens existant :
# Avec un fichier personnalisé
Mode Legacy (rétro-compatible)
Sans sous-commande, télécharge depuis links.txt :
Structure des fichiers générés
Les fichiers sont sauvegardés dans :
data/md/- Fichiers markdown originauxdata/txt/- Fichiers texte nettoyés
Bibliothèque
Crawler un GitBook
use ;
async
Télécharger et convertir
use ;
async
🔧 Fonctionnalités
- ✅ Crawling intelligent : Découvre automatiquement toutes les pages d'une documentation
- ✅ Vérification GitBook : Détecte les sites GitBook via leurs marqueurs spécifiques
- ✅ Téléchargement concurrent : Traite plusieurs pages simultanément
- ✅ Conversion markdown vers texte : Extraction propre du contenu
- ✅ Nettoyage avancé : Retire les balises GitBook spéciales
- ✅ Support des blocs de code : Préserve les titres et le contenu
- ✅ Normalisation : Espaces et caractères uniformisés
🎯 Cas d'usage
- 📚 Archiver une documentation complète
- 🔍 Indexer du contenu pour un moteur de recherche
- 🤖 Préparer des données pour l'entraînement de modèles
- 📊 Analyser la structure d'une documentation
- 💾 Créer des backups de documentations
📋 Exemples pratiques
Archiver une documentation complète
# Tout en un
# Ou étape par étape
Utiliser avec un workflow automatisé
#!/bin/bash
# backup-docs.sh
GITBOOK_URL="https://docs.example.com"
BACKUP_DIR="backups/"
📚 API Documentation
Pour la documentation complète de l'API, visitez docs.rs/gitbook2text.
🤝 Contribuer
Les contributions sont les bienvenues ! N'hésitez pas à ouvrir une issue ou une pull request.
📝 Changelog
Voir CHANGELOG.md pour l'historique des versions.
📄 License
Ce projet est sous double licence MIT ou Apache-2.0, à votre choix.
- MIT License (LICENSE-MIT ou http://opensource.org/licenses/MIT)
- Apache License, Version 2.0 (LICENSE-APACHE ou http://www.apache.org/licenses/LICENSE-2.0)