如何将 discourse 中全部话题导出为 pdf 或其他格式

如何将已经写在 discourse 中的全部文章或者话题导出为 pdf 或者其他文档格式。

全部文章或者话题的导出,我感觉 Discourse 是没有提供的。

针对单一话题

针对单一话题,可以参考下这个文章:How to print or export very long topics - Support - Discourse Meta

2023-04-24_07-43-41

在主题的 URL 链接后面添加一个 print

例如下面的链接:https://www.isharkfly.com/t/topic/14393 我就在后面添加了一个 print 字符,就可以用 HTML 显示了。

然后,使用浏览器的打印成 PDF。

raw Markdown

也可导出成 Raw 的 Markdown 文件。

同样的上面的主题,使用的 URL 是:https://www.isharkfly.com/raw/14393

浏览器上面显示的内容是这样的。

上面的数据你应该也是可以直接用的。

移动多主题

针对多主题的移动,我找到了下面的一个帖子:Move topics from one Discourse instance to another - Self-Hosting - Discourse Meta

这个帖子,应该是如何在 2 个实例直接通过 JSON 数据格式进行调用的,我觉得可能不是非常适合你的需求。

2023-04-24_07-50-11

思路

我觉得你可能需要第三方的工具才可以供。

Discourse 使用的是 API,如果你有 API Key 的话,你可以用第三方的工具或者语言,比如 Java ,调用这个 API,然后在你程序中获得主题的 HTML 数据,然后把这个数据通过你的程序输出成 PDF。

这种方式是可以实现你的导出要求的,可能这里需要有一些编程能力,但是还是可以实现的。

如果你公司有技术力量,这个实现应该很快,因为 API 都是现成的,只需要循环调用下。

好哒,非常感谢。

只是担心这个用的有问题,无法解决,在discourse积累无法使用,所以考虑后路。

暂时应该是够用。