从内联提及中移除父类别

:double_exclamation_mark: 我意识到这很可能已包含在这些更改中,但不确定内联更新是否与启用悬停卡片相关联。

简短描述

通过移除父类别来清理内联类别提及。包含一个选项,用于排除特定类别(并保留父类别)。

效果应用于:

  • 帖子中的类别提及
  • 编辑器中的实时预览窗格
  • 编辑器中的 # 提及自动补全下拉菜单

截图

之前

之后

排除类别后

3 个赞

感谢分享。我认为这个问题会在 Discourse 中得到修复,在此之前,这是一个可行的临时解决方案。

需要特别指出的是,该组件使用了 MutationObserver,而根据建议,应避免这种做法。

1 个赞

谢谢,我会研究一下其他方法!

1 个赞

再次感谢提醒我关于 observer 的事情。我之前并不知道它不被推荐使用。

我已经在所有地方移除了它,除了 composer(实时预览和 # 下拉菜单),因为那些地方没有可用的 hook。现在,每个部分不再监听整个页面,而是只监听自己的小区域。

如果未来的 Discourse 更新改变了相关行为导致它失效,composer 就会像往常一样显示完整的“父级 > 子级”名称。:slight_smile:

2 个赞

哦,谢谢你的考虑!说实话,当我开始尝试在 Discourse 中编写代码时,我就已经意识到了这一点,后来 Sam 也确认了。

幸运的是,几乎总是有不同的方法可以选用,因此插件和主题组件能够符合建议的最佳实践,并且易于维护。

我会使用你的 TC,因为我真的希望这个新功能能按预期正常工作 :ok_hand:

2 个赞