Hoe het in elkaar zit.

De engine in een tiental bewegingen: een pagina is een bestand, een template leest het, een agent wijzigt het via één deur. De diepte reist mee met elke installatie — je agent leest het via de MCP.

JSON

Een pagina is een bestand

Een entiteit met een slug is een pagina. De URL, de canonical, de taallinks en de regel in de sitemap volgen allemaal uit dat ene veld. De template volgt uit het type, dus de pagina rendert zodra hij bestaat.

PHP

data()

Leest een entiteit op type en identifier, in de actieve taal, met @id en url afgeleid. Verwijzingen naar andere entiteiten blijven stubs tot je ze oplost — één bestand, één keer lezen.

PHP

rows()

Een overzicht zonder elk bestand te openen: een type geeft elke entiteit ervan, nieuwste eerst; een ItemList geeft de items in de volgorde die jij bijhoudt. Elke rij draagt de Thing-vloer — name, description, image, url — plus id, type en datum.

PHP

e(), plain(), markup(), prose()

Een waarde vertrekt in een van vier vormen, en de property beslist: e() geeft de woorden, ge-escaped — altijd in een attribuut; plain() de woorden als platte tekst; markup() een zin met zijn markeringen; prose() een tekst met zijn blokken. De vloer — een identifier, een url — vertrekt zoals geschreven, en markup() en prose() tekenen alleen het alfabet: er kan niets anders uitkomen.

PHP

section(), snippet(), svg(), v()

Vier manieren om iets in te voegen, overal hetzelfde opgelost en in een preview bewust van concepten. Een ontbrekend doel rendert een HTML-commentaar, nooit een fatale fout. v() is de versiestring van een bestand, dus assets blijven een jaar in de cache en verversen zodra ze veranderen.

PHP

seo_head() en ld_page()

De head in drie aanroepen: titel, omschrijving, canonical, Open Graph en hreflang; de PWA-laag; en de gestructureerde data, gebouwd uit de entiteit die je rendert — zodat de machineweergave alleen kan claimen wat de pagina laat zien.

Text

De template-ladder

Welke template een pagina rendert is een ladder die bij elk verzoek wordt afgelopen: een template die op de entiteit genoemd wordt, dan een genoemd naar het type, dan de vloer waar elke pagina op kan landen. Geen routetabel om bij te houden — een routeregel is de uitzondering.

PHP

locale_string()

Interfacewoorden staan in theme/strings als taalmaps, één bestand voor elke taal. Een ontbrekend woord wordt gelogd en door de audit gemeld — nooit een stille leegte.

PHP

form_gate(), form_store(), form_notify()

Een formulier post JSON naar een eigen route. De gate controleert de herkomst, remt stortvloeden af en laat de honeypot vallen; de inzending wordt een entiteit in een inbox die nooit geserveerd wordt en nooit in git staat; de melding gaat per mail.

JSON

De MCP

Een agent werkt via één deur. Elk werkwoord wordt getoetst aan zijn sleutel, elk antwoord is één envelop — ok, een code uit een gesloten set, wat je nu moet doen — dus een agent weet altijd waar hij staat.

MCP

De docs reizen mee met de engine

Elke installatie heeft zijn eigen documentatie, voor de versie die hij draait. Je agent leest hem via de MCP — hoe loam werkt, de helpers, de regels — met de eigen gids van de site ernaast. Geen website om te bereiken, niets verouderd.

Shell

Het loam-commando

Op de host, één commando over de installatie: de content keuren, de installatie keuren, een ondertekende update nemen — hele delen tegelijk — en de site vastleggen in zijn eigen geschiedenis.

Coming

Bedrock, één laag onder concept

Dezelfde engine op je eigen computer, op een kopie van je site. Lokaal heeft geen status en geen etalage: bouw een theme terwijl je het ziet renderen, bewerk honderd entiteiten zonder heen en weer, en stuur het dan terug via de MCP — waar het beoordeeld wordt zoals elke andere wijziging.