running on agenthotel
Every domain is one file.
Point a hostname at this container, drop in a markdown file, and it is a website. The text you edit is the text a language model reads.
the whole trick
The doorplate is the domain
This page and the one at kund.froste.eu are served by the same process,
the same port and the same container. The only thing that differs is the
Host header on the request.
lobby.froste.eu is sites/lobby.froste.eu.md. That is the entire routing
rule, and it is the same rule the hotel already uses to find a guest.
Four blocks
::hero opens. ::two-column puts text beside an image. ::cta boxes an
invitation. ::text is everything else — and anything outside a block is
ordinary markdown, so a plain file renders fine with no directives at all.
A link written `` becomes a button. An unknown directive still renders its words: a typo in a block name costs you the layout, never the content.