Verificação prévia de portabilidade de Markdown
Cole o código-fonte Markdown para ver quais construções serão renderizadas de forma diferente — ou falharão — conforme onde forem exibidas: GitHub, renderizador CommonMark estrito ou renderizador simplificado, como versões antigas do Reddit.
O processamento é feito localmente no seu navegador. Seu arquivo nunca é enviado.
Como usar esta ferramenta ferramenta
- Cole o código-fonte Markdown ou o conteúdo de um README/documento. O texto é processado no navegador e não é enviado.
- Selecione ‘Verificar portabilidade’.
- Confira cada construção sinalizada, por que pode não ser portátil e quais renderizadores divergem.
- Use a reescrita sugerida quando houver; muitos casos não podem ser corrigidos automaticamente sem adivinhar a intenção.
Premissas
- Detecta sete casos específicos: URLs sem formatação, blocos de código indentados com tabulações, tabelas GFM, tachado GFM, listas de tarefas GFM, links/imagens de referência sem definição correspondente e blocos HTML brutos com tags geralmente filtradas. Outros aspectos da renderização Markdown estão fora do escopo.
- É um scanner de texto por linha, não um parser Markdown completo: não cria uma árvore de documento e ignora deliberadamente conteúdo de blocos de código cercados.
- Um link/imagem de referência só é sinalizado se não houver definição correspondente em qualquer parte do documento; a comparação não diferencia maiúsculas e minúsculas, conforme a regra do CommonMark.
Fontes e dados de referência
Metodologia
Cada caso é detectado por um padrão específico, excluindo blocos de código cercados, e comparado às diferenças documentadas de renderização entre GitHub-Flavored Markdown, CommonMark e renderizadores simplificados comuns. Reescrita só é sugerida quando é segura e inequívoca, como envolver uma URL sem formatação entre sinais de menor e maior. Não se inventa o destino de referência ausente nem se reescrevem silenciosamente construções GFM válidas e intencionais.
Exemplo resolvido
URL sem formatação de link
Dados de entrada: Consulte https://example.com para obter detalhes.
Resultado: GFM transforma automaticamente em link; CommonMark estrito pode deixá-la como texto simples sem link. É sinalizada como aviso e pode ser reescrita com segurança como ‘Consulte <https://example.com> para obter detalhes.’
Link de referência sem definição correspondente
Dados de entrada: Leia o [guia de migração][ref-ausente] antes de atualizar.
Resultado: Não há definição ‘[ref-ausente]: URL’ no documento. O link aparece como sintaxe literal ou quebrada em todos os renderizadores. É sinalizado como erro, sem destino inventado.
Tabela GFM com barras verticais
Dados de entrada: | Nome | Idade | |------|-----| | Ada | 30 |
Resultado: Tabelas com barras são extensão de GitHub-Flavored Markdown, não do CommonMark básico. É sinalizada como informação; um renderizador CommonMark pode exibir barras e traços como texto.
Orientações práticas
- Envolva uma URL sem formatação entre sinais de menor/maior ou transforme-a em link [texto](url) se o documento puder ser lido por renderizador CommonMark estrito.
- Prefira blocos de código cercados por ``` a blocos indentados com tabulações ou espaços.
- Confira os destinos e rótulos de todos os links/imagens de referência: uma definição ausente ou incorreta é um erro real.
- Evite tags HTML brutas como <script>, <iframe>, <style>, <object> e <embed> em Markdown público; a filtragem é comportamento esperado.
Erros comuns
- Presumir que tabelas ou listas de tarefas funcionam em todo lugar porque aparecem no GitHub; extensões GFM não fazem parte da especificação CommonMark.
- Tratar um link de referência quebrado como diferença de portabilidade; ao contrário de outros avisos, ele falha em todos os renderizadores.
Perguntas frequentes
Por que URL sem formatação é aviso, mas link de referência quebrado é erro?
A URL continua legível como texto simples onde não vira link. Uma referência quebrada aparece como sintaxe literal ou link ausente em todos os renderizadores, portanto é falha funcional.
Por que a ferramenta não converte tabelas GFM ou listas de tarefas?
CommonMark básico não tem equivalente para tabela ou caixa de seleção. A ferramenta sinaliza a dependência de GFM para você decidir se ela é aceitável; uma conversão automática pode alterar a estrutura ou o significado.
A ferramenta verifica conteúdo dentro de blocos de código cercados?
Não. O texto entre cercas ``` é deliberadamente ignorado porque é exibido literalmente e não interpretado como sintaxe Markdown. Uma URL ou ~~tachado~~ de exemplo nesse bloco não é problema de portabilidade.
Por que uma tabela Markdown aparece no GitHub, mas não no CommonMark?
Tabelas com barras são extensão de GitHub-Flavored Markdown, não do CommonMark básico. Um renderizador apenas CommonMark pode exibir barras e linha separadora como texto. Esta verificação prévia identifica essa diferença, mas não compara todos os renderizadores.
Última revisão:
Scanner restrito com reconhecimento de linhas, não parser Markdown completo: reconhece sete construções específicas e nada mais; outros casos extremos CommonMark/GFM (ambiguidade de ênfase aninhada, notas de rodapé, casos extremos de autolinks, entidades HTML) não são analisados. Também não pode saber o destino pretendido de uma referência quebrada; informa a falha em vez de adivinhar.
Esta ferramenta fornece uma estimativa indicativa com base nas premissas informadas acima.
As preferências de tema e de ferramentas, além das listas de itens salvos e usados recentemente, são armazenadas somente neste navegador.