Inline „vorformatierter Text“ Formatierung bei mehrzeiliger Auswahl ohne harten Zeilenumbruch

Priorität/Schweregrad:

Mittel

Plattform

Betriebssystem

Windows 11

Browser

Google Chrome 141.0.7390.123

Discourse

ad36231adab58a8a249bfe8139aade2bde2134d3

Beschreibung:

Es gibt zwei Arten der Formatierung von „vorformatiertem Text“:

  • Inline: zur Verwendung mit Nicht-Prosa-Inhalten innerhalb eines Prosa-Abschnitts (z. B. „rufe die Funktion foo auf“) oder einer einzelnen kurzen Zeile mit Nicht-Prosa-Inhalten.
  • Block: zur Verwendung mit mehreren Zeilen von Nicht-Prosa-Inhalten.

Der Benutzer kann beim Verwenden des Komponisten eine von zwei Vorgehensweisen zur Anwendung der Formatierung wählen:

  • Proaktiv: Der Formatierungsmodus wird umgeschaltet, bevor der zu formatierende Inhalt hinzugefügt wird.
  • Retroaktiv: Der Inhalt wird in unformatiertem Zustand hinzugefügt, dann ausgewählt und die Formatierung auf diese Auswahl angewendet.

:bug: Das Anwenden der Formatierung „vorformatierten Text“ auf eine mehrzeilige Auswahl verwendet den ungeeigneten „Inline“-Stil unter den folgenden Bedingungen:

  • Der Komponist befindet sich im Modus „Rich-Text-Editor“.
  • Die Formatierung wird retroaktiv angewendet.
  • Im ausgewählten Inhalt ist kein harter Zeilenumbruch vorhanden.

Dies führt dazu, dass der Beitrag schwer zu lesen und der Nicht-Prosa-Inhalt schwer zu kopieren ist (eine häufige Anforderung für geteilten Code).

Reproduzierbare Schritte:

  1. Öffnen Sie den Komponisten.
  2. Stellen Sie den Editor-Modus-Schalter auf die Position „Rich-Text-Editor“.
  3. Geben Sie foo in den Komponisten ein.
  4. Drücken Sie die Tastenkombination Umschalttaste+Eingabetaste, um einen „weichen Umbruch“ hinzuzufügen.
  5. Geben Sie bar in den Komponisten ein.
    :red_exclamation_mark: Fügen Sie keinen Zeilenumbruch hinzu.
  6. Drücken Sie die Tastenkombination Strg+Umschalttaste+Pos1, um den gesamten Inhalt von Zeile 2 bis zum Anfang des Beitrags auszuwählen.
  7. Klicken Sie auf die Schaltfläche </> in der Symbolleiste des Komponisten.

:bug: Jede der ausgewählten Zeilen wurde individuell im Inline-Stil formatiert:

foo
bar

Das korrekte Verhalten wäre gewesen, den Inhalt in einen einzigen Codeblock zu setzen:

foo
bar

Zusätzlicher Kontext

Ich habe mich für die manuelle Eingabe des Inhalts für die Demo entschieden, um die unnötige Komplikation der Berücksichtigung von Formatierungen zu vermeiden, die in kopierten Inhalten vorhanden sein können, je nachdem, aus welcher Quelle sie kopiert werden. Der Fehler tritt jedoch auch bei eingefügten Inhalten auf, und die Bedingungen, dass der Inhalt keinen harten Umbruch enthält, treten bei solchen Inhalten wahrscheinlicher auf (da der Benutzer wahrscheinlich die Eingabetaste beim Tippen verwendet, auch wenn er keinen harten Umbruch wünscht).


Der Fehler tritt nicht auf, wenn Sie „Alles auswählen“/Strg+A verwenden, um den Inhalt auszuwählen.


Der Markdown-Editor verhält sich korrekt, indem er den ausgewählten Inhalt immer in einen Codeblock setzt, wenn die Formatierung „vorformatierten Text“ retroaktiv auf eine mehrzeilige Auswahl angewendet wird.


Ich kann den Fehler auf try.discourse.org im „Safe Mode“ reproduzieren.


Ursprünglich gemeldet unter Why did the Forum functions change? - #37 by sterretje - Website and Forum - Arduino Forum

Es scheint nicht zu passieren, wenn man auch manuell auswählt.

Hallo @NateDhaliwal. Was meinst du mit „manuell auswählen“?

Beziehst du dich auf die Auswahl durch Ziehen mit der Maus? Wenn ja, tritt der Fehler bei dieser Auswahlmethode immer noch auf:

manual-select

Oder mit der Umschalttaste und der Pfeiltaste? Wenn ja, tritt der Fehler bei dieser Auswahlmethode immer noch auf:

manual-select2

Ich bin mir da nicht so sicher, das war eine absichtliche Ausnahme, da Sie in diesem Fall immer noch einen einzigen Absatz mit einem Zeilenumbruch haben und die Inline-Code-Markierung in dieser Situation möglich sein sollte.

Wir können sogar eine Änderung dieses Verhaltens in Betracht ziehen, aber es ist nicht wirklich ein Fehler. /cc @lindsey

1 „Gefällt mir“

Ja, es macht für mich Sinn, über die Rich-Text- und Markdown-Modi hinweg konsistent zu sein.

1 „Gefällt mir“