Prioridade/Gravidade:
Média
Plataforma
Sistema Operacional
Windows 11
Navegador
Google Chrome 141.0.7390.123
Discourse
ad36231adab58a8a249bfe8139aade2bde2134d3
Descrição:
Existem dois estilos de formatação de “texto pré-formatado”:
- Em linha: para uso com conteúdo que não seja prosa dentro de uma passagem de prosa (por exemplo, “chame a função
foo”), ou uma única linha curta de conteúdo que não seja prosa. - Bloco: para uso com várias linhas de conteúdo que não seja prosa.
O usuário pode adotar uma das duas abordagens para aplicar a formatação ao usar o composer:
- Proativa: o modo de formatação é alternado antes de adicionar o conteúdo a ser formatado.
- Retroativa: o conteúdo é adicionado em forma não formatada, depois selecionado e a formatação é aplicada a essa seleção.
Aplicar formatação de “texto pré-formatado” a uma seleção de várias linhas usa o estilo “em linha” inadequado nas seguintes condições:
- O composer está no modo “editor de rich text”.
- A formatação é aplicada retroativamente.
- Uma quebra de linha rígida não está presente no conteúdo selecionado.
Isso resulta em uma postagem difícil de ler e no conteúdo que não é prosa difícil de copiar (um requisito comum para código compartilhado).
Passos para Reproduzir:
- Abra o composer.
- Coloque o switch do modo do editor na posição “editor de rich text”.
- Digite
foono composer. - Pressione o atalho de teclado Shift+Enter para adicionar uma “quebra de linha suave”.
- Digite
barno composer.
Não adicione uma quebra de linha. - Pressione o atalho de teclado Ctrl+Shift+Home para selecionar todo o conteúdo da linha 2 até o início da postagem.
- Clique no botão </> na barra de ferramentas do composer.
Cada uma das linhas selecionadas foi formatada individualmente no estilo em linha:
foo
bar
O comportamento correto teria sido colocar o conteúdo em um único bloco de código:
foo
bar
Contexto Adicional
Escolhi a abordagem de inserir manualmente o conteúdo para a demonstração, a fim de evitar a complicação desnecessária de considerar a formatação que pode estar presente no conteúdo copiado, dependendo da fonte de onde é copiado. No entanto, a falha também ocorre com conteúdo colado e as condições de conteúdo não conter uma quebra de linha serão mais prováveis de ocorrer com tal conteúdo (já que o usuário provavelmente usará Enter ao digitar, mesmo que não quisesse realmente uma quebra de linha).
A falha não ocorre se você usar “Selecionar Tudo” / Ctrl+A para selecionar o conteúdo.
O editor Markdown tem o comportamento correto de sempre colocar o conteúdo selecionado em um bloco de código quando a formatação de “texto pré-formatado” é aplicada retroativamente a uma seleção de várias linhas.
Consigo reproduzir a falha em try.discourse.org no “modo seguro”.
Originalmente relatado em Why did the Forum functions change? - #37 by sterretje - Website and Forum - Arduino Forum

