Documento Markdown (.md)

CommonMark Padrão

Markdown (MD) é a linguagem de marcação leve mais popular do mundo. John Gruber a criou para que o texto simples fosse fácil de ler e escrever e pudesse ser convertido com facilidade em HTML estruturado.

Inspeção e metadados

Sistemas operacionais e analisadores de arquivos identificam arquivos Markdown pela sequência inicial de bytes:

Selecione ou solte os arquivos aqui

Privado - os arquivos nunca saem do seu dispositivo

ou colar Ctrl+V
Garantia de privacidade sem transmissão pela rede 0 bytes enviados a servidores externos. Todo o processamento ocorreu localmente no ambiente isolado do navegador.

Assinatura do arquivo em bytes (magic bytes)

Sistemas operacionais e analisadores de arquivos identificam arquivos Markdown pela sequência inicial de bytes:

ASSINATURA HEXADECIMAL (DESLOCAMENTO 0):

Sem assinatura fixa (Markdown é texto simples)

REPRESENTAÇÃO ASCII: Sem assinatura fixa

Padronização: CommonMark Specification / GitHub Flavored Markdown (GFM)

Especificações técnicas

Estrutura do contêinerArquivo de texto simples em UTF-8 com formatação por sinais de pontuação (títulos, listas, negrito, itálico e blocos de código)
CompressãoTexto não compactado (facilmente compactado com Gzip ou Brotli)
Ordem dos bytes (endianness)Fluxo de texto UTF-8 / Unicode
Espaços de corNão se aplica (marcação em texto simples)
Canais e EstruturaTítulos, citações em bloco, listas ordenadas e não ordenadas, blocos de código delimitados por crases, links, imagens e tabelas
Dimensões MáximasComprimento de documento de texto ilimitado
TransparênciaNenhum (texto puro)
Streaming e ProgressivoAnálise de blocos e elementos em linha, linha a linha, durante a leitura do fluxo

Matriz de comparação técnica: Markdown e formatos concorrentes

Atributo técnicoMarkdown (Atual)HTMLTXTPDF
Facilidade de ediçãoDigitação de texto simples extremamente rápidaSintaxe de tags prolixa (<p>, <div>)Digitação rápida (sem formatação)Requer editor de layout gráfico
Legibilidade do texto sem formataçãoTexto naturalmente fácil de lerPoluído por tags e colchetesLegibilidade de texto impecávelBytes brutos binários ilegíveis
Conversão HTMLConversão direta e determinística, de um formato para o outroLinguagem nativa da webRequer formatação manualSaída gráfica fixa
Ferramentas para desenvolvimentoO suporte varia conforme o programa.O suporte varia conforme o programa.O suporte varia conforme o programa.Distribuição de documentos

Modos comuns de corrupção e guia de recuperação com editor hexadecimal

Blocos de código são renderizados como parágrafos normais ou os títulos falham na formatação.

Causa principal: Falta de espaço após o símbolo de título (#) ou bloco de código iniciado com três crases (```) sem fechamento.

Recuperação: Valide e reformate a sintaxe Markdown com o verificador de Markdown do File2File.app.

Análise de segurança e vetores de ataque a analisadores

Conversores de Markdown costumam permitir HTML em linha sem sanitização por padrão. Isso pode abrir caminho para ataques de Cross-Site Scripting (XSS).

Vetores de ataque conhecidos

  • Injeção de XSS por elementos HTML brutos (por exemplo, <script> ou <img onerror=...>) incluídos no texto Markdown.
  • Negação de serviço por meio de estruturas de lista ou citação em bloco profundamente aninhadas em analisadores não conformes.
  • Esquemas de hiperlink maliciosos ('javascript:') dentro da sintaxe de link do Markdown.

Melhores práticas defensivas: Sempre sanitize o HTML gerado com DOMPurify e bloqueie protocolos de URL inseguros.

Origens históricas e marcos

2017A especificação GitHub Flavored Markdown (GFM) foi padronizada com base na especificação formal CommonMark.
2014Jeff Atwood e John MacFarlane lançaram a iniciativa CommonMark para padronizar casos-limite ambíguos do Markdown.
2004John Gruber e Aaron Swartz lançam a especificação original do Markdown 1.0 e o script de conversão em Perl.

Principais vantagens

  • Fácil de ler: o texto formatado parece limpo e natural mesmo em um terminal básico ou editor de texto simples.
  • Markdown é muito usado na documentação, mas a sintaxe e a apresentação variam conforme a ferramenta.
  • Sem dependência de fornecedor: arquivos de texto simples continuarão legíveis por séculos, sem exigir um programa proprietário para visualizá-los.

Limitações técnicas e desvantagens

  • A especificação original de 2004 tinha regras de análise ambíguas, levando a uma fragmentação sutil de dialetos (CommonMark vs GFM vs Kramdown).
  • Não oferece recursos nativos para composições de página complexas, como revistas em várias colunas, quebra de texto ou numeração de páginas.
  • As imagens são referenciadas externamente, em vez de armazenadas no arquivo do documento.

Curiosidades técnicas

  • Aos 17 anos, Aaron Swartz desenvolveu o Markdown em conjunto com John Gruber. Ele também cofundou o Reddit e criou o RSS 1.0.
  • Todos os repositórios do GitHub usam um arquivo README.md para apresentar seu código aos desenvolvedores.
  • A filosofia de design do Markdown afirma: 'O principal objetivo de design para a sintaxe de formatação do Markdown é torná-lo o mais legível possível.'

Perguntas técnicas frequentes

Para que o Markdown é usado?

Markdown é usado para escrever documentação, arquivos README do GitHub, posts de blog e mensagens em plataformas como Discord e Slack, além de fazer anotações em aplicativos como Obsidian e Notion.

Como posso converter Markdown para PDF ou HTML?

Com o File2File.app, você pode converter arquivos Markdown (.md) em PDFs com formatação ou em HTML limpo com um clique, diretamente no navegador.

O que é o GitHub Flavored Markdown (GFM)?

GFM é a versão estendida do Markdown usada pelo GitHub. Ela acrescenta suporte a tabelas, listas de tarefas com caixas de seleção ([x]), texto tachado (~~texto~~) e blocos de código com realce de sintaxe.