OSTRELLE · LERNEN · MIT ÜBUNGEN
2. Eine Seite aus strukturierten Blöcken bauen
Du ergänzt Inhalte ohne gespeichertes Browser-HTML und prüfst das Manifest. Mit konkreten Schritten, eigener Übung, Musterlösung und Erfolgskontrolle.
Ostrelle für Entwickler · Lektion 2 von 4 · Quellstand 3. November 2026
Das lernst du
Du ergänzt Inhalte ohne gespeichertes Browser-HTML und prüfst das Manifest.
Ein Block enthält stabile ID, Typ, schemaVersion, Attribute und Kinder. Richtext besteht aus Textläufen und geprüften Markierungen. Das Theme erzeugt daraus HTML. Ein HTMLbytevergleich gegen einen Browser-save()-String ist nicht die Inhaltswahrheit.
Die Produktwebsite erzeugt ihre stabilen Block-IDs deterministisch aus Seitenslug und Schlüssel. Wähle pro Seite eindeutige Schlüssel. Verlinkte interne Pfade müssen im Manifest tatsächlich existieren. Ein Linklauf als einzelnes falsches Objekt kann bereits die Blockvalidierung verhindern.
Schritt für Schritt
- Lege im eigenen Branch eine Seite lernprobe in website/build-content.mjs vor der abschließenden Manifestvalidierung an. Verwende die vorhandenen Helfer page, h und p.
- Schreibe eine eindeutige Beschreibung und zwei Absätze. Verwende eine H2 für den Abschnitt; die Seitentemplate besitzt die H1.
- Füge einen internen Link über link(...) innerhalb des vorgesehenen Richtextarrays ein. Verwende eindeutige Blockschlüssel.
- Führe den Inhaltsbuild aus. Lies die gemeldete Anzahl, Manifestgröße und Fehler. Korrigiere jede ungültige Route.
- Führe --check aus und kontrolliere den Gitdiff. Nur die beabsichtigte Seite und ihre generierte Repräsentation sollen geändert sein.
page('lernprobe','Meine Lernprobe',
'Eine lokale Übungsseite für den kanonischen Ostrelle-Inhaltsbaum und einen gültigen Link zur Dokumentation.',()=>[
h('start/title','Eine klare Quelle'),
p('start/text',['Dies ist eine lokale Übung. ',
link('Zur Dokumentation','/dokumentation/')])
]);Deine Übung
Erzeuge die Seite Lernprobe mit einem Absatz und Link zur Dokumentation. Baue absichtlich zunächst einen Link auf /nicht-vorhanden/ und beobachte die Ablehnung.
Musterlösung und Erklärung
Die negative Gegenprobe scheitert mit einer unaufgelösten internen Route. Nach Ersatz durch /dokumentation/ bestehen Build und Driftprüfung. Eine passende Implementierung steht unten; der Text ist ausschließlich synthetisches Lernmaterial.
Die Seite ist jetzt im Manifest vorhanden. Das beweist noch keine Persistierung oder HTTPausgabe. Erst die nächste Lektion importiert sie in eine echte isolierte Ostrelle-Runtime.
So prüfst du dein Ergebnis
- Die Gegenprobe mit einem ungültigen Link ist tatsächlich fehlgeschlagen.
- Jeder Blockschlüssel ist eindeutig und keine H1 wurde im Inhalt erzeugt.
- Build und schreibfreie Driftprüfung bestehen.