Resumo

  • A RFC 7763, RFC informativa do IETF de março de 2016, registrou text/markdown. O registro exige charset e admite um variant opcional para sinalizar a sintaxe pretendida pelo autor.
  • A indicação de variante é uma dica ao destinatário. Ele pode aplicá-la ou ler de outra maneira. A RFC 7764 registrou vários dialetos já usados por comunidades diferentes.
  • A IANA lista o tipo de mídia e mantém um cadastro distinto de variantes Markdown. Os cadastros nomeiam o conteúdo; um analisador em execução produz a página.

A tabela que sumiu na mudança

Imagine a documentação de um serviço com uma tabela de tarefas. O autor usou barras verticais para separar responsáveis e datas. Sua plataforma mostra colunas claras. A equipe transfere o arquivo para outro sistema e recebe um relatório impecável: tamanho, caracteres e hash coincidem. Na página nova, porém, as colunas desaparecem. O texto sobreviveu. A relação entre os dados ficou entregue à paciência do leitor.

A origem do problema está no sucesso de uma escrita simples. Markdown nasceu em 2004 como uma forma leve de produzir texto estruturado. Editores e comunidades passaram a acrescentar o que precisavam. A RFC 7764 lista Original, GFM, CommonMark, Pandoc e outros dialetos. Seu registro de GFM descreve tabelas, blocos de código cercados e links automáticos. Uma barra vertical pode ser estrutura em um dialeto e pontuação em outro. A palavra Markdown sozinha não escolhe entre eles.

Enquanto autor e leitor usam o mesmo programa, esse contrato fica escondido. Uma migração expõe a decisão: o destino tem de interpretar cada marca. Quem decide não é a extensão .md nem o software que escreveu o arquivo no passado. É o analisador presente no serviço que oferece a página agora. A mudança técnica parece pequena porque os bytes continuam familiares; o efeito editorial pode ser grande.

O que o cabeçalho passou a dizer

A RFC 7763 deu um endereço comum à família ao registrar text/markdown em março de 2016. Um servidor ou uma mensagem de correio podia anunciar explicitamente a natureza do texto, em vez de depender de um nome de arquivo. O registro exige charset. Antes de reconhecer um título marcado com #, a máquina precisa transformar bytes em caracteres. Para esse tipo, o RFC não definiu conjunto de caracteres padrão.

O parâmetro opcional variant lida com a pergunta seguinte: qual conjunto de regras o escritor usou? Content-Type: text/markdown; charset=UTF-8; variant=Original combina uma família, uma codificação e a intenção de sintaxe. Sem variant, o leitor usa contexto e escolhas locais. Com ele, recebe uma pista. A RFC permite que o destinatário interprete a variante indicada, mas deixa a decisão e a implementação no destino.

A consequência é direta. Um cabeçalho pode falar uma linguagem que o aplicativo não conhece. Se o programa não implementa tabelas naquele dialeto, a declaração não acrescenta a função. A RFC aconselha remetentes a escolher variantes que os destinatários entendam quando for importante preservar a intenção do autor. Compatibilidade real é um acordo entre programas em funcionamento, confirmado pelo resultado, não pelo selo do registro.

O caminho do arquivo também pode arrancar o cabeçalho. A RFC 7764 discute como guardar parâmetros quando o conteúdo sai de um protocolo capaz de transportá-los. Um .md salvo sozinho talvez mantenha as frases e perca o variant. A RFC 7763 recomenda registrar essa informação junto com o conteúdo. Arquivar só o corpo do arquivo preserva as palavras e deixa aberta a pergunta sobre a leitura que o autor pretendia.

O cadastro e a máquina

A lista de tipos de mídia da IANA inclui text/markdown. Uma segunda lista de variantes reúne nomes como Original, GFM, CommonMark e Pandoc. O procedimento para variantes é por ordem de chegada. Esses nomes são ferramentas de comunicação: tornam uma diferença identificável entre equipes e sistemas. A IANA não entrega a cada receptor um parser pronto para todas as entradas do cadastro.

O operador que anuncia “aceitamos Markdown” precisa completar a frase. Aceita qual variante? Qual versão do analisador? Quais estruturas foram usadas pela coleção que chegará? Uma comparação de arquivos responde se o transporte funcionou. Uma comparação de páginas renderizadas responde se o documento ainda faz sentido. Convém testar as duas coisas antes de declarar a mudança encerrada.

As quatro fontes oficiais deste trabalho registram regras e nomes. Manuais de produtos com data, versões de código ou respostas capturadas seriam necessários para dizer quais sistemas enviaram variant e quais o respeitaram em uma época específica. A decisão de 2016, porém, está documentada: o texto recebeu uma identidade comum na rede e a interpretação continuou a ocorrer no programa receptor.