Motivos comuns para ir de HTML para Markdown
HTML é como o conteúdo é publicado; Markdown é como boa parte dele é escrita e guardada. Converter de um para o outro aparece ao migrar um blog do WordPress ou de outro CMS para um gerador de sites estáticos como Hugo, Jekyll ou Astro, ao copiar documentação de uma página antiga da intranet para uma wiki baseada em Git, ao salvar um artigo num app de notas como o Obsidian ou ao preparar conteúdo web como entrada limpa para um script ou um índice de busca. O Markdown mantém a estrutura que tem significado — títulos, ênfase, links e listas — e descarta a marcação de apresentação que torna o HTML difícil de ler e editar.
Em que cada elemento se transforma
A conversão roda enquanto você digita e segue um conjunto fixo de convenções, escolhidas para bater com o que a maioria das ferramentas de Markdown espera:
<h1>a<h6>viram títulos#a######.<strong>e<b>viram**negrito**;<em>e<i>viram_itálico_.<a href>vira[texto](url), mantendo o atributotitle, se houver. Links semhrefviram texto comum.<img>vira. O arquivo de imagem em si não é tocado, então o link aponta para onde osrcoriginal apontava.- Listas
<ul>usam-como marcador, e listas<ol>são numeradas. <pre><code>vira um bloco de código cercado por três crases. Uma classe comolanguage-pythonno elemento de código é mantida como a etiqueta de linguagem da cerca, então o realce de sintaxe continua funcionando.<blockquote>vira linhas que começam com>, e<hr>vira* * *.<br>vira dois espaços no final e uma quebra de linha, o jeito do Markdown de escrever uma quebra forçada.
Elementos sem significado em Markdown, como <div>, <span> e <section>, são desembrulhados: o texto fica e as tags saem. <script>, <style>, <noscript> e <iframe> são removidos com tudo o que há dentro deles, o que dá conta de códigos de rastreamento, widgets incorporados e CSS inline.
Caracteres que ganham uma barra invertida
Você pode notar na saída barras invertidas que não estavam na página, como 1\. Introdução ou \*importante\*. Isso é escape, e está certo. Se um parágrafo no HTML começa com "1." seguido de espaço, escrevê-lo sem nada em Markdown o transformaria numa lista numerada. Asteriscos, sublinhados e colchetes literais, além de um # no início de uma linha, são escapados pelo mesmo motivo, para que o Markdown renderizado mostre exatamente o texto que o HTML mostrava.
Obtendo um resultado limpo de uma página web inteira
O conversor não adivinha qual parte de uma página é o artigo. Menus de navegação, avisos de cookies, barras laterais e rodapés são texto HTML comum, então colar o código-fonte de uma página inteira traz tudo isso junto. Para um resultado limpo, passe só o conteúdo que você quer:
- Abra a página no navegador, clique com o botão direito na primeira linha do artigo e escolha Inspecionar.
- Nas ferramentas de desenvolvedor, encontre o elemento que envolve o artigo inteiro, muitas vezes
<article>ou<main>. - Clique nele com o botão direito, escolha Copiar e depois Copiar outerHTML, e cole aqui.
Algumas outras coisas para ter em mente:
- Links relativos continuam relativos. Um link como
/blog/post-2ou uma imagemsrc="img/photo.jpg"é convertido como está escrito. Se o Markdown vai ficar num site diferente, troque-os por URLs completas. - HTML de e-mail converte mal. Newsletters são montadas com tabelas de layout aninhadas, e toda
<table>é convertida numa tabela Markdown. O resultado é uma única tabela com seções inteiras de texto espremidas nas células. Copie o conteúdo interno de uma célula em vez do e-mail inteiro. - Tabelas viram só texto. Cada célula é reduzida ao texto puro, então links e formatação dentro das células se perdem, e a primeira linha sempre vira a linha de cabeçalho.
- Comentários HTML são descartados.
Conferindo a saída
O jeito mais rápido de confirmar uma conversão é renderizá-la de volta. Cole o Markdown no Markdown para HTML e olhe a pré-visualização: títulos, listas e blocos de código devem bater com a estrutura da página original. Se você está convertendo um arquivo do Word e não uma página web, use o DOCX para Markdown, que aplica as mesmas regras, mas lê o .docx diretamente. Nada do que você cola aqui é enviado; o HTML é analisado e convertido pelo seu navegador.