是否可以默认显示完整的帖子内容?

@simon

是否有可能默认显示完整帖子内容,而无需点击“显示完整帖子”按钮?

我提出这个问题是因为某些 RSS 订阅源在其订阅源中包含代码。这会在帖子中显示大量不需要的内容。

但是,一旦用户点击“显示完整帖子”按钮,嵌入的内容就会显示得很整齐。

是的,可以通过取消选中 embed truncate 站点设置来实现。

过去几天我尝试在帖子设置中禁用“嵌入截断”,但它并没有产生与点击“显示完整帖子”按钮相同的效果。

这是一个示例:
https://hint-pot.jp/archives/category/hobby/feed

“嵌入截断”设置已禁用:


它显示 RSS 馈送中 <content> 标签内的文本。


“嵌入截断”设置已启用:


点击“显示完整帖子”按钮后的内容:


它根据白名单规则显示真实的网页内容。

我担心可能会发生这种情况。当点击“显示完整帖子”按钮时,Discourse 会从与订阅项关联的网页中抓取页面内容。当你禁用 embed truncate 设置时,你所看到的是直接来自 RSS 订阅源的标记渲染结果。听起来 RSS 订阅源中存在一些损坏的标记,导致了当前的显示方式。

确认这一点最简单的方法是直接用浏览器访问 RSS 订阅源的 URL 并查看其标记。我认为你应该查找位于其 <description> 标签之间的内容。

感谢您的快速回复。:grinning:
我也尝试了另一个没有奇怪标记的订阅源。
这是来自另一个订阅源的示例:
https://grapee.jp/category/animal/feed

禁用“嵌入截断”:

图片损坏是一个 已知问题,由 <p> 标签引起。可以按照 此帖子 中的说明手动修复。
但主要问题是,它仅显示来自 RSS 订阅源的非常简短的描述,而不是来自网页的完整内容。


启用“嵌入截断”:

除了原始来源链接外,它不显示任何内容。


按下“显示完整帖子”按钮:

它会根据白名单规则显示来自网页的正确内容。


您认为是否有可能默认显示完整的帖子内容,而无需按下“显示完整帖子”按钮?:thinking:

或者,您认为是否有可能让 Discourse 始终从与订阅源项目关联的网页中抓取页面内容?:thinking:

该源站仅提供帖子的摘要。这就是为什么在禁用 embed truncate 设置时,您只能看到摘要。

当您启用 embed truncate 站点设置时,Discourse 将尝试从帖子 URL 中获取完整帖子内容。如果帖子存在 HTML 错误,Discourse 将无法获取帖子内容。在这种情况下,点击“显示完整帖子”按钮将无法加载帖子。发生这种情况时,用户不会收到提示问题所在错误消息。或许应该为此情况显示一条错误消息。