Formattazione "preformattata" in linea utilizzata quando la selezione multilinea non contiene interruzioni di riga

Priorità/Gravità:

Media

Piattaforma

Sistema Operativo

Windows 11

Browser

Google Chrome 141.0.7390.123

Discourse

ad36231adab58a8a249bfe8139aade2bde2134d3

Descrizione:

Esistono due stili di formattazione del “testo preformattato”:

  • inline: da utilizzare con contenuti non di prosa all’interno di un passaggio di prosa (ad esempio, “chiamare la funzione foo”), o una singola riga breve di contenuto non di prosa.
  • blocco: da utilizzare con più righe di contenuto non di prosa

L’utente può adottare uno dei due approcci per applicare la formattazione quando utilizza il compositore:

  • proattivo: la modalità di formattazione viene attivata prima di aggiungere il contenuto da formattare
  • retroattivo: il contenuto viene aggiunto in forma non formattata, quindi selezionato e la formattazione viene applicata a tale selezione

:bug: L’applicazione della formattazione “testo preformattato” a una selezione multilinea utilizza lo stile “inline” inappropriato nelle seguenti condizioni:

  • Il compositore è in modalità “editor di testo rich text”
  • La formattazione viene applicata retroattivamente
  • Non è presente un’interruzione di riga forzata nel contenuto selezionato

Ciò rende il post difficile da leggere e il contenuto non di prosa difficile da copiare (un requisito comune per il codice condiviso).

Passaggi per la riproduzione:

  1. Aprire il compositore.
  2. Posizionare l’interruttore della modalità editor sulla posizione “editor di testo rich text”.
  3. Digitare foo nel compositore.
  4. Premere la scorciatoia da tastiera Shift+Enter per aggiungere un’“interruzione di riga morbida”.
  5. Digitare bar nel compositore.
    :red_exclamation_mark: Non aggiungere un’interruzione di riga.
  6. Premere la scorciatoia da tastiera Ctrl+Shift+Home per selezionare tutto il contenuto dalla fine della riga 2 all’inizio del post.
  7. Fare clic sul pulsante </> nella barra degli strumenti del compositore.

:bug: Ciascuna delle righe selezionate è stata formattata individualmente nello stile inline:

foo
bar

Il comportamento corretto sarebbe stato quello di inserire il contenuto in un singolo blocco di codice:

foo
bar

Contesto aggiuntivo

Ho scelto l’approccio di inserire manualmente il contenuto per la demo al fine di evitare di introdurre la complicazione non necessaria di considerare la formattazione che potrebbe essere presente nel contenuto copiato a seconda della fonte da cui viene copiato. Tuttavia, il difetto si verifica anche con il contenuto incollato e le condizioni di contenuto non contenente un’interruzione di riga saranno più probabili con tale contenuto (poiché l’utente probabilmente utilizzerà Invio durante la digitazione, anche se in realtà non desiderava un’interruzione di riga).


Il difetto non si verifica se si utilizza “Seleziona tutto” / Ctrl+A per selezionare il contenuto.


L’editor Markdown ha il comportamento corretto di inserire sempre il contenuto selezionato in un blocco di codice quando la formattazione “testo preformattato” viene applicata retroattivamente a una selezione multilinea.


Sono in grado di riprodurre il difetto su try.discourse.org in “modalità sicura”.


Segnalato originariamente su Why did the Forum functions change? - #37 by sterretje - Website and Forum - Arduino Forum

Sembra che non si verifichi nemmeno selezionando manualmente.

Ciao @NateDhaliwal. Cosa intendi con “selezionare manualmente”?

Ti riferisci alla selezione tramite “scraping” con il mouse? Se è così, il problema si verifica ancora con quel metodo di selezione:

manual-select

O con il tasto freccia Shift? Se è così, il problema si verifica ancora con quel metodo di selezione:

manual-select2

Non sono sicuro di questo, questa era un’eccezione intenzionale, perché in questo caso hai ancora un singolo paragrafo con un’interruzione di riga e l’aggiunta di un segno di codice inline dovrebbe essere possibile in questa situazione.

Possiamo persino considerare un cambiamento in questo comportamento, ma non è davvero un bug. /cc @lindsey

1 Mi Piace

Sì, essere coerenti tra la modalità rich text e la modalità Markdown ha senso per me.

1 Mi Piace