主题列表预览(旧版)

重烘焙已完成。结果真是一团糟!:pensive:

好吧,现在我明白为什么这个选项被禁用了。

我们使用的是 WordPress,首条帖子包含完整的 HTML。Discourse 可以顺利地将图片 HTML 替换为 Markdown,但如果 Markdown 图片被 HTML 包围(具体来说,需要在上方至少有一个空行),则无法渲染。

我有两个问题:

  1. 有些图片没有被下载,可能是由于 srcset 属性导致的(但这没关系)。图片在首条帖子中显示正常,但没有生成缩略图。以前这是可以正常工作的。

    插件是否有破坏性变更,导致包含图片 HTML 的帖子无法生成缩略图?我觉得我已经重烘焙了三次,但都没有帮助。是否有其他方法可以强制重新生成缩略图?我的意思是,以前即使该选项被禁用,在创建主题或编辑后,只要有图片就会生成缩略图;但现在这种行为不再起作用了。

  2. 如上所述,有些 Markdown 图片无法渲染。

    我尝试查看是否有插件 API 可以在帖子处理前使用,但没找到。

    我想唯一的办法是直接通过数据库和 Rails 控制台,在相关原始消息中添加换行符,然后再次重烘焙。

    目前,我基于 Discourse 的源代码在努力解决(我不懂 Ruby):
    看起来对一个主题有效。我还没有对所有主题执行此操作。是否有更好/更干净的方法来解决这个问题,而不需要这样做?

Post
  .where(post_number: 1)
  .where("raw LIKE '%upload://%'").each do |post|  
     post.raw.gsub!(/(!\[.*upload:\/\/.*\))/, "\n\n\\1") 
     post.save!(validate: false); 
     post.rebake! 
end

任何帮助都将不胜感激,谢谢!

1 个赞