如何迭代所有主题以将它们导出为Markdown?

大家好。我正在为 Discourse 站点寻找内容存档的选项。我找到了关于创建和提供 WARC 的帖子,这给了我一些可以参考的东西,但我真的很想将所有主题/帖子/等等导出为 Markdown。

我读了这篇:Export topic as markdown

现在我想知道如何遍历所有主题 URL,以便将其转换为 /raw/ URL 并将所有主题帖子导出为 Markdown。有没有一种简单的方法可以获取站点上所有主题 URL 的列表?我需要打开 Rails 控制台吗?是否有单个 Ruby 类可以枚举所有主题 URL?或者其他方法?

非常感谢。

我到了那里,但我仍然很想听听更简单的路径。

  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 数组。