当摘录包含链接时出现奇怪的行为,原因在于 Topic list preview 插件

我注意到,当摘要中包含链接时(无论是到 #tag、附件还是任何其他内容),会出现一种奇怪的行为。

这一点可以在这里的第一篇主题中看到:https://forum.comparajogos.com.br/tag/gloomhaven

excerpt 字段如下(链接已省略为 ...):

Quer ganhar um Gloomhaven <a class=\"hashtag\" href=\"...\">#gloomhaven-jaws-of-the-lion</a> com apenas 10 reais? Entre nesse grupo e participe do sorteio! <a href=\"...\" rel=\"noopener nofollow ugc\">ht&hellip;</a>

渲染后的 topic-excerpt HTML 如下:

<a href=\"/t/sorteio-de-um-gloomhaven-jaws-of-the-lion/2237\" class=\"topic-excerpt\">\n Quer ganhar um Gloomhaven </a><a class=\"hashtag\" href=\"...\">#gloomhaven-jaws-of-the-lion</a> com apenas 10 reais? Entre nesse grupo e participe do sorteio! <a href=\"...\" rel=\"noopener nofollow ugc\">ht…</a>

考虑到 <a> 标签不能嵌套,出现在摘要第一个 <a> 标签之前的这个 </a> 必然与以下更改有关:

这导致摘要的其余部分被样式化为父元素的一部分(而不是 .topic-excerpt)。

在我提供的示例中,list/topic-excerpt 模板正被 Topic List Previews 插件使用,但在置顶主题中也会出现同样的问题。

确实,链接不应嵌套……但我想这是“主题列表预览”插件的一个特定问题?默认情况下,我们会从摘要中移除链接,因此它们不会嵌套。

我不确定,但我注意到 JSON 负载中的 excerpt 字段没有剥离链接。

此外,Topic List Previews 插件的作者 @merefield 最近也遇到了包含链接的摘要问题:Excerpts are being poisoned by onebox URL's on Post Rebuild

编辑:你说得对,@awesomerobot,这是 Topic List Previews 的一个特定问题。我刚在我的实例上禁用了它,问题就消失了。看起来 TLP 覆盖了默认的 excerpt 序列化器,因为在我禁用它之后,JSON 负载中的所有链接都被剥离了。我想这个问题出在 这里,但我不太确定。

这不是 Discourse 的 bug,抱歉造成混淆。我应该删除原帖,还是把它留在这里供后人参考?你有什么建议吗?

谢谢。