---
title: Blocos de código
description: Adicione blocos de código com realce de sintaxe, números de linha, nomes de arquivo e destaques. Suporte a CodeGroups para exemplos multilíngues.
---

> **For AI agents:** the complete documentation index is at [llms.txt](/docs/llms.txt). Append `.md` to any page URL for its markdown version.

Use blocos de código para mostrar comandos, arquivos de configuração e trechos com realce de sintaxe.

## Realce de sintaxe básico

```javascript
const greeting = "Hello, Jamdesk!";
console.log(greeting);
```

## Adicionando um nome de arquivo

Mostre o caminho do arquivo com o atributo `title`:

```typescript src/config.ts
export const config = {
  name: "My Docs",
  theme: "jam"
};
```

## Realce de linhas

Destaque linhas específicas com a sintaxe `{1,3-5}`:

```javascript {1,4-6}
// This line is highlighted
const config = {
  apiKey: process.env.API_KEY,
  baseUrl: 'https://api.example.com', // highlighted
  timeout: 5000,                       // highlighted
  retries: 3,                          // highlighted
};
```

## Números de linha

Adicione números de linha com `showLineNumbers`:

```python showLineNumbers
def fibonacci(n):
    if n <= 1:
        return n
    return fibonacci(n - 1) + fibonacci(n - 2)
```

## Linha inicial personalizada

Comece a numeração em uma linha específica:

```go showLineNumbers startLine=42
func processRequest(ctx context.Context) error {
    // This is line 42
    return nil
}
```

## Recursos combinados

Use vários recursos em conjunto:

```typescript api/client.ts showLineNumbers {3-5}
import axios from 'axios';

const client = axios.create({
  baseURL: process.env.API_URL,
  timeout: 10000,
});

export default client;
```

## Grupos de código

Mostre o mesmo código em várias linguagens:

<CodeGroup>
```bash cURL
curl -X POST https://api.example.com/posts \
  -H "Authorization: Bearer $API_KEY"
```

```javascript JavaScript
const response = await fetch('https://api.example.com/posts', {
  method: 'POST',
  headers: { 'Authorization': `Bearer ${API_KEY}` }
});
```

```python Python
import requests
response = requests.post(
    'https://api.example.com/posts',
    headers={'Authorization': f'Bearer {API_KEY}'}
)
```
</CodeGroup>

## Temas disponíveis

Configure os temas de realce de sintaxe em `docs.json`:

```json docs.json
{
  "styling": {
    "codeblocks": {
      "theme": {
        "light": "github-light",
        "dark": "github-dark"
      }
    }
  }
}
```

<Accordion title="Ver temas compatíveis">

Os temas populares incluem:

- **GitHub**: `github-dark`, `github-light`, `github-dark-default`, `github-light-default`
- **Temas escuros**: `tokyo-night`, `one-dark-pro`, `dracula`, `nord`, `vitesse-dark`
- **Temas claros**: `vitesse-light`, `min-light`
- **Catppuccin**: `catppuccin-mocha`, `catppuccin-latte`

</Accordion>

## Tema de variáveis CSS

Para ter controle completo sobre as cores do realce de sintaxe, use o tema de variáveis CSS:

```json docs.json
{
  "styling": {
    "codeblocks": {
      "theme": "css-variables"
    }
  }
}
```

Depois, personalize as cores em seu `style.css`:

```css style.css
:root {
  --jd-token-keyword: #ff7b72;
  --jd-token-string: #a5d6ff;
  --jd-token-comment: #8b949e;
  --jd-token-function: #d2a8ff;
  --jd-token-constant: #79c0ff;
  --jd-token-parameter: #ffa657;
}
```

<Accordion title="Ver todas as variáveis CSS">

| Variável | Descrição |
| -------- | ----------- |
| `--jd-color-text` | Cor de texto padrão |
| `--jd-color-background` | Fundo do bloco de código |
| `--jd-token-keyword` | Palavras-chave (if, const, function) |
| `--jd-token-string` | Literais de string |
| `--jd-token-comment` | Comentários |
| `--jd-token-function` | Nomes de funções |
| `--jd-token-constant` | Constantes |
| `--jd-token-parameter` | Parâmetros de funções |
| `--jd-token-punctuation` | Colchetes, vírgulas |
| `--jd-token-link` | URLs e links |

</Accordion>

## O que vem a seguir?

<Columns cols={2}>
  <Card title="Otimização de SEO" icon="magnifying-glass-chart" href="/pt/content/seo">
    Melhore a descoberta e os metadados
  </Card>
  <Card title="Frontmatter" icon="file-lines" href="/pt/content/frontmatter">
    Defina títulos, descrições e campos de SEO
  </Card>
</Columns>