Tenho usuários que editam a sintaxe das citações de forma inadequada e fazem a função de citação falhar. Por exemplo, temos este caso de um tópico atual. Este não está escapado:
[quote=“CFO.Digest.Input, post:1, topic:3258”]
he sugeriu que eu colocasse óleo mineral de volta. [/quote]
O problema é que o /quote está na mesma linha do fluxo, enquanto a citação de abertura está em sua própria linha. Percebi que você pode fazer de qualquer uma das duas formas, mas elas devem ser consistentes. Por exemplo, isso funciona (o ’ foi adicionado para escapar a função):
'[quote=“CFO.Digest.Input, post:1, topic:3258”]
he sugeriu que eu colocasse óleo mineral de volta.
'[/quote]
e isso também funciona:
'[quote=“CFO.Digest.Input, post:1, topic:3258”]he sugeriu que eu colocasse óleo mineral de volta.[/quote]
… mas você não pode misturar os modos.
Sei que alguém dirá “então não faça isso” ou “Use o botão de citação”, mas ainda temos usuários que não fazem do jeito certo.
Não existe uma maneira de analisar isso para que os modos possam ser misturados?
Nossa… então basicamente estamos impondo padrões de codificação aos nossos clientes e usuários?
Embora eu concorde com a análise de Sam sobre o formato, há uma diferença entre ser difícil de ler para o autor e ser difícil de ler para todos que visualizam a postagem. Parece meio que estamos punindo os leitores pelos pecados do autor…
Acho que vou continuar planejando editar as postagens quando as pessoas as estragarem.
Edição: Outra opção seria forçar uma quebra de linha após o [/quote] se não houver uma ali… editar automaticamente o formato para melhorar a legibilidade.
Isso não parece uma má ideia, mas se eles apenas selecionarem o texto e usarem o botão de citação, funciona. Eles estão voltando e editando a citação e quebrando a formatação?
Sim, são! Bastante notáveis, na verdade… e sem perceber que estão quebrando o formato no processo. Acho que eles não têm a prévia ativa? Ou talvez estejam fazendo isso pelo celular…
E a pessoa que fez isso é um dos princípios do negócio… feliz por não tê-lo tornado editor!
Aha! O mobile é uma boa opção. É difícil acertar de primeira e, se você tentar “corrigir”, pode acabar sendo desajeitado e não terá como visualizar a mudança.
Editei a postagem adicionando uma quebra de linha após a tag de fechamento da citação, mas ainda acho surpreendente que o fluxo de texto não seja analisado como HTML, onde quebras de linha e retornos de carro não afetam o funcionamento das tags. Parece-me um bug…
A ordem não é aleatória, está tudo certo. Mas, ao contrário do HTML, neste sistema importa onde as quebras de linha ocorrem.
Tudo o que foi necessário para corrigir aquela postagem com erro foi adicionar uma quebra de linha / CR após a tag de fechamento.
Estou disposto a continuar editando manualmente as postagens quando os usuários não cumprirem a estrutura exigida, mas ainda parece estranho que as quebras de linha importem para o analisador sintático…
Dê uma olhada na especificação do Markdown. Diferente do HTML, o Markdown depende inteiramente de quebras de linha bem posicionadas.
Uma quebra de linha errada em um elemento <h1> não teria qualquer impacto na renderização, mas:
aqui no mundo do Markdo
wn isso faz diferença
Isso é verdade para muitos elementos; tabelas em Markdown são horrivelmente quebradas por quebras de linha adicionais. Tabelas em HTML, por outro lado, não são.
Não tenho certeza se a analogia com HTML se sustenta ou é útil. Os usuários não estão sendo solicitados a escrever HTML. Você consegue imaginar a dor de esquecer <p></p> e <br>? Paredes literais de texto.
Se você pensa em “Markdown primeiro”, que é como o Discourse funciona, em vez de “HTML primeiro”, que o Discourse absolutamente não é, então os desafios apresentados ao inserir tags sem respeitar a estrutura começam a fazer sentido.
Não me importo de navegar nessas águas, como qualquer programador, mas nossos usuários são civis e achariam que markdown tem algo a ver com preços na Walmart.
Como você diz, felizmente não estamos pedindo para eles escreverem HTML! O que se ganha ao forçá-los a implementar formatação markdown? Parece que um pouco de criatividade na codificação os protegeria dessas realidades do nosso mundo.
Não sei o quão complicado seria forçar automaticamente uma nova linha após um [/quote] (desde que não esteja dentro de um bloco de código ou algo assim…) e entendo que há uma estrutura a ser observada ao usar markdown.
Mas também entendo o quão frustrante pode ser quando uma citação malformada aparece em uma mensagem de usuário devido a um “erro” tão pequeno quanto escrever texto na mesma linha que um [/quote] (não tenho certeza se posso chamar isso de erro).
Existe algum caso intencional em que o texto seria escrito na mesma linha que um [quote]?
Se não houver nenhum, então sinto que não há motivo algum para existir texto na mesma linha, e uma nova linha forçada após a tag de fechamento da citação poderia ser benéfica tanto para usuários quanto para a equipe. Mas também tenho certeza de que isso não é tão simples quanto parece.
Certo. A natureza básica do Markdown é que uma quebra de linha (ou duas quebras de linha) equivale a uma tag de parágrafo. Por causa disso, algumas tags exigem quebras de linha antes ou depois delas para serem interpretadas corretamente. Isso faz parte da especificação, acredito.