<!-- page:70113 -->
# Markdown

O Markdown é um formato de texto simples, amplamente suportado, que se lê com facilidade em qualquer editor e é renderizado da mesma forma em diferentes ferramentas. O Wikilayer guarda o corpo de cada nó em Markdown, analisa esse texto com goldmark + GFM e acrescenta algumas extensões próprias para links entre nós e caixas de destaque incorporadas.

<!-- block:70292 -->
## CommonMark e GFM

Tudo o que há no [CommonMark](https://commonmark.org/) e no [GitHub-Flavored Markdown](https://github.github.com/gfm/), com uma exceção: uma linha de título de seção no corpo é recusada, porque [o título de seção é o lugar de um nó](block:70164) e o renderizador o gera a partir do título do nó.

Assim, os corpos aceitam:

- Negrito (`**texto**`), itálico (`*texto*`), tachado (`~~texto~~`).
- Código inline (`` `texto` ``) e blocos de código delimitados, com indicação de linguagem opcional.
- Listas não ordenadas (`-`, `*`, `+`), listas ordenadas (`1.`) e listas aninhadas por indentação.
- Citações em bloco (`> `).
- Tabelas (sintaxe de barras verticais do GFM).
- Listas de tarefas (`- [x]`, `- [ ]`).
- Linhas horizontais (`---`).
- Links (`[texto](url)`) e imagens (`![alt](url)`).

<!-- block:70293 -->
## Extensões do Wikilayer

Algumas formas são reescritas na renderização.

<!-- block:70294 -->
### Referências curtas

A referência curta é um link escrito com o ID de um nó, que o renderizador reescreve como a URL da própria wiki. Ela sobrevive à mudança de título ou de slug porque o ID não muda.

<!-- block:70297 -->
#### Referências curtas a páginas

`[texto](page:N)` leva à URL canônica da página de destino: `/{owner}/{wiki}/{id}-{slug}`, ou `/{owner}/{wiki}/{lang}/{id}-{slug}` para uma página num idioma que não é o principal. O slug pode mudar quando a página é renomeada; o ID é estável.

<!-- block:70298 -->
#### Referências curtas a blocos

`[texto](block:N)` leva à âncora `#block-N`: na própria página do bloco, é um link interno da página; a partir de qualquer outra página, é a URL da página do bloco mais essa âncora.

<!-- block:70295 -->
### Caixas de destaque

Destaques visuais escritos como citações em bloco `> [!KIND]`, na sintaxe de caixas de destaque do GitHub.

<!-- block:70299 -->
#### Tipos de caixa

As caixas de destaque no estilo do GitHub são exibidas como caixas formatadas. A primeira linha da citação em bloco indica o tipo:

```
> [!NOTE]
> Texto do corpo.
```

Tipos aceitos: `NOTE`, `TIP`, `IMPORTANT`, `WARNING`, `CAUTION`. Cada um tem cor e ícone próprios.

<!-- block:70300 -->
#### Mapas incorporados

Uma caixa `[!MAP]` com `lat, lng` na linha seguinte incorpora um mapa interativo. Uma terceira linha, se houver, serve de legenda.

```
> [!MAP]
> 44.7866, 20.4489
> Belgrado, o centro da cidade.
```

<!-- block:70296 -->
### Imagens incorporadas

A imagem é armazenada no servidor e incorporada pelo seu caminho `/s/`. Duas ferramentas do [MCP](page:70114) permitem armazená-la:

- `upload_image` recebe um endereço público `http` ou `https`, ou um arquivo anexado à conversa. O servidor busca a imagem, sem que seus bytes precisem passar pelo contexto do agente. É adequado para um agente em um chat no navegador, sem acesso a um shell.
- `request_upload` emite um endereço de uso único para o qual um agente com shell envia um arquivo local: `curl --data-binary @<file> -H 'Content-Type: <mime>' '<upload_url>'`.

Nos dois casos, a imagem é convertida para JPEG, com o lado maior de no máximo 1.600 px, e armazenada na wiki. `upload_image` retorna seu caminho; com `request_upload`, quem o retorna é a requisição POST. O caminho é inserido diretamente no corpo, exatamente como foi retornado: `![texto alternativo](/s/images/…)`.

<!-- block:75214 -->
#### Ao lado do texto, com legenda

Uma imagem sozinha em um parágrafo ocupa toda a largura do texto. Quando tem um título, fica à direita do texto, como uma miniatura em uma enciclopédia: o título vira a legenda, o texto flui à esquerda e um clique abre a imagem inteira.

```
![Uma lamparina e uma tigela de pedra ao lado de uma porta aberta](/s/images/… "A casa ao anoitecer")
```

O texto alternativo descreve a imagem para quem não pode vê-la; a legenda indica o que se deve entender dela. Uma imagem alta, ou que ilustra em vez de explicar, fica melhor ao lado do texto. Uma captura de tela ou um diagrama cujos detalhes importam mantém a largura total.

Em uma tela da largura de um celular, a imagem ocupa toda a largura; os aplicativos móveis mostram todas as imagens em largura total.

<!-- block:70301 -->
#### Sem hospedagem externa

Uma imagem só é incorporada a partir do armazenamento da própria wiki, pelo caminho `/s/`. Uma gravação que aponte para uma imagem no GitHub, no Imgur ou em outra hospedagem, para uma URI `data:` ou para uma URL completa é recusada, e uma imagem de outro lugar que já esteja num corpo aparece como link. Imagens externas quebram com o tempo, esbarram em limites de taxa e contam a quem as hospeda quem leu a página.

<!-- block:70302 -->
#### Sem armazenamento de objetos, não há alternativa

Se nem `upload_image` nem `request_upload` aparecem na lista de ferramentas, o armazenamento de objetos não está configurado nesta instância e a incorporação de imagens não está disponível; uma hospedagem externa não serve de substituto.

---

## Links here

- [Histórico](page:70115)
- [MCP](page:70114)

---

[All pages](https://wikilayer.org/smee-again/wikilayer-howto/pt-BR/index.md)
