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.
CommonMark e GFM
Tudo o que há no CommonMark e no GitHub-Flavored Markdown, 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ó 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 ().
Extensões do Wikilayer
Algumas formas são reescritas na renderização.
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.
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.
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.
Caixas de destaque
Destaques visuais escritos como citações em bloco > [!KIND], na sintaxe de caixas de destaque do GitHub.
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.
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.
Imagens incorporadas
A imagem é armazenada no servidor e incorporada pelo seu caminho /s/. Duas ferramentas do MCP permitem armazená-la:
upload_imagerecebe um endereço públicohttpouhttps, 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_uploademite 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: .
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.

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.
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.
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.