Todos os artigos

Markdown: por que uma sintaxe de texto simples venceu editores ricos

Markdown é uma linguagem de marcação leve que permite formatar texto — títulos, listas, links, ênfase — com caracteres comuns, permanecendo fácil de ler em sua forma bruta, ao contrário do HTML, difícil de ler sem renderização.

Sintaxe básica

  • # Título — títulos de diferentes níveis conforme a quantidade de caracteres #.
  • **negrito** e *itálico* — ênfase de texto.
  • [texto](url) — um link.
  • - item ou 1. item — listas com marcadores e numeradas.
  • ``` — blocos de código com destaque de sintaxe pelo nome da linguagem.

Por que o mesmo título pode virar dois links diferentes

Ao converter um título em âncora de navegação, o gerador cria um "slug": tudo em minúsculas, espaços viram hífens. Muitos geradores também removem acentos, então um título como ## Configuração pode virar a âncora #configuracao (sem cedilha nem til) num renderizador e #configuração em outro. Ao linkar manualmente para um título com ç, ã ou õ, vale conferir qual âncora o renderizador de destino realmente gera, porque não existe uma regra única entre implementações.

O Markdown original não tinha tabelas nem existia o CommonMark

O Markdown que John Gruber publicou em 2004 era uma descrição em prosa, não uma gramática formal, e não incluía tabelas, texto riscado nem blocos de código com linguagem destacada. Durante uma década, cada implementação resolveu à sua maneira os casos que o texto original deixava ambíguos, até que em 2014 surgiu o CommonMark para fixar uma gramática precisa — e o GitHub Flavored Markdown (GFM) adicionou sobre essa base as tabelas e listas de tarefas que hoje parecem óbvias em qualquer README.

Convertendo para HTML e de volta

A conversão Markdown → HTML é direta: um parser reconhece as construções sintáticas e gera as tags correspondentes. A conversão inversa, HTML → Markdown, é mais complicada, já que o HTML suporta muito mais opções de formatação do que o Markdown básico, então parte da marcação (tabelas complexas, estilos aninhados) pode ser simplificada ou perdida.

Para que serve

  • Ver rapidamente como um arquivo Markdown vai ficar renderizado, sem publicá-lo.
  • Converter o conteúdo de uma página ou documento para Markdown para armazenar num sistema de controle de versão.
  • Preparar conteúdo HTML para inserir num app que só aceita Markdown.
Experimentar a ferramenta