Como escrever um bloco de código em Markdown:delimite-o com três acentos graves.

Um bloco de código mantém o espaçamento, usa um tipo de letra monoespaçado e, com o nome de uma linguagem, ganha cores de sintaxe. Eis a sintaxe dos delimitadores, as etiquetas de linguagem e o que fazer quando o próprio código tem acentos graves.

macOS 14 ou posterior. Ler é grátis; editar e rever são um pagamento único.

Resposta rápida

Ponha três acentos graves na linha antes e depois do código. Escreva a linguagem logo a seguir aos acentos de abertura para ativar o realce de sintaxe. Para código dentro de uma frase, envolva-o em acentos graves simples.

```swift
let greeting = "Hello"
print(greeting)
```

·

Blocos de código delimitados

Um delimitador é uma linha com pelo menos três acentos graves, e o bloco termina com uma linha com pelo menos o mesmo comprimento. Tudo o que está no meio é mostrado como foi escrito: sem negrito, sem ligações, sem junção de linhas.

```
plain text, no colors
  indentation is kept
```

Pode usar três til em vez disso: ~~~ abre e ~~~ fecha. Os dois tipos não se misturam, por isso um bloco aberto com til tem de fechar com til. Indentar cada linha com quatro espaços também cria um bloco de código, o estilo mais antigo, mas não pode levar o nome de uma linguagem, por isso os delimitadores são a melhor escolha.

Etiquetas de linguagem e realce de sintaxe

A palavra a seguir ao delimitador de abertura é a cadeia de informação. A maioria das aplicações usa-a para escolher um realçador:

```json
{ "name": "dotmd", "private": true }
```

Nomes comuns que funcionam no GitHub, no DotMD e na maioria das outras aplicações:

  • js ou javascript, ts ou typescript, python, swift, go, rust
  • bash, sh ou zsh para comandos de shell
  • json, yaml, html, css, sql
  • markdown ou md para mostrar o próprio Markdown, diff para alterações, text para não ter cores

A lista exata de nomes depende da aplicação e do seu realçador. Um nome que a aplicação não conheça não é um erro: o bloco aparece apenas sem cores. Um bloco sem linguagem também aparece simples.

Mostrar acentos graves dentro de um bloco de código

Se o código tiver uma linha de três acentos graves, delimite-o com mais. O delimitador de fecho tem de ter pelo menos o comprimento do de abertura, por isso use quatro para mostrar três:

````markdown
```swift
let x = 1
```
````

É assim que esta página mostra exemplos de Markdown que contêm blocos de código. Os delimitadores com til funcionam da mesma forma: um bloco aberto com ~~~~ pode conter ~~~.

Código em linha

Para um comando ou um nome dentro de uma frase, envolva-o em acentos graves simples: `npm install` dá npm install. Para mostrar um acento grave, ponha tudo entre acentos graves duplos e junte um espaço no interior se o código começar ou acabar com um acento grave:

``a `tick` inside``

O código em linha também impede que caracteres como * e _ sejam lidos como formatação, o que o torna a ferramenta certa para nomes de ficheiros e variáveis.

Código dentro de listas e citações

Um bloco delimitado pode ficar dentro de um item de lista. Indente o delimitador ao nível do texto do item para que continue a fazer parte dele:

1. Install the tool:

   ```bash
   brew install example
   ```

2. Run it.

Ponha uma linha em branco antes do delimitador e mantenha cada linha do código indentada na mesma medida. Numa citação, comece cada linha do delimitador com >.

Blocos diff

Marque um bloco como diff e as linhas que começam por + ou - ficam a verde e a vermelho nas aplicações que realçam diffs, incluindo o GitHub:

```diff
- let timeout = 30
+ let timeout = 60
```

É uma forma prática de mostrar uma alteração num documento, num README ou numa especificação sem capturas de ecrã.

Erros comuns

  • Um delimitador de fecho mais curto do que o de abertura, e o bloco nunca termina e engole o resto da página.
  • Espaços antes da etiqueta de linguagem em aplicações estritas. Escreva ```js, não ``` js, se as cores não aparecerem.
  • Misturar acentos graves e til num só bloco.
  • Sem linha em branco antes do delimitador depois de um item de lista ou de um parágrafo, nalgumas aplicações. Junte uma.
  • Aspas tipográficas. O texto colado de um processador de texto pode transformar as aspas retas do código em aspas tipográficas. Cole como texto simples.

Alguns delimitadores não servem para mostrar código. Um bloco marcado mermaid é desenhado como diagrama pelo GitHub e pelo DotMD, desde que a sintaxe seja válida.

Verificar as cores

O teste mais rápido de uma etiqueta de linguagem é abrir o ficheiro num leitor. O DotMD colore os blocos delimitados com o highlight.js nos temas claro e escuro e mostra um botão Copy quando passa o cursor sobre um bloco. A leitura é gratuita, e a folha de consulta de Markdown tem o resto da sintaxe numa página.

Perguntas sobre blocos de código em Markdown

Como faço um bloco de código em Markdown?

Ponha três acentos graves na linha antes e depois do código e, se quiser, o nome da linguagem a seguir aos acentos de abertura. Quatro espaços de indentação também funcionam, mas não podem levar uma linguagem.

Como adiciono realce de sintaxe a um bloco de código em Markdown?

Escreva a linguagem logo a seguir ao delimitador de abertura, por exemplo ```python. É a aplicação que escolhe as cores; um nome que não conheça mostra texto simples.

Como ponho acentos graves dentro de um bloco de código em Markdown?

Abra e feche o bloco com um delimitador mais comprido do que tudo o que está dentro, por exemplo quatro acentos graves à volta de código que contém três. Use acentos graves duplos para código em linha que contém um.

Qual é a diferença entre ``` e ~~~?

Nenhuma no aspeto do bloco. Ambos são delimitadores, mas um bloco tem de fechar com o mesmo carácter com que abriu.

Mais perguntas