Comment itérer sur tous les sujets pour les exporter en Markdown ?

Salut tout le monde. Je cherche des options pour archiver du contenu sur un site Discourse. J’ai trouvé le fil de discussion sur la création et la diffusion d’un WARC, ce qui me donne quelque chose sur quoi travailler, mais j’aimerais vraiment exporter tous les sujets/fils de discussion/etc. en Markdown.

J’ai lu ceci : Export topic as markdown

Maintenant, j’aimerais savoir comment itérer sur toutes les URL de sujets afin de pouvoir les transformer en URL /raw/ et télécharger tous les fils de discussion en Markdown. Existe-t-il un moyen simple d’obtenir une liste de toutes les URL de sujets sur le site ? Dois-je ouvrir une console Rails ? Existe-t-il une seule classe Ruby qui peut énumérer toutes les URL de sujets ? Quelque chose ?

Merci beaucoup.

1 « J'aime »

Je suis arrivé, mais j’aimerais toujours en savoir plus sur les chemins plus faciles.

  1. Utilisez l’administrateur Discourse pour télécharger une sauvegarde du site.
  2. Trouvez la sauvegarde de la base de données PostgreSQL dans le fichier de sauvegarde, puis restaurez-la dans une base de données locale.
  3. select id from topics, puis collez-le dans un fichier.
  4. Utilisez sed ou l’un de ses cousins pour transformer les identifiants de sujet en https://my-discourse-site/raw/<topic ID>
  5. for...; do wget $url; done
  1. Récupérez le JSON de la catégorie, par exemple https://meta.discourse.org/c/support.json (qui redirige vers https://meta.discourse.org/c/support/6.json)
  2. Obtenez le premier lot d’ID de sujet à partir du tableau topic_list.topics dans ce JSON.
  3. Récupérez topic_list.more_topics_url et allez à l’étape #2

Merci pour cela. Comment puis-je ensuite itérer sur les catégories ?

demander /site.json et itérer sur le tableau categories.

1 « J'aime »