<!-- page:70079 -->
# Funcionamento interno

Tudo no Wikilayer se apoia na árvore de nós descrita abaixo: cada bloco tem um endereço estável, cada página mostra quais outras páginas apontam para ela, e uma página continua sendo lida como um documento só. É pelo [MCP](page:70114) que os agentes chegam à mesma árvore.

<!-- block:70161 -->
## Nós

O Wikilayer guarda o texto em uma única árvore. Cada nó tem um título e um corpo em Markdown; uma página contém os blocos que formam as seções dela e fica sob a wiki ou sob outra página, e essa árvore de páginas é a navegação da wiki. O navegador exibe a página para as pessoas, e o [MCP](page:70114) expõe os mesmos nós aos agentes.

<!-- block:70164 -->
### Os níveis de título vêm da árvore

Um bloco logo abaixo de uma página é renderizado como h2; um bloco abaixo dele, como h3. Um título digitado dentro de um corpo em Markdown não tem nó próprio, por isso as ferramentas o recusam. Cada seção é um bloco à parte, então aparece no sumário da página e pode receber um link direto.

<!-- block:70162 -->
## O que os nós oferecem

Cada nó tem um ID estável, um nó pai e um histórico de alterações próprio.

<!-- block:70165 -->
### Os links sobrevivem a renomeações

Uma referência `block:N` usa o ID estável do nó. Renomear, reescrever ou mover esse nó mantém o link intacto.

<!-- block:70166 -->
### Os backlinks são automáticos

Como os links apontam para IDs de nós, o Wikilayer consegue listar as páginas que levam a um nó. A lista aparece na página e no documento montado em Markdown dela.

<!-- block:70167 -->
### Mover um nó leva junto a subárvore

`move_node` troca o nó pai de um nó. Os descendentes vão junto, e os níveis de título deles acompanham a nova profundidade. Um `sort_key` posiciona o nó entre os irmãos sem editar o corpo deles. `migrate` pode mover uma subárvore para outra wiki quando nenhum link atravessaria o limite entre as wikis.

<!-- block:70168 -->
### Cada nó tem seu próprio histórico

Cada nó guarda as próprias versões e o próprio `updated_at`. Alterar um bloco acrescenta uma entrada do histórico a esse bloco sem mexer nos vizinhos.

<!-- block:70169 -->
### A estrutura de tópicos dispensa ler a wiki inteira

`get_outline` mapeia uma wiki por títulos, IDs e contagens de tokens sem enviar todos os corpos.

<!-- block:70170 -->
### Os links conectam ramos

A árvore dá a cada nó um único nó pai. As referências curtas vinculam nós relacionados em outras partes da wiki, e os backlinks mostram as conexões no sentido inverso sem duplicar o conteúdo.

<!-- block:70163 -->
## Leitura e exportação

<!-- block:70171 -->
### Uma página se lê como um documento só

O navegador exibe uma página com as seções em ordem. `get_page_markdown` devolve a mesma página a um agente, com um comentário antes de cada nó que leva o ID dele. As wikis públicas também oferecem o documento montado como uma [visualização em Markdown](page:70106).

<!-- block:70172 -->
### O conteúdo é portátil

A [exportação de uma wiki](page:70104) contém o Markdown, os arquivos e a estrutura dela, e assim o conteúdo pode ficar guardado fora do Wikilayer.

---

## Links here

- [Manual do Wikilayer](/smee-again/wikilayer-howto/pt-BR)
- [Markdown](page:70113)
- [Visualização em Markdown](page:70106)

---

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