Existe uma maneira simples de não remover os espaços iniciais e outras formatações em um poema?

Estou hospedando um grupo no Discourse, testando para a comunidade Gene Keys, e um participante perguntou sobre permitir formatação em poesia. A FAQ sobre formatação descreve opções de HTML e outras codificações, mas essas não são simples para os usuários.

Por favor, me avise se houver uma solução fácil.

Obrigado, David

oi @pinetree1111 :wave: bem-vindo(a)

não tenho certeza se você considera isso “fácil”, mas acho fácil porque às vezes os uso nos meus posts, kkk.

você pode usar   para espaço em branco:
assim

hello world
 esta é uma linha com um espaço à esquerda
  esta é uma linha com 2 espaços à esquerda
   esta é uma linha com 3 espaços à esquerda

código:

hello world
 esta é uma linha com um espaço à esquerda
  esta é uma linha com 2 espaços à esquerda
    esta é uma linha com 3 espaços à esquerda

você também pode colocar espaços entre eles

hello world
  esta é uma linha com 2 espaços à esquerda
    esta é uma linha com 4 espaços à esquerda
      esta é uma linha com 6 espaços à esquerda

hello world
  esta é uma linha com 2 espaços à esquerda
    esta é uma linha com 4 espaços à esquerda
      esta é uma linha com 6 espaços à esquerda

Seria legal ter isso na barra de ferramentas — especialmente para quem não usa markdown, né?

não tenho certeza, mas acho que este componente pode adicionar botões personalizados? de qualquer forma, não é muito difícil para qualquer pessoa com algumas habilidades de programação criar um componente de tema. não tenho uso para ele pessoalmente, mas acho que poderia ajudar alguém com isso se quiser. não tenho certeza sobre o compositor wysiwyg, nunca o uso.

Também é possível usar crases (```), o que manterá a formatação, mas você pode não gostar do estilo

hello world
 this is a line with a leading space
  this is a line with 2 leading spaces
   this is a line with 3 leading spaces

E, se você tiver acesso ao TC, pode adicionar um pouco de CSS para amenizar isso:

code.lang-plaintext {
  font-family: cursive;
  font-size: inherit;
  background: transparent;
  color: inherit;
}
pre:has(code.lang-plaintext) {
  background: transparent;
  border: none;
  padding: 0;
}

O que fica assim (por exemplo):

Mas, claro, essa só é uma boa solução se ninguém estiver postando trechos de código reais (para o que as crases são tradicionalmente usadas), mas acho que a chance disso seja baixa em um fórum de poesia :slight_smile:

Acho que as 2 soluções mais simples são:

  1. Usando “Texto pré-formatado”:
    Basta digitar o texto com espaços, selecioná-lo e então usar o botão image para formatar o texto.
    Alternativamente, você pode selecionar as linhas e digitar CTRL+E.
    Isso é exatamente o mesmo que a solução com crases sugerida acima.

  2. Usar a tag HTML <pre> (sei que você pediu soluções que evitem HTML, mas isso é muito simples):
    Envolva o texto com as tags HTML, como isso:

    <pre>
    Texto
        com
            espaços
                à esquerda.
    </pre>    
    

    O resultado ficará assim:

     Texto
         com
             espaços
                 à esquerda.
     

Muito obrigado pelos seus comentários. Tenho experiência em programação que não uso há muito tempo (e tinha esquecido sobre &nbsp), vou ver se consigo brincar com isso de manhã. Temos uma equipe técnica que integraria o fórum ao novo site se decidirmos usá-lo permanentemente, então parece que eles podem ser capazes de criar um botão para o usuário médio.