yrodiere
(Yoann Rodière)
1
你好,
Discourse 中有一个功能会限制消息中用户提及的数量,对于“新”用户(信任级别 0)的限制会更多。
如果你不知道我的意思,这是 Discourse 源代码中的实现:
这是一个很好的功能,但碰巧,我们有几个用户不小心达到了这个限制,并且感到困惑。问题是,他们不打算提及用户。他们只是“忘记”了(或者不知道如何)格式化消息中包含的代码片段,而该片段是 Java 代码,它包含注解,以 @ 开头,并被解释为用户提及。
此类代码的示例:
public class MyCode {
@NotNull
private String foo;
@NotNull
private String bar;
@NotNull
private String foobar;
}
错误消息很简单:
抱歉,新用户每帖只能提及 2 个用户
你可以想象,一个不熟悉如何在 markdown 中格式化代码的用户可能也不熟悉什么是用户提及,即使他们熟悉它,他们也可能不明白他们本意是 Java 注解却被解释为用户提及。
那么……也许这个功能的用户体验可以得到改善?
我们可以讨论 Discourse 自动检测源代码并建议格式化它,或者突出显示验证失败的消息部分,但这两种解决方案可能都需要大量工作。
我只是想到了扩展错误消息以解释什么是用户提及,也许还会提供一些建议?
所以至少是这样:
抱歉,新用户每帖只能提及 2 个用户。
用户提及是前面带有 `@` 的单词,例如 `@johnsmith`。
甚至可能这样:
抱歉,新用户每帖只能提及 2 个用户。
用户提及是前面带有 `@` 的单词,例如 `@johnsmith`。
如果你的帖子包含源代码,请确保用反引号将其括起来,以避免代码部分被解释为用户提及;请参阅 <在此处插入一些关于在 discourse 中格式化代码的文档链接>。
想法,意见?我应该发送一个 pull request 吗?恐怕我只能更新英语和法语的本地化文件。
供参考,一些困惑用户的示例:
Moin
2
2 个赞
yrodiere
(Yoann Rodière)
3
谢谢!太好了,我不知道它存在。希望它能从一开始就阻止用户陷入这种境地 
1 个赞
如果即使安装了“未格式化代码检测器”主题组件后问题仍然存在,您也可以在 /admin/customize/site_texts 页面更改此消息的文本,还可以调整 newuser max mentions per post 管理员设置本身,以防它带来的麻烦多于解决的麻烦。 
3 个赞
yrodiere
(Yoann Rodière)
5
太棒了,我不知道原来可以自定义 Discourse 中出现的任何文本。搞定了!
那么,我想应该真的不需要 Pull Request 了 
1 个赞