我需要一种在 GitHub 上存档 Discourse 论坛的方法,但我发现许多现有的脚本都已过时或无法正常工作。因此,我决定创建一些满足我需求的简单脚本。虽然它们并不完美,仍然存在一些小问题,但它们能满足我当前的需求,因为我没有更多时间投入到这个项目中了。
https://github.com/c0mmando/discourse-to-markdown-archiver
- 将新帖子存档为 JSON。
- 将主题渲染为 Markdown 文件。
- 支持同时处理多个 Discourse 站点(一次一个站点)。
- 为每个站点单独跟踪元数据(上次同步日期和已存档帖子的 ID)。
- 使用线程池并发渲染主题以提高性能。
- 对 HTTP 请求进行指数退避,以处理速率限制或暂时性错误。
https://github.com/c0mmando/discourse-to-github-archiver
- **存档帖子:**将每个 Discourse 帖子保存在 JSON 文件中,按创建日期组织。
- **并发渲染:**并发渲染主题,将帖子从 HTML 转换为 Markdown。
- **下载图片:**处理 HTML 以下载图片,并将图片 URL 重写为相对路径。
- **更新元数据:**跟踪已存档的帖子以避免重复。
- **增量更新 README:**更新
README.md文件,其中包含目录,以便于导航。
这是 GitHub 存档论坛的一个示例:
https[://]github[.]com/c0mmando/forum.hackliberty.org