投稿エディタの#オートコンプリートポップアップを無効にする?

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版では、ユーザーが2文字目まで入力するまでトレンドタグが表示されます。

また、タイプミスをするという点についても納得がいきません。定義上、タイプミスをする人はキーボードを見下ろしています。むしろ、タグのポップアップは、ユーザーがスペースキーを押すまでタグ入力モードであることを思い出させるのに役立ちます。

新しい動作の良い点は、新規ユーザーにとってタグ入力がどれほど見やすくなるかということです。

見出しは新しい行の先頭にないと入力できませんが、カーソルの位置によってデフォルトの動作を変更したいでしょうか?混乱するのは、見出し用の#の後にはスペースを入れなければならないことを知らないタッチタイピストでしょう。

「いいね!」 4

では、ここでどうなったかというと、タグがより目立つようになることは明らかですが、エディタでの入力が混乱を招くほどオペレーターに負荷をかけ、ユーザーの投稿編集フローを妨げているということです。

これは、新しいヘッダーを追加していない場合でも問題になります。見出しがどこかにある、すでに編集したトピックを閲覧するために矢印を使用するだけで、# に矢印で移動し、矢印を押し続けると、カーソルでページを下に移動するのではなく、特定のタグまたはカテゴリの選択が始まります。キーボードで下に移動し続けるには、エスケープを押すか、# の地雷を避ける必要があります。

見出し1、ポンド記号の近くにカーソルを置かないように注意してください。

見出し2、カーソルが最初の#の前に行くとメニューが表示されます。

上記の2つの例で投稿を編集し、矢印で移動して、私が言っていることを正確に理解してください。タグがより目立つようになることには同意しますが、タグを使用しない場合、それは機能ではなく、以前行っていたことの新しい方法です。

若い編集者については、マークダウン言語でヘッダーを作成しようとしているだけで、エディタが魔法のようなことをするのは、ユーザーが知る必要のない、または理解する必要のない、より多くのことでユーザーを圧倒することになります。

ここで何も行わないという決定でも構いません。パッチを適用する方法を調べますが、編集フローの分断と、ユーザーが目の前にあるもの以上のことを理解しなければならないという、新規ユーザーへの学習曲線を考えると、オプションがあることは良い妥協案のように思えます。タグを使用する場合、それはユーザーごとの決定ではなく、サイトレベルの決定である可能性が高いため、サイトレベルで対応するのが良いでしょう。ただし、サイトのデフォルトに基づくユーザーごとの設定が、おそらく正しい方法でしょう。

「いいね!」 2

ジョブズ氏はカーソルは役に立たないと言ったのは正しかったということですね :slight_smile:

冗談です。

しかし、私は常にカーソルキーを使用しています。なぜなら、私は多くの文章、特に長い文章を書くので、あなたが説明している状況は認識できません。

(編集:すべての地雷を回避してここまで来ました :wink:

セカンドレベルヘッダー

ここでも、今でもありません

サードレベル:タグ

この新しいシステムのおかげで、ハッシュオートコンプリートを使用してタグを使用できます。how-to または、覚えている場合は1つ入力するだけです:unsupported-install — それも機能しました。

では、今理解できないことは何でしょうか?

現時点では、ここに対する具体的な変更を行う予定はありません。

この問題に対する最善の修正方法がわかりませんが、発生する可能性は低いと思われます。カーソルを適切な場所に配置することで再現できます。発生した場合(カーソルが行の先頭から1文字分離れている場合)は確かに迷惑です。

カーソルが行頭にある場合

cursor-0

カーソルが行頭から1文字分離れている場合

cursor-1

カーソルが行頭から2文字分離れている場合

cursor-2

「いいね!」 5

アップデートと、@mcwumbly さんが現在の状況を捉えてくれたことに感謝します。アニメーションの例も作成してくれた @mcwumbly さん、ありがとうございました。私の方で他に開いていることはありません。

「いいね!」 1

ハッシュタグのオートコンプリートを無効にすることで、修正は完了します。

  1. 行の先頭にいる場合。
  2. # の後に文字が1文字未満の場合。

そのため、

#

はオートコンプリートを発行しません。

test #

はオートコンプリートを発行します。

#t

はオートコンプリートを発行します。

これらのルールを追加することで、カーソルに関するあらゆる問題は発生しなくなり、ユーザーへの影響は最小限に抑えられます。

@martin … ご意見は?

「いいね!」 2

以前、この動作について質問した人がいたことを思い出してください(私も含めて)、その時の動作はまさに説明されている通りでした。

「いいね!」 1