Markdown - Markdown
Tipo de mídia da Internet | text/markdown |
---|---|
Identificador de tipo uniforme (UTI) | net.daringfireball.markdown |
Desenvolvido por | John Gruber e Aaron Swartz |
lançamento inicial | 19 de março de 2004 |
Último lançamento | 1.0.1 (17 de dezembro de 2004 ) |
Tipo de formato | Linguagem de marcação |
Alargado a | pandoc , MultiMarkdown , Markdown Extra , CommonMark , RMarkdown |
Formato aberto ? | sim |
Local na rede Internet | daringfireball |
Markdown é uma linguagem de marcação leve para criar texto formatado usando um editor de texto simples . John Gruber e Aaron Swartz criaram a Markdown em 2004 como uma linguagem de marcação que atrai leitores humanos em sua forma de código-fonte. Markdown é amplamente usado em blogs , mensagens instantâneas , fóruns online , software colaborativo , páginas de documentação e arquivos leia - me .
A descrição inicial do Markdown continha ambigüidades e levantou questões sem resposta. Para corrigir esses problemas, as implementações posteriores introduziram diferenças sutis da versão original, bem como extensões de sintaxe.
História
Em 2002, Aaron Swartz criou o atx, "o verdadeiro formato de texto estruturado". Swartz e John Gruber trabalharam juntos para criar a linguagem Markdown em 2004, com o objetivo de permitir que as pessoas "escrevessem usando um formato de texto simples fácil de ler e escrever, opcionalmente convertê-lo em XHTML estruturalmente válido (ou HTML ) ".
Seu principal objetivo de design é a legibilidade - que a linguagem seja legível como está, sem parecer que foi marcada com tags ou instruções de formatação, ao contrário do texto formatado com uma linguagem de marcação , como Rich Text Format (RTF) ou HTML, que têm tags e instruções de formatação óbvias. Para esse fim, sua principal inspiração são as convenções existentes para marcar texto simples em e-mail , embora também se baseie em linguagens de marcação anteriores, notadamente 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 . Pode assumir o papel de um script autônomo, um plugin para Blosxom ou um Movable Type , ou de um filtro de texto para BBEdit .
estandardização
Markdown foi caracterizado por uma especificação informal e uma implementação de referência para conversão para HTML. Com o tempo, muitas implementações de Markdown apareceram. As pessoas os desenvolveram principalmente pela necessidade de recursos adicionais sobre a sintaxe básica - como tabelas, notas de rodapé, listas de definição (tecnicamente listas de descrição HTML) e Markdown dentro de blocos HTML. O comportamento de alguns deles diverge da implementação de referência. Ao mesmo tempo, várias ambigüidades na especificação informal têm chamado a atenção. Esses problemas estimularam a criação de ferramentas como o Babelmark para comparar a saída de várias implementações e um esforço de alguns desenvolvedores de analisadores Markdown para padronização. No entanto, Gruber argumentou que a padronização completa seria um erro: "Diferentes sites (e pessoas) têm diferentes necessidades. Nenhuma sintaxe faria todos felizes."
Em março de 2016, foram publicadas duas RFCs informativas relevantes da Internet :
- O RFC 7763 introduziu o tipo MIME
text/markdown
com a variante original. - O RFC 7764 discutiu e registrou as variantes MultiMarkdown , GitHub Flavored Markdown (GFM), Pandoc , CommonMark e Markdown Extra, entre outros.
CommonMark
Extensões de nome de arquivo |
.md , .markdown
|
---|---|
Tipo de mídia da Internet | text/markdown; variant=CommonMark |
Identificador de tipo uniforme (UTI) | incerto |
Conformação UTI | public.plain-text |
Desenvolvido por | John MacFarlane , código aberto |
lançamento inicial | 25 de outubro de 2014 |
Último lançamento | 0,30 (19 de junho de 2021 ) |
Tipo de formato | Linguagem de marcação |
Estendido de | Markdown |
Alargado a | GitHub Flavored Markdown |
Formato aberto ? | sim |
Local na rede Internet | spec |
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 de comunidade agora 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 desse 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, suíte de teste e "[planos] para anunciar uma especificação 1.0 finalizada e suíte de teste em 2019." Nenhuma especificação 1.0 foi lançada desde então, pois os principais problemas ainda permanecem sem solução. No entanto, os seguintes sites e projetos adotaram o CommonMark: Discourse, GitHub, GitLab, Reddit, Qt, Stack Exchange (Stack Overflow) e Swift.
Variantes
Sites como GitHub , Bitbucket , Reddit , Diaspora , Stack Exchange , OpenStreetMap e SourceForge usam variantes do Markdown para facilitar a discussão entre os usuários.
Dependendo da implementação, tags HTML embutidas básicas podem ser suportadas. O texto em itálico pode ser implementado por _underscores_
e / ou *single-asterisks*
.
GitHub Flavored Markdown
O GitHub vinha usando sua própria variante do Markdown desde 2009, adicionando suporte para formatação adicional, como tabelas e conteúdo de bloco de aninhamento dentro de elementos de lista, bem como recursos específicos do GitHub, como referências de vinculação automática a commits, ocorrências, nomes de usuário , etc. Em 2017, o GitHub lançou uma especificação formal de seu GitHub Flavored Markdown (GFM) que é baseado no CommonMark. É um superconjunto estrito do CommonMark, seguindo suas especificações exatamente, exceto para tabelas, tachado, autolinks e listas de tarefas, que GFM adiciona como extensões. O GitHub também mudou o analisador usado em seus sites, o que exigiu que alguns documentos fossem alterados. Por exemplo, o GFM agora exige que o símbolo hash que cria um título seja separado do texto do título por um caractere de espaço.
Markdown Extra
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 .
Markdown Extra adiciona os seguintes recursos ao Markdown:
- Marcação de marcação dentro de blocos HTML
- Elementos com atributo id / class
- "Blocos de código cercados" que abrangem várias linhas de código
- Mesas
- Listas de definição
- Notas de rodapé
- Abreviações
Exemplo
Texto usando sintaxe Markdown | HTML correspondente produzido por um processador Markdown | Texto visualizado em um navegador |
---|---|---|
Heading
=======
Sub-heading
-----------
Paragraphs are separated
by a blank line.
Two spaces at the end of a line
produce a line break.
|
<h1>Heading</h1>
<h2>Sub-heading</h2>
<p>Paragraphs are separated
by a blank line.</p>
<p>Two spaces at the end of a line<br />
produce a line break.</p>
|
Os parágrafos são separados por uma linha em branco. Dois espaços no final de uma linha |
Text attributes _italic_,
**bold**, `monospace`. Some implementations may use *single-asterisks* for italic text.
Horizontal rule:
---
Strikethrough:
~~strikethrough~~
|
<p>Text attributes <em>italic</em>,
<strong>bold</strong>, <code>monospace</code>. Some implementations may use <i>single-asterisks</i> for italic text.</p>
<p>Horizontal rule:</p>
<hr />
<p>Strikethrough:</p>
<s>strikethrough</s>
|
Atributos de texto em itálico ,
negrito , monospace . Algumas implementações podem usar um asterisco para texto em itálico.
Regra horizontal: Tachado:
|
Bullet list:
* apples
* oranges
* pears
Numbered list:
1. lather
2. rinse
3. repeat
|
<p>Bullet list:</p>
<ul>
<li>apples</li>
<li>oranges</li>
<li>pears</li>
</ul>
<p>Numbered list:</p>
<ol>
<li>lather</li>
<li>rinse</li>
<li>repeat</li>
</ol>
|
Lista de marcadores:
Lista numerada:
|
An [example](http://example.com).
![Image](Icon-pictures.png "icon")
> Markdown uses email-style
> characters for blockquoting.
> Multiple paragraphs need to be prepended individually.
Basic inline <abbr title="Hypertext Markup Language">HTML</abbr> may be supported.
|
<p>An <a href="http://example.com">example</a>.</p>
<p><img alt="Image" title="icon" src="Icon-pictures.png" /></p>
<blockquote>
<p>Markdown uses email-style characters for blockquoting. Multiple paragraphs need to be prepended individually.</p>
</blockquote>
<p>Basic inline <abbr title="Hypertext Markup Language">HTML</abbr> may be supported.</p>
|
Um exemplo .
HTML embutido básico pode ser suportado. |
Implementações
Implementações de Markdown estão disponíveis para mais de uma dúzia de linguagens de programação; além disso, muitas plataformas e estruturas suportam Markdown. Por exemplo, existem plug-ins Markdown para todas as principais plataformas de blog.
Embora Markdown seja uma linguagem de marcação mínima e seja 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. Os editores podem apresentar uma janela de visualização lado a lado ou renderizar o código diretamente no modo WYSIWYG .
- JotterPad - um editor WYSIWYG online que suporta Markdown e chafariz
- Doxygen - um gerador de documentação de código fonte que suporta Markdown com recursos extras
- Rstudio - um IDE para R . Ele fornece uma função de wrapper C ++ para uma variante de redução chamada sundown
- GitHub Flavored Markdown (GFM) ignora sublinhados em palavras e adiciona realce de sintaxe , listas de tarefas e tabelas
- RMarkdown
Veja também
- Comparação de linguagens de marcação de documento
- Comparação de geradores de documentação
- Linguagem de marcação leve
- Marcação Wiki
Referências
links externos
- Site oficial da marcação original de John Gruber
- Markdown Guide: Tools - uma revisão de fonte independente de software que suporta Markdown