如何收集 Discourse 使用的所有静态资源(js、css)

非常感谢。我还发现一些静态资源(如 CSS)被存放在 /var/www/discourse/tmp/stylesheet-cache 中。但还有两个问题:

  1. 用户上传的资源(例如头像)在设置 DISCOURSE_CDN_URL 后也会由 CDN 提供。然而,每次用户上传后都将这些资源推送到 GitHub 似乎并不是一个理想的解决方案。
  2. 当 Discourse 请求用户头像(如 2_2.png)时,它会:1) 拆分文件名,2) 进行一些检查,3) 通过哈希计算真实的文件名。如果我要提供用户头像,就必须自己实现相同的逻辑,因为实际上并没有名为 2_2.png 的文件。

我的最终解决方案很简单:1) 在我的论坛前添加 Nginx,参考这篇帖子。2) 从上述路径收集所有静态资源并推送到 GitHub。3) 在 Nginx 配置文件中添加一些规则,例如:

location ~/(stylesheets|assets) {
    return 301 https://cdn.jsdelivr.net/gh/my_github/my_repo/$request_uri;
}

再次感谢 @schleifer