J’avais besoin d’une méthode pour archiver mon forum Discourse sur GitHub, mais j’ai constaté que beaucoup des scripts disponibles étaient obsolètes ou défectueux. J’ai donc décidé de créer quelques scripts simples qui répondent à mes besoins. Bien qu’ils ne soient pas parfaits et présentent encore quelques problèmes mineurs, ils répondent à mes besoins actuels car je n’ai plus beaucoup de temps à consacrer à ce projet.
https://github.com/c0mmando/discourse-to-markdown-archiver
- Archive les nouveaux messages au format JSON.
- Rend les sujets en fichiers Markdown.
- Prise en charge de plusieurs sites Discourse simultanément (un site à la fois).
- Suivi des métadonnées séparé par site (date de dernière synchronisation et identifiants des messages archivés).
- Rendu simultané des sujets à l’aide d’un pool de threads pour améliorer les performances.
- Backoff exponentiel pour les requêtes HTTP afin de gérer les limites de débit ou les erreurs transitoires.
https://github.com/c0mmando/discourse-to-github-archiver
- Archiver les messages : Sauvegarde chaque message Discourse dans un fichier JSON, organisé par date de création.
- Rendu simultané : Rend les sujets simultanément, convertissant les messages HTML en Markdown.
- Téléchargement d’images : Traite le HTML pour télécharger les images et réécrit les URL d’images en chemins relatifs.
- Mise à jour des métadonnées : Garde une trace des messages archivés pour éviter les doublons.
- Mises à jour incrémentielles du README : Met à jour un fichier
README.mdavec une table des matières pour une navigation facile.
Voici un exemple de forum archivé sur Github :
https[://]github[.]com/c0mmando/forum.hackliberty.org