禁用帖子编辑器中的#自动补全弹出框?

我希望在我的 Discourse 实例中禁用键入没有空格的#时弹出的菜单。

例如,在 meta 上,它看起来像这样:

我宁愿不显示该弹出窗口。我查找了一些选项,但未能找到禁用它的方法。

3 个赞

您想完全禁用它吗?还是只想在没有输入后续字符的情况下避免它?

我们过去会等待,直到 # 后面至少添加 1 个字符,但现在已更改为不再需要(过去人们曾要求这样做,但由于不再适用的技术原因,我们之前避免了)。

6 个赞

感谢您的快速回复,理想情况下,我可以重新启用以前的行为,我想这意味着我必须在输入 #c 之后才能获得与该字符匹配的标签或类别列表。如果这很难完全禁用该功能,也是一个可行的选择,但理想情况下不会以完全删除标签和类别为代价。

1 个赞

在提供自动完成建议之前等待字符有什么好处?

6 个赞

好的。我发现当我只是在输入标题时,面对一个分类菜单会让我分心。这对于年轻/不熟练的作者来说尤其明显。当他们输入 # 然后思考他们想要写的标题时,他们会看到这个与他们试图输入的内容无关的分类菜单。

是的,“#<空格>”可以阻止这种情况,但当他们找到空格键时,它会分散注意力,并且令人困惑,因为计算机正在建议一些在输入评论时可能有意义的内容,但在撰写帖子和输入标题时实际上没有意义。

这清楚吗?抱歉,我尝试了几次来描述它,但不确定我是否表达清楚了 :slight_smile:

2 个赞

正确的标题 Markdown 格式是在 # 之后有一个空格。您是否考虑过使用空格来忽略它?

2 个赞

我指的是用户输入“#”然后按下空格键之间的短暂时间。

考虑一个逐个按键的打字员,他输入“#”然后寻找空格键,现在出现了一个菜单选项,他需要围绕该选项做出决定。即使您快速输入“#<空格>”,它仍然会短暂出现,而以前,您需要通过输入多个字母(例如“#c”)来有意输入才能开始搜索/选择标签。

我建议的是,现在默认的行为会分散注意力,并打断编辑流程,而不是提供一个比创建标题更有用的功能的快捷方式。我看到一些我们较新的计算机用户遇到了这种情况,但我也觉得它很分散注意力,因为我通常在思考标题的名称,而现在我需要输入“#<空格>”来绕过一个我从不使用的、分散注意力的菜单。

如果我是少数派,我可以考虑将其修补掉,但我希望有一个基于配置的选项。

1 个赞

我想知道我们是否可以要求一个配置选项——在出现自动完成弹出窗口之前需要输入多少个字符?

由于 # 既用于标记,也用于普通的人类交流,因此过早弹出任何内容对我来说听起来像是一个可用性问题,甚至可能是可访问性问题。

2 个赞

感谢您提出这个问题。

我认为这样的建议是合理的。我来看看其他人对这个想法怎么看。

2 个赞

考虑到这个背景,也许将其设为 用户 偏好而不是站点设置会更合理…… :thinking:

您会如何为年轻/行动较慢的作者命名此设置,以便他们能立即掌握其功能?

另外,我认为很多用户除了填写个人资料外,不会进入他们的设置,我觉得绝大多数用户会像现在一样使用论坛软件,甚至不知道他们的设置中可能存在这样的选项(我也是这类人 :smile: )。 :thinking:

3 个赞

嗯,我不太赞成将可访问性设为可选。我认为默认设置应该是可访问的,无论是网站层面还是用户层面。

1 个赞

我不确定我是否同意这是一个可访问性问题(因为没有访问任何功能的问题)。我同意称其为(次要)可用性问题,但我主要认为这是一个偏好问题。

4 个赞

我也一直在琢磨无障碍评论。

看看其他平台,有些平台在你输入#时会立即提供标签建议——Twitter iOS版会先提供热门标签,直到用户输入第二个字符。

我也不认同“摸索”的说法,因为按定义,他们是在看着键盘。相反,标签弹出窗口提醒用户他们现在处于标签输入模式,直到他们按下空格键。

我喜欢新行为的一点是,它让新用户更容易看到标签输入。

除非标题位于新行的开头,否则无法输入标题,但我们是否希望默认行为根据光标位置而改变?唯一会感到困惑的是那些不知道标题的#后面应该跟一个空格的触摸打字员。

4 个赞

那么我们在这里的结论是什么?显而易见的是,虽然这确实使标签更加突出,但它会使操作员在编辑器中输入时不堪重负,我认为这很令人困惑,并且会打断用户编辑帖子的流程。

即使您没有添加新标题,这也会成为一个问题。只需使用箭头浏览您已经编辑过的、带有任何位置标题的主题。您向下箭头指向一个 #,然后当您继续按箭头时,它会开始选择一个特定的标签或类别,而不是继续在页面上移动光标。我现在必须按 Escape 键才能继续在帖子中用键盘向下移动,或者避开 # 陷阱。

一级标题,哦,不要让光标靠近井号。

二级标题,如果您的光标移到第一个 # 的前面,它会给您一个菜单。

编辑一个带有上述两个示例的帖子,并使用箭头进行导航,您就会确切地明白我的意思。我同意这使得标签更加突出,但如果您不使用标签,那么它就不是一个功能,而是您过去所做的事情的一种新方式。

至于年轻的编辑者。当他们只是想理解如何使用 markdown 语言创建标题时,让他们编辑器做一些神奇的事情,就是给用户增加了他们不需要知道或理解的更多东西。

如果决定在这里什么都不做也没关系,我会研究如何将其修复,但考虑到编辑流程的中断以及我们为新用户增加的学习曲线,他们必须了解比眼前更多的东西,似乎有一个选项是一个很好的折衷方案。我会在网站级别考虑,因为如果您使用标签,这更像是一个网站的决定,而不是每个用户的决定,但基于网站默认设置的每个用户可能是可行的方式。

2 个赞

乔布斯先生当时说光标是没用的,他确实是对的 :slight_smile:

开玩笑的。

但我一直在使用光标键,因为我写很多东西,主要是长文本,而且我不认识你描述的情况。

(编辑:我上来的时候躲避了所有的地雷 :wink:

第二级标题

甚至在这里和现在都没有

第三级:标签

我可以使用标签,通过哈希自动补全,因为这个新系统工作得很好 how-to 或者如果我能记住的话,输入一个:unsupported-install — 这也奏效了。

那么——我现在不明白的是什么?

目前我们没有计划在这里做任何具体的更改。

我不确定最好的解决方法是什么,而且这种情况似乎有点 不太可能 发生,但我可以通过将光标停在正确的位置来重现它,并且我同意当这种情况 发生时(当光标在行首的 1 个字符处时)确实很烦人。

光标在行首

cursor-0

光标在行首 1 个字符处

cursor-1

光标在行首 2 个字符处

cursor-2

5 个赞

我感谢这次更新以及 @mcwumbly 对当前状况的准确描述。谢谢 @mcwumbly,也感谢您花时间创建了动画示例!我这边没有其他问题了。

1 个赞

对我来说,修复方法很简单,就是禁用井号的自动完成功能

  1. 如果您在行的开头。
  2. 如果井号后面少于 1 个字母。

所以

#

不会触发自动完成

test #

会触发自动完成

#t

会触发自动完成

通过添加这些规则,所有光标的怪异行为将不再发生,对用户的影响将降至最低。

@martin … 想法?

2 个赞

只是提醒一下,之前有人(包括我)询问过当前行为,当时它完全就是这样描述的。

1 个赞