Markdownとしてエクスポートするために、すべてのトピックを反復処理する方法

皆さん、こんにちは。Discourseサイトでコンテンツをアーカイブする方法を検討しています。WARCを作成して提供するというスレッドを見つけ、それを参考にできるのですが、すべてのトピック/スレッド/その他をMarkdownとしてエクスポートしたいと考えています。

これを読みました:Export topic as markdown

さて、すべてのトピックURLを反復処理して、それらを/raw/ URLに変換し、すべてのトピックをMarkdownとしてダウンロードする方法を知りたいです。サイト上のすべてのトピックURLのリストを取得する簡単な方法があれば教えてください。Railsコンソールを開く必要がありますか?すべてのトピックURLを列挙できる単一のRubyクラスはありますか?何か?

よろしくお願いします。

「いいね!」 1

そこに着きましたが、もっと簡単な方法があればぜひ聞きたいです。

  1. Discourse管理機能を使用してサイトのバックアップをダウンロードします。
  2. バックアップファイル内にあるPostgreSQLデータベースダンプを見つけ、それをローカルデータベースに復元します。
  3. select id from topics を実行し、その結果をファイルに貼り付けます。
  4. sed またはそれに類するコマンドを使用して、トピックIDを https://my-discourse-site/raw/<topic ID> に変換します。
  5. for...; do wget $url; done を使用します。
  1. カテゴリのJSONを取得します。例: https://meta.discourse.org/c/support.json (これは https://meta.discourse.org/c/support/6.json にリダイレクトされます)
  2. そのJSONの topic_list.topics 配列から、最初のトピックIDのバッチを取得します。
  3. topic_list.more_topics_url を取得し、手順 #2 に進みます。

これをカテゴリで反復処理するにはどうすればよいですか?

/site.json をリクエストし、categories 配列を反復処理します。

「いいね!」 1