Wie kann man alle Themen durchlaufen, um sie als Markdown zu exportieren?

Hallo Leute. Ich schaue mir Optionen für die Archivierung von Inhalten auf einer Discourse-Site an. Ich habe den Thread zum Erstellen und Bereitstellen eines WARC gefunden, der mir etwas gibt, womit ich arbeiten kann, aber ich würde wirklich gerne alle Themen/Threads/was auch immer als Markdown exportieren.

Ich habe das gelesen: Export topic as markdown

Jetzt würde ich gerne wissen, wie ich über alle Themen-URLs iterieren kann, damit ich sie in /raw/-URLs umwandeln und alle Themen-Threads als Markdown herunterladen kann. Gibt es eine einfache Möglichkeit, eine Liste aller Themen-URLs auf der Website zu erhalten? Muss ich eine Rails-Konsole öffnen? Gibt es eine einzelne Ruby-Klasse, die alle Themen-URLs aufzählen kann? Irgendetwas?

Vielen Dank.

1 „Gefällt mir“

Ich bin dort angekommen, aber ich würde trotzdem gerne mehr über einfachere Wege erfahren.

  1. Verwenden Sie die Discourse-Administration, um ein Backup der Website herunterzuladen.
  2. Suchen Sie den PostgreSQL-Datenbank-Dump in der Backup-Datei und stellen Sie ihn dann auf einer lokalen Datenbank wieder her.
  3. select id from topics und fügen Sie dies dann in eine Datei ein.
  4. Verwenden Sie sed oder einen seiner Cousins, um die Topic-IDs in https://my-discourse-site/raw/<topic ID> umzuwandeln.
  5. for...; do wget $url; done
  1. Rufen Sie die Kategorie-JSON ab, zum Beispiel https://meta.discourse.org/c/support.json (was zu https://meta.discourse.org/c/support/6.json weiterleitet)
  2. Holen Sie sich den ersten Stapel von Topic-IDs aus dem topic_list.topics-Array in dieser JSON.
  3. Rufen Sie topic_list.more_topics_url ab und gehen Sie zu #2

Vielen Dank dafür. Wie würde ich dann über die Kategorien iterieren?

Fordere /site.json an und iteriere über das categories-Array.

1 „Gefällt mir“