<!-- page:69139 -->
# Interna

Alles in Wikilayer beruht auf dem folgenden Knotenbaum: Jeder Block hat eine stabile Adresse, Links lassen sich zurückverfolgen, und eine Seite liest sich trotzdem wie ein einziges Dokument. Über [MCP](page:69168) erreichen Agenten denselben Baum.

<!-- block:69215 -->
## Knoten

Wikilayer speichert Texte in einem einzigen Baum. Jeder Knoten hat einen Titel und einen Markdown-Text. Eine Seite enthält die Blöcke, aus denen ihre Abschnitte bestehen, und steht unter dem Wiki oder unter einer anderen Seite; dieser Seitenbaum ist die Navigation des Wikis. Der Browser stellt die Seite für Menschen dar, und [MCP](page:69168) stellt Agenten dieselben Knoten bereit.

<!-- block:69218 -->
### Überschriftenebenen ergeben sich aus dem Baum

Ein Block direkt unter einer Seite wird als h2 dargestellt, ein Block darunter als h3. Eine Überschrift, die jemand in einen Markdown-Text tippt, hat keinen eigenen Knoten, deshalb lehnen die Tools sie ab. Jeder Abschnitt ist ein eigener Block, daher erscheint er in der Inhaltsleiste der Seite und lässt sich direkt verlinken.

<!-- block:69216 -->
## Was Knoten bieten

Jeder Knoten hat eine stabile ID, einen übergeordneten Knoten und einen eigenen Versionsverlauf.

<!-- block:69219 -->
### Links überstehen Umbenennungen

Ein Verweis `block:N` nutzt die stabile ID des Knotens. Das Umbenennen, Umschreiben oder Verschieben dieses Knotens lässt den Link unversehrt.

<!-- block:69220 -->
### Rückverweise entstehen automatisch

Weil Links auf Knoten-IDs zielen, kann Wikilayer die Seiten auflisten, die auf einen Knoten verweisen. Die Liste erscheint auf der Seite und in ihrem zusammengesetzten Markdown-Dokument.

<!-- block:69221 -->
### Eine Verschiebung nimmt den Teilbaum mit

`move_node` ändert den übergeordneten Knoten eines Knotens. Seine Nachfahren wandern mit, und ihre Überschriftenebenen folgen der neuen Tiefe. Ein `sort_key` legt die Position des Knotens unter seinen Geschwisterknoten fest, ohne deren Texte zu bearbeiten. `migrate` kann einen Teilbaum in ein anderes Wiki verschieben, wenn keine Links die Grenze des Wikis überschreiten würden.

<!-- block:69222 -->
### Der Verlauf gehört zum einzelnen Knoten

Jeder Knoten bewahrt seine eigenen Versionen und sein `updated_at`. Eine Änderung an einem Block fügt für diesen Block einen Verlaufseintrag hinzu, ohne seine Nachbarn zu verändern.

<!-- block:69223 -->
### Die Gliederung erspart das Lesen des ganzen Wikis

`get_outline` bildet ein Wiki anhand von Titeln, IDs und Tokenanzahlen ab, ohne jeden Text mitzuschicken.

<!-- block:69224 -->
### Links verbinden Zweige

Der Baum gibt jedem Knoten einen einzigen übergeordneten Knoten. Kurzverweise verlinken verwandte Knoten an anderen Stellen des Wikis, und Rückverweise zeigen die umgekehrten Verbindungen, ohne den Inhalt zu duplizieren.

<!-- block:69217 -->
## Lesen und Export

<!-- block:69225 -->
### Eine Seite liest sich wie ein einziges Dokument

Der Browser stellt eine Seite mit ihren Abschnitten der Reihe nach dar. `get_page_markdown` gibt einem Agenten dieselbe Seite zurück, mit einem Kommentar vor jedem Knoten, der dessen ID trägt. Öffentliche Wikis stellen das zusammengesetzte Dokument außerdem als [Markdown-Ansicht](page:69160) bereit.

<!-- block:69226 -->
### Inhalte sind portabel

Ein [Export des Wikis](page:69158) enthält dessen Markdown, Dateien und Struktur, sodass sich die Inhalte auch außerhalb von Wikilayer aufbewahren lassen.

---

## Links here

- [Markdown](page:69167)
- [Markdown-Ansicht](page:69160)
- [Wikilayer-Handbuch](/smee-again/wikilayer-howto/de)

---

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