Ir para o conteúdo

Folha de consulta Markdown

Markdown é um conjunto de convenções para escrever texto formatado em um arquivo simples, e seu atrativo é que o código-fonte permanece legível mesmo quando nada o renderiza. A sintaxe abaixo é agrupada pelo que você está tentando fazer, e cada linha mostra o HTML que realmente produz.

Esses fragmentos HTML não são digitados manualmente. Cada um é a saída real do conversor Markdown deste site, comparado com a tabela pelo conjunto de testes em cada build — então, se uma linha e a ferramenta discordassem, o build falharia em vez de a página enganar você.

O dialeto é CommonMark mais as extensões do GitHub que são quase universais: tabelas, listas de tarefas e tachado. Notas de rodapé, listas de definições e diretivas são deliberadamente ausentes, porque documentar uma sintaxe que não faz nada no conversor a um clique de distância é pior que omiti-la.

Ênfase e código embutido

9

A sintaxe embutida funciona dentro de parágrafos, títulos, itens de lista e células de tabela.

SintaxeO que fazHTML produzido
*italic*Itálico<p><em>italic</em></p>
_italic_Itálico, forma alternativaIgnorado dentro de uma palavra, então snake_case sobrevive.<p><em>italic</em></p>
**bold**Negrito<p><strong>bold</strong></p>
__bold__Negrito, forma alternativa<p><strong>bold</strong></p>
***both***Negrito e itálico juntos<p><em><strong>both</strong></em></p>
~~gone~~Tachado<p><del>gone</del></p>
`code`Código embutido — nada dentro é interpretado<p><code>code</code></p>
``a ` b``Código embutido contendo um backtickUse mais backticks fora do que aparecem dentro.<p><code>a ` b</code></p>
\*not italic\*Um asterisco literal em vez de ênfase<p>*not italic*</p>

Títulos

7

O formulário hash é o que usar; o formulário sublinhado apenas alcança dois níveis.

SintaxeO que fazHTML produzido
# HeadingTítulo de nível 1<h1>Heading</h1>
## HeadingTítulo de nível 2<h2>Heading</h2>
### HeadingTítulo de nível 3<h3>Heading</h3>
###### HeadingTítulo de nível 6 — o mais profundo que existe<h6>Heading</h6>
Heading =======Título de nível 1, forma sublinhada<h1>Heading</h1>
Heading -------Título de nível 2, forma sublinhada<h2>Heading</h2>
## Heading ##Hashes à direita são decoração e são descartadosA contagem à direita é ignorada; apenas a esquerda define o nível.<h2>Heading</h2>

Listas

7

Recue por dois espaços para aninhar. Uma linha em branco entre itens torna cada um um parágrafo.

SintaxeO que fazHTML produzido
- one - twoLista com marcadores<ul> <li>one</li> <li>two</li> </ul>
* one * twoLista com marcadores, marcador alternativo<ul> <li>one</li> <li>two</li> </ul>
1. one 2. twoLista numerada<ol> <li>one</li> <li>two</li> </ol>
1. one 1. twoTambém uma lista numerada, renumerada na renderizaçãoApenas o primeiro número é usado; o resto pode ser tudo 1.<ol> <li>one</li> <li>two</li> </ol>
- one - nestedLista aninhada — recue o filho por dois espaços<ul> <li>one <ul> <li>nested</li> </ul></li> </ul>
- [ ] todoItem de lista de tarefas desmarcado<ul> <li><input type="checkbox" disabled /> todo</li> </ul>
- [x] doneItem de lista de tarefas marcado<ul> <li><input type="checkbox" checked disabled /> done</li> </ul>
6
SintaxeO que fazHTML produzido
[text](https://a.co)Link<p><a href="https://a.co">text</a></p>
[text](https://a.co "Tip")Link com um título de dica de ferramenta<p><a href="https://a.co" title="Tip">text</a></p>
<https://a.co>URL simples transformada em um link<p><a href="https://a.co">https://a.co</a></p>
[mail](mailto:a@b.co)Link de e-mail<p><a href="mailto:a@b.co">mail</a></p>
![alt](cat.png)Imagem, com texto alternativo<p><img src="cat.png" alt="alt" /></p>
[x](javascript:alert(1))Esquema não seguro — o link é descartado, o texto permaneceURLs javascript:, data: e vbscript: perdem seu href.<p>x</p>

Elementos de bloco

9

Cada um deles deve começar no início de uma linha.

SintaxeO que fazHTML produzido
> quotedCitação em bloco<blockquote> <p>quoted</p> </blockquote>
> > deeperCitação aninhada<blockquote> <blockquote> <p>deeper</p> </blockquote> </blockquote>
``` code ```Bloco de código cercado<pre><code>code </code></pre>
```js let a = 1; ```Bloco de código cercado com uma classe de linguagem para destaque<pre><code class="language-js">let a = 1; </code></pre>
codeBloco de código por quatro espaços de recuo<pre><code>code </code></pre>
---Regra horizontal<hr />
***Regra horizontal, forma alternativa<hr />
one twoQuebra de linha dentro de um parágrafoDois espaços à direita. Invisível na maioria dos editores, é por isso que falha com tanta frequência.<p>one<br /> two</p>
one twoUma linha em branco separa parágrafos<p>one</p> <p>two</p>

Tabelas

4

A linha delimitadora é o que torna uma tabela. O alinhamento é definido por dois-pontos nessa linha.

SintaxeO que fazHTML produzido
| a | b | | - | - | | 1 | 2 |Tabela — cabeçalho, linha delimitadora, depois linhas de corpo
| :--- |Alinhe a coluna à esquerda, na linha delimitadora
| :---: |Centralize a coluna
| ---: |Alinhe a coluna à direita

FAQ

Qual é a diferença entre * e _ para ênfase?
Nenhuma, nos casos comuns — ambos produzem itálico, e duplicar qualquer um produz negrito. A diferença só aparece dentro de uma palavra: snake_case_name é deixada intacta porque sublinhados entre caracteres de palavra não são tratados como ênfase, enquanto asteriscos a dividiriam. É por isso que a forma de asterisco é o hábito mais seguro em escrita técnica.
Como faço para quebrar uma linha sem iniciar um novo parágrafo?
Termine a linha com dois espaços, que se torna <br />. Uma linha em branco inicia um novo parágrafo. A regra de dois espaços é invisível na maioria dos editores e é a razão mais comum para uma quebra de linha Markdown não aparecer.
Como posso mostrar um asterisco ou sublinhado literal?
Coloque uma barra invertida antes dele: \*not italic\*. Dentro de backticks nada precisa de escape, o que geralmente é a melhor resposta quando o texto é código.
As tabelas Markdown precisam dos pipes externos?
Não — os pipes iniciais e finais são opcionais, assim como alinhar as colunas na origem. O que é obrigatório é a linha delimitadora de travessões sob o cabeçalho; sem ela o bloco é um parágrafo contendo caracteres de pipe.
Algo que colo no conversor é carregado?
Não. Cada ferramenta neste site é executada no seu navegador, e esta página não tem nenhum script — é uma tabela estática. Nada que você digita é enviado para qualquer lugar, e não há servidor para enviar.