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.- itemou1. 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.