Símbolos de pontuação causam falha na exibição em negrito do Markdown

Olá. Ok
hello. Sim

O negrito acima não está funcionando.

Olá. Tudo bem

Olá. Tudo bem

olá. Tudo bem

Eh? Não importa se estou usando ** ou o botão B, o texto fica em negrito. O mesmo acontece no editor de Markdown e no RTE.

**Olá. Tudo bem.**olá

Antes do último ** há um sinal de pontuação, seguido imediatamente por texto. Experimente.

O formato a seguir não funciona
**+texto+sinal de pontuação+**+texto

olá. Ok. algum texto

E

olá ok sem pontuação

Mas se não usarmos espaço após a pontuação e o fechamento **, acontece isso:

**olá ok.**texto
**olá ok.**texto

Versus

**olá ok.** texto
olá ok. texto

Não sei se isso é um bug ou uma funcionalidade do markdown, ou algo assim.

Acredito que o problema não esteja na pontuação antes dos asteriscos, mas sim no texto imediatamente após os asteriscos, sem espaço.

com pontuação. espaço texto
**com pontuação.**sem espaço texto

**com pontuação.** espaço texto
**com pontuação.**sem espaço texto

Eu sei. É o comportamento padrão do markdown. :slight_smile:

2 curtidas

É um problema conhecido no Markdown e não pode ser corrigido, a menos que você possa alterar o analisador de Markdown

E minha solução alternativa é usar <span></span>

**是的。**<span></span>对的。 是的。对的。

De acordo com o CommonMark, um ** só pode encerrar uma ênfase forte se fizer parte de uma sequência de delimitadores diretos. Um delimitador precedido por pontuação (.) e seguido por um caractere alfabético (t) não é direto, portanto, não pode encerrar. O markdown-it o interpreta como texto literal. A mesma regra se aplica a *, _ e __.

Acho que não há muito o que fazer a respeito, pois estamos seguindo a especificação, mas isso me mostrou que tínhamos um bug no serializador de markdown do editor rico: se você usasse a interface para criar essa situação (**texto.**texto), ela era exibida corretamente no editor rico, mas era processada como texto puro. Este PR corrigiu esse cenário removendo a pontuação da área marcada, tornando-se texto.texto (**texto**.texto).

3 curtidas

Ainda consigo reproduzir esse bug; a pontuação só é movida para fora depois que eu mudo para o editor Markdown.

Teste com o editor rich: texto.texto

Isso é esperado, pois evita quebrar a ênfase intencional do texto, com o compromisso de remover a pontuação (quase imperceptível) da ênfase durante a serialização do Markdown.

1 curtida