[Tabnews]: Texto entre tags <sub></sub> aparece aglutinado após renderização do markdown

Prezado leitor desta postagem.

Poderia verificar se o texto mais abaixo, Exemplo 2, aparece normalmente para você? Estou tentando utilizar o par de tags <sub></sub> para estilizar o texto, porém o texto resultante está aparecendo aglutinado após o rendering do markdown. Deixo dois exemplos abaixo. O primeiro é com texto normal, sem qualquer problemas, e o segundo é o texto entre as referidas tags.

image

Caso a exibição também esteja comprometida para você e saiba como corrigir esse problema, deixe nos comentários. Se preferir, faça algo melhor ainda, abra uma Issue em https://github.com/filipedeschamps/tabnews.com.br/issues explicando para os desenvolvedores do Tabnews como resolvê-lo.

Exemplo 1: Texto normal


Área de rascunho

Esta é uma postagem para fins de teste, não gerando Tabcoins propositalmente como definido nas regras do algoritmo do Tabnews. O conteúdo aqui produzido não tem valor informativo. Este espaço está sendo utilizado apenas para testar novas publicações, sua aparência, antes de serem publicadas definitivamente no portal.

Por favor, não pontuar


Exemplo 2: Texto dentro das tag <sub></sub>


Área de rascunho

Esta é uma postagem para fins de teste, não gerando Tabcoins propositalmente como definido nas regras do algoritmo do Tabnews. O conteúdo aqui produzido não tem valor informativo. Este espaço está sendo utilizado apenas para testar novas publicações, sua aparência, antes de serem publicadas definitivamente no portal.

Por favor, não pontuar


Qualquer texto após a falha de renderização também é afetado, assemelhando a um vazamento da função das tags.

Prezado leitor desta postagem.

Poderia verificar se o texto mais abaixo aparece normalmente para você? Estou tentando utilizar o par de _tags_ `<sub></sub>` para estilizar o texto, porém o texto resultante está aparecendo aglutinado após o _rendering_ do _markdown_. Deixo dois exemplos abaixo. O primeiro é com texto normal, sem qualquer problemas, e o segundo é o texto entre as referidas _tags_.

<details>
<summary>Screenshot</summary>
    
![image](https://i.imgur.com/jXjSab3.png)

</details>

Caso a exibição também esteja comprometida para você e saiba como corrigir esse problema, deixe nos comentários. Se preferir, faça algo melhor ainda, abra uma _Issue_ em https://github.com/filipedeschamps/tabnews.com.br/issues explicando para os desenvolvedores do Tabnews como resolvê-lo.

#### Exemplo 1: Texto normal

---

###### Área de rascunho

Esta é uma postagem para fins de teste, não gerando Tabcoins propositalmente como definido nas regras do algoritmo do Tabnews. O conteúdo aqui produzido não tem valor informativo. Este espaço está sendo utilizado apenas para testar novas publicações, sua aparência, antes de serem publicadas definitivamente no portal.

Por favor, não pontuar


---

#### Exemplo 2: Texto dentro das tag `<sub></sub>`

---

<sub>

###### Área de rascunho

Esta é uma postagem para fins de teste, não gerando Tabcoins propositalmente como definido nas regras do algoritmo do Tabnews. O conteúdo aqui produzido não tem valor informativo. Este espaço está sendo utilizado apenas para testar novas publicações, sua aparência, antes de serem publicadas definitivamente no portal.

Por favor, não pontuar

</sub>

---

Qualquer texto após a falha de renderização também é afetado, assemelhando a um vazamento da função das tags.


Código fonte desta postagem

[Keywords: markdown, tabnews, tags sub] // for [index|filter]ing purposes

Pra mim também aparece com todo o texto na mesma linha, e acredito que vai acontecer o mesmo com todo mundo, por causa do HTML gerado e do CSS que o site usa.


O problema

Este Markdown:

<sub>

###### Área de rascunho

Esta é uma postagem para fins de teste, não gerando Tabcoins propositalmente como definido nas regras do algoritmo do Tabnews. O conteúdo aqui produzido não tem valor informativo. Este espaço está sendo utilizado apenas para testar novas publicações, sua aparência, antes de serem publicadas definitivamente no portal.

Por favor, não pontuar

</sub>

Gera este HTML:

<sub>
  <h6 id="gpoleszuk-content-área-de-rascunho-1">Área de rascunho</h6>
  <p>Esta é uma postagem para fins de teste, não gerando Tabcoins propositalmente como definido nas regras do algoritmo do Tabnews. O conteúdo aqui produzido não tem valor informativo. Este espaço está sendo utilizado apenas para testar novas publicações, sua aparência, antes de serem publicadas definitivamente no portal.</p>
  <p>Por favor, não pontuar</p>
</sub>

E se olharmos no developer tools do browser, vemos que o sub possui line-height igual a zero:

.markdown-body sub, .markdown-body sup {
    line-height: 0;
    ... etc
}

Isso que faz com que todo o texto fique em uma única linha. Se desabilitarmos o line-height (ou mudarmos para algum valor maior que zero), aí o texto passa a ser exibido normalmente.


Como resolver?

Somente pelo site, com todo o conteúdo que vc quer, não sei se tem um jeito simples. Eu até tentei forçar o line-height para algum valor diferente de zero:

<sub style="line-height: 1 !important;">

Mas o renderer parece ignorar e remover qualquer style que eu coloque. Segue o teste abaixo:

Área de rascunho

Esta é uma postagem para fins de teste, não gerando Tabcoins propositalmente como definido nas regras do algoritmo do Tabnews. O conteúdo aqui produzido não tem valor informativo. Este espaço está sendo utilizado apenas para testar novas publicações, sua aparência, antes de serem publicadas definitivamente no portal.

Por favor, não pontuar

O trecho acima foi colocado com style na tag sub, mas o HTML foi gerado sem o style. O curioso é que se eu editar, o style continua lá, então ele só é ignorado na hora de converter para HTML.


Uma solução seria usar algo externo ao site, como por exemplo o Stylus, que é uma extensão do Chrome que permite que vc altere/customize o CSS de qualquer site. No meu caso, eu só adicionei o trecho abaixo para o TabNews:

.markdown-body sub, .markdown-body sup {
    line-height: 1.5;
}

E assim o texto passou a ser exibido normalmente. Mas mudar o line-height diretamente via Markdown ou HTML no próprio post não sei se dá, pois como já disse acima, o renderer parece remover o style do elemento e usar somente o que está configurado na engine.


Sobre usar sub para estilizar

Na própria documentação da MDN tem o seguinte:

The <sub> element should be used only for typographical reasons - that is, to change the position of the text to comply with typographical conventions or standards, rather than solely for presentation or appearance purposes.

E na especificação do HTML temos:

These elements must be used only to mark up typographical conventions with specific meanings, not for typographical presentation for presentation's sake.

Ou seja, sub e sup não deveriam ser usados com o propósito de estilizar texto. É um uso torto e portanto não há garantia e nem obrigação de funcionar em todos os casos. Vale mencionar que nos links já citados é mencionado que o conteúdo destes elementos deve ser apenas phrasing content (e a lista destes elementos está aqui e aqui). Repare que h6 e p não estão na lista.

Ah, então a culpa é do Markdown que gerou esse HTML inválido.

Sim e não :-)

Historicamente as ferramentas que lidam com HTML (tanto os browsers quanto os softwares que geram) sempre foram - e ainda são - bem lenientes com HTML inválido e até mesmo mal-formado, e acabam aceitando muita coisa que não deveria. Cabe a nós tomar cuidado para não gerar nada fora do padrão (mesmo que muitas vezes "funcione").

Valeu pela ajuda, [kht](https://www.tabnews.com.br/kht). Eu não imaginava a "engenharia" por detrás da renderização do _markdown_. Tanto você com o [xafiyom362](https://www.tabnews.com.br/xafiyom362) especificaram o problema com riqueza de detalhes de maneira que qualquer um agora entende a raiz da problemática. Concordo também que o problema foi meu em utilizar uma _tag_ que foi elaborada para uma finalidade específica e não para alterar tamanho de fonte de texto :) Pontuei as respostas para que tenham relevância para o algoritmo do Tabnews. Talvez seja útil para outros usuários que enfrentarem a mesma surpresa como foi para mim. Felizmente podemos alterar o CSS no navegador como pontuou, mas acho que seria uma solução local, um trabalho todas as vezes que a página fosse recarregada. Vou seguir os conselhos que vocês deixaram, respeitando a função de cada _tag_. Pode-se notar que, dentro das tags, os _links_ não são renderizados corretamente, indicando um uso inapropriado.