A história por trás do editor Markdown
Markdown é uma forma de escrever texto formatado que continua natural de ler como texto simples. Asteriscos para ênfase, cardinais para títulos e hífenes para listas vieram da maneira como as pessoas já escreviam e-mails. Esta página conta como essa ideia simples se tornou a linguagem dos ficheiros README, das notas e da documentação.
Nascido do email
Em 2004 John Gruber publicou o Markdown no seu site Daring Fireball, com a ajuda de Aaron Swartz. O objetivo era um texto fácil de ler e escrever tal como está, mas que se convertesse de forma limpa em HTML. Muitas convenções vieram do email e de formatos de texto mais antigos como o Setext: sublinhar uma linha com sinais de igual para um título, rodear uma palavra com asteriscos para a realçar e começar linhas com um hífen para uma lista. O primeiro conversor era um único script Perl.
Dialetos a mais
A descrição original deixava em aberto muitos casos limite, como quanto recuar uma lista aninhada ou quando uma linha em branco termina um bloco. Cada implementação decidiu de forma diferente, por isso o mesmo texto podia aparecer de outra forma em sites diferentes. Em 2014 John MacFarlane, Jeff Atwood e outros publicaram uma especificação precisa com centenas de exemplos. Chamou-se primeiro Standard Markdown e, após objeções de Gruber, passou a chamar-se CommonMark.
GitHub Flavored Markdown
O GitHub tornou o Markdown parte do trabalho diário dos programadores com ficheiros README, issues e comentários. Em 2017 publicou uma especificação formal do GitHub Flavored Markdown como superconjunto estrito do CommonMark. Acrescenta tabelas com alinhamento de colunas, listas de tarefas com caixas de verificação, rasurado com dois tis e ligações reconhecidas automaticamente. Os blocos de código delimitados com nome da linguagem, já populares, permitiram o realce de sintaxe.
Porque se higienizam as pré-visualizações
O Markdown permite HTML em bruto, o que é prático mas arriscado. Se uma página mostra Markdown de outra pessoa, uma etiqueta script escondida, um atributo onerror numa imagem ou uma ligação javascript podiam executar código no navegador do leitor, um ataque chamado cross site scripting. Por isso este editor mostra o HTML em bruto como texto, remove esquemas de ligação inseguros e filtra o resultado com uma lista de elementos e atributos permitidos antes de o mostrar.
Perguntas frequentes
Quem inventou o Markdown?
John Gruber criou o Markdown em 2004, com Aaron Swartz como colaborador e testador importante desde o início.
Qual é a diferença entre CommonMark e GFM?
O CommonMark é uma especificação precisa do núcleo do Markdown. O GitHub Flavored Markdown baseia-se nele e acrescenta tabelas, listas de tarefas, rasurado e ligações automáticas.
Porque é que o meu HTML aparece como texto?
Por segurança. O HTML em bruto pode conter scripts, por isso o editor escapa-o e só produz elementos que sabe serem inofensivos.
Pronto para experimentar?
Abra o PictorX no seu navegador – sem instalação, sem necessidade de cartão de crédito para começar.
Abrir o editor Markdown