Markdown é uma linguagem simples de marcação originalmente criada por John Gruber[1] e Aaron Swartz.[2] Markdown converte seu texto em HTML válido. Markdown é frequentemente usado para formatar arquivos README, para escrever mensagens em fóruns de discussão online e para criar rich text usando um editor de texto simples .

Markdown
Markdown
Surgido em 19 de março de 2004; há 20 anos
Criado por John Gruber (com colaborações de Aaron Swartz na sintaxe)
Principais implementações MultiMarkdown, Markdown Extra, CommonMark, RMarkdown
Extensão do arquivo: .md, .markdown
Página oficial daringfireball.net/projects/markdown/

História editar

Em 2004, John Gruber[3] criou a linguagem Markdown em colaboração com Aaron Swartz na sintaxe, buscando possibilitar a escrita em XHTML (ou HTML) estruturalmente válido partindo de textos simples.

Seu principal objetivo quanto ao design é a legibilidade, característica que normalmente é afetada em linguagens de marcação, tais como Rich Text Format (RTF) ou HTML, pela presença de tags ou instruções de formatações “explícitas”. Em Markdown as formatações são muito mais sutis, essa inspira-se nas convenções existentes para marcar um texto simples ou e-mail, apesar de ser baseada em linguagens de marcação anteriores, como setext, Textile e reStructuredText.

Gruber escreveu um script PerlMarkdown.pl , que converte a entrada de texto marcada em XHTML ou HTML válido e bem formado e substitui os colchetes angulares ' <' ' >' e o e comercial ' &' por suas referências de entidade de caractere correspondentes . Ele pode assumir o papel de um script independente, um plugin para Blosxom ou um Movable Type , ou de um filtro de texto para BBEdit .

Markdown foi reimplementado por outros, por exemplo, em um módulo Perl disponível no CPAN ( Text::Markdown) e em uma variedade de outras linguagens de programação. Ele é distribuído sob uma licença estilo BSD e está incluído ou disponível como um plugin para vários sistemas de gerenciamento de conteúdo .

Variações da linguagem Markdown são amplamente utilizada por sites como GitHub , Bitbucket , Reddit , Diaspora , Stack Exchange , OpenStreetMap e SourceForge para facilitar a comunicação e discussão entre usuários; também é muito utilizada em arquivos do tipo README.

Padronização editar

Não há um padrão definido para Markdown, além da implementação original de John Gruber, que alguns consideram obsoleta. Isso é causado pela fragmentação, porque diferentes pessoas escrevem suas próprias variantes do Markdown para corrigir detalhes ou adicionar recursos ausentes, leia alguns desses exemplos a seguir:

CommonMark editar

A partir de 2012, um grupo de pessoas, incluindo Jeff Atwood e John MacFarlane , lançou o que Atwood caracterizou como um esforço de padronização.  Um site da comunidade que, hoje, visa "documentar várias ferramentas e recursos disponíveis para autores e desenvolvedores de documentos, bem como implementadores de várias implementações de markdown".  Em setembro de 2014, Gruber se opôs ao uso de "Markdown" em nome deste esforço e foi rebatizado como um novo dialeto chamado CommonMark.  CommonMark.org publicou várias versões de uma especificação, implementação de referência e suíte de teste.

GitHub Flavored Markdown (GFM) editar

Em 2017, o GitHub lançou uma especificação formal de seu GitHub Flavored Markdown (GFM) que é baseado no CommonMark (Uma especificação fortemente definida e altamente compatível de Markdown).  É um superconjunto estrito do CommonMark, seguindo sua especificação exatamente, exceto para tabelas, tachado, autolinks e listas de tarefas, que GFM adiciona como extensões.  GitHub também mudou o analisador usado em seus sites, o que exigiu que alguns documentos fossem alterados. Por exemplo, o GFM agora requer que o símbolo hash que cria um título seja separado do texto do título por um caractere de espaço. No entanto, muito da linguagem original é aceito pelo site.

Markdown Extra editar

Markdown Extra é uma linguagem de marcação leve baseada em Markdown implementado em PHP (originalmente), Python e Ruby .  Ele adiciona recursos não disponíveis com a sintaxe Markdown simples. Markdown Extra é compatível com alguns sistemas de gerenciamento de conteúdo , como, por exemplo, Drupal  e TYPO3 .

No MediaWiki , ele é implementado na extensão de função do analisador MarkdownExtraParser sem manutenção

Markdown Extra adiciona os seguintes recursos ao Markdown:

  • marcação de marcação dentro de blocos HTMLGitHub Flavored Markdown
  • elementos com atributo id / class
  • "blocos de código protegidos" que abrangem várias linhas de código
  • tabelas
  • listas de definição
  • notas de rodapé
  • abreviações

Exemplos de sintaxe editar

Esta não é uma lista completa, veja a documentação para todas as informações. Caracteres que possam ser interpretados pelo markdown são ignorados se uma barra invertida é colocada antes deles; por exemplo, a sequência '\*' mostraria um asterisco ao invés de começar um texto com ênfase, veja a lista a seguir:

Markdown fornece escapes de barra invertida para os seguintes caracteres:
  • \ Barra invertida
  • ` Crase
  • * Asterisco
  • _ Sublinhado
  • { } Chaves
  • [ ] Colchetes
  • ( ) Parênteses
  • + Sinal de adição
  • - Sinal de subtração
  • . Ponto
  • ! Sinal de exclamação


Texto usando sintaxe Markdown HTML correspondente produzido por um processador Markdown Texto visualizado em um navegador
Cabeçalho
=========

Sub-Cabeçalho
-------------

Sintaxe alternativa:

# Cabeçalho de primeiro nível
#### Cabeçalho de quarto nível


Parágrafos são separados por uma linha em branco

Dois espaços no fim de uma linha produzem    
uma quebra de linha.
<h1>Cabeçalho</h1>

<h2>Sub-cabeçalho</h2>


Sintaxe alternativa:

<h1>Cabeçalho de primeiro nível</h1>
<h4>Cabeçalho de quarto nível</h4>

<p>Parágrafos são separados por uma linha em branco</p>

<p>Dois espaços no final de uma linha produzem <br />
uma quebra de linha</p>

Cabeçalho

Sub-cabeçalho

Cabeçalho de quarto nível



Parágrafos são separados por uma linha em branco.


Dois espaços no final de uma linha produzem
uma quebra de linha

Texto com ênfase:

*Enfatizado - itálico*  

**Fortemente enfatizado - negrito**
<p>Texto com ênfase:</p>

<em>Enfatizado - itálico</em>

<strong>Fortemente enfatizado - negrito</strong>
Texto com ênfase:



Enfatizado - itálico

Fortemente enfatizado - negrito

Lista não ordenada:

  * item
  * item

Lista ordenada:

  1. item
  2. item
<p>Lista não ordenada:</p>

<ul>
    <li>item</li>
    <li>item</li>
</ul>

<p>Lista ordenada:</p>

<ol>
    <li>item</li>
    <li>item</li>
</ol>
Lista não ordenada:
  • item
  • item


Lista ordenada:

  1. item
  2. item
Links:
[Texto do link](http://example.com/ "Propriedade title, opcional")


Imagem:
![Texto da propriedade alt](/pasta/da/img.jpg "Propriedade title")


Citações:

> Esse texto será envolto pelo elemento HTML blockquote.

Código: `codigo`
<p>Links:</p>
<a href="http://example.com/Propriedade title, opcional">Texto do link</a>

Imagem:
<p><img alt="Texto da propriedade alt" title="Propriedade title" src="/pasta/da/img.jpg " /></p>

Citações:
{{Quote|
    <p>Esse texto será envolto pelo elemento HTML blockquote.</p>
}}

<p><code>codigo</code></p>
Links:

An example.


Imagem:

 


Citações:

Esse texto será envolto pelo elemento HTML blockquote.


Referências

  1. Markdown - introdução
  2. Markdown
  3. «John Gruber». Wikipedia (em inglês). 10 de julho de 2020 

Ligações externas editar

Timeline com as principais implementações da linguagem editar

Implementações editar

Enquanto Markdown é uma linguagem de marcação mínima e é lida e editada com um editor de texto normal, existem editores especialmente projetados que visualizam os arquivos com estilos, que estão disponíveis para todas as plataformas principais. Muitos editores de texto e código de uso geral possuem plug-ins de realce de sintaxe para Markdown integrados a eles ou disponíveis como download opcional.