MD

O que é um arquivo MD?

Texto puro com alguns poucos sinais de formatação. É nele que quase toda documentação e praticamente todo README são escritos.

O que é MD

MD é um formato de texto puro que abre em qualquer editor. Ele é usado para a edição e mover dados entre programas.

A extensão é .md e o nome por extenso é Markdown. Os dois importam menos do que aquilo que o arquivo consegue carregar, e é disso que trata o resto desta página.

De onde vem MD

Ele remonta a 2004. A especificação é CommonMark.

A idade interessa por um motivo prático: quanto mais antigo o formato, mais programas tiveram tempo de aprendê-lo.

A especificação é pública

Ela está publicada por inteiro, então dá para implementá-la a partir do documento em vez de por observação — é por isso que o formato aparece em tantos programas e por isso que arquivos escritos há vinte anos ainda abrem. Especificação publicada não é o mesmo que livre de royalties: quando o formato embrulha um codec, o licenciamento das patentes é uma questão à parte, que a norma não resolve.

O que abre MD

Visual Studio Code, Obsidian e Typora leem esse formato, e a maioria dos programas do mesmo tipo também.

Quando um arquivo não abre, o formato raramente é o problema — mais comum é o programa ser mais antigo que ele. Converter para algo mais antigo é o caminho confiável, e é para isso que serve o resto deste site.

Abrir no navegador

Nenhum navegador lê o formato.

Esse é de longe o motivo mais comum para convertê-lo: não que o formato seja ruim, mas que o lugar onde você quer mostrar o arquivo não consegue lê-lo.

É um formato de trabalho

MD foi feito para ser aberto e alterado. Mantenha o arquivo nesse formato enquanto o trabalho estiver em andamento e exporte a partir dele sempre que precisar de uma cópia pronta.

Para que o Markdown serve

Markdown existe porque escrever HTML na mão é tedioso e escrever num processador de texto produz um arquivo que ninguém consegue comparar linha a linha. É um conjunto de convenções que já estava em uso em e-mail de texto simples antes de ter nome: uma linha começando com cerquilha é um título.

Essa propriedade é por que ele dominou documentação. Um README, um changelog ou um post escrito em Markdown é um arquivo de texto — entra em controle de versão, duas pessoas conseguem editar e mesclar o resultado, e um revisor consegue ler a diferença sem renderizar nada.

As variantes, e a diferença que pega todo mundo

Não existe um Markdown único. A descrição original de 2004 era informal e deixou muita coisa indefinida, então implementações preencheram as lacunas de formas diferentes. CommonMark é a tentativa séria de especificação precisa.

A adição que causa mais confusão são tabelas. Tabelas delimitadas por barras não são parte do CommonMark — são uma extensão do GitHub, também suportada por muitos editores e geradores de site estático, e ausente em implementações estritas.

Front matter, e por que o topo do arquivo parece estranho

Muitos arquivos Markdown abrem com um bloco cercado por três hífens contendo algo como título, data e uma lista de tags. Isso é front matter — geralmente YAML — e não é Markdown de jeito nenhum.

Uma ferramenta que não conhece front matter mostra isso como texto literal no topo da página. Se um documento convertido começa com três hífens e uma lista de pares chave-valor, foi isso que aconteceu.

O que o Markdown deliberadamente não consegue fazer

Não há tamanho de página, margem, fonte, espaçamento de linha, quebra de página ou rodapé. Isso é um recurso em vez de uma omissão: o arquivo descreve estrutura — isto é um título, isto é uma citação — e deixa a aparência para o que renderizar.

Também não há comentários, alterações rastreadas ou forma de dizer "este parágrafo é a terceira revisão". Controle de versão faz esse trabalho em vez disso, e faz melhor.

Tirando um documento pronto do Markdown

O destino usual é PDF, para qualquer coisa sendo enviada a alguém que não se importa em que foi escrito — uma especificação entregue a um cliente, um manual. A conversão transforma as marcas estruturais em formatação de verdade.

HTML é o outro alvo comum, e é mais parecido com uma tradução que uma conversão, já que Markdown foi desenhado como taquigrafia para ele. Converter para DOCX vale conhecer para uma situação específica: um documento que você quer escrever num editor de texto e entregar a alguém que só aceita um arquivo Word.

Imagens e links são referências, não conteúdo

Um arquivo Markdown que mostra seis diagramas não contém seis diagramas. Contém seis caminhos, e as imagens ficam ao lado no disco ou num servidor. Mova o arquivo sem a pasta ao redor e toda imagem some.

Isso importa na hora da conversão. Um conversor só consegue embutir uma imagem que consegue achar, então caminhos relativos têm que resolver a partir de onde o arquivo realmente está.

Editando Markdown sem software especial nenhum

Qualquer editor de texto serve — Bloco de Notas, TextEdit, nano — porque o arquivo é texto. É todo o apelo, e é por que um documento Markdown escrito em 2004 abre hoje sem nada instalado.

Editores dedicados adicionam uma prévia ao vivo, genuinamente útil enquanto se escreve e completamente irrelevante para o arquivo. Visual Studio Code, Obsidian e Typora renderizam enquanto você digita.

Os dados, num lugar só

Identificadores e procedência do formato MD.
Extensão.md, .markdown
Tipo de mídiatext/markdown
Primeira publicação2004
EspecificaçãoCommonMark