Avevo bisogno di un metodo per archiviare il mio forum Discourse su GitHub, ma ho scoperto che molti degli script disponibili erano obsoleti o non funzionanti. Quindi, ho deciso di creare alcuni semplici script che soddisfano i miei requisiti. Sebbene non siano perfetti e abbiano ancora alcuni piccoli problemi, soddisfano le mie esigenze attuali poiché non ho molto altro tempo da dedicare a questo progetto.
https://github.com/c0mmando/discourse-to-markdown-archiver
- Archivia nuovi post come JSON.
- Esegue il rendering degli argomenti in file Markdown.
- Supporto per più siti Discourse contemporaneamente (un sito alla volta).
- Tracciamento separato dei metadati per sito (data dell’ultima sincronizzazione e ID dei post archiviati).
- Rendering concorrente degli argomenti utilizzando un pool di thread per prestazioni migliorate.
- Backoff esponenziale per le richieste HTTP per gestire limiti di frequenza o errori transitori.
https://github.com/c0mmando/discourse-to-github-archiver
- Archivia Post: Salva ogni post di Discourse in un file JSON, organizzato per data di creazione.
- Rendering Concorrente: Esegue il rendering degli argomenti in modo concorrente, convertendo i post da HTML a Markdown.
- Download Immagini: Elabora l’HTML per scaricare le immagini e riscrive gli URL delle immagini in percorsi relativi.
- Aggiornamento Metadati: Tiene traccia dei post archiviati per evitare duplicati.
- Aggiornamenti Incrementali di README: Aggiorna un
README.mdcon un indice per una facile navigazione.
Ecco un esempio di forum archiviato su Github:
https[://]github[.]com/c0mmando/forum.hackliberty.org