The page shell as a set of slots the host fills (SPEC §13): :lang,
:title, :head, :header, :nav, :identity, :content, :footer.
It is an ordinary layout — a function of one slot map — usable as the
outermost entry of a route's :wb/layouts or called by the host's own
layout. Absent slots emit nothing.
What the shell reads from :request, when the request carries it: the
negotiated locale for lang (SPEC §14), the CSP nonce for its own script
tag and the CSRF token, sent on every htmx request as X-CSRF-Token
through hx-headers:inherited on <body> (SPEC §15) — htmx 4 inherits
nothing without the modifier. A <script> the host adds through :head
needs its own nonce attribute, read from (:wb/nonce request).
The page shell as a set of slots the host fills (SPEC §13): `:lang`, `:title`, `:head`, `:header`, `:nav`, `:identity`, `:content`, `:footer`. It is an ordinary layout — a function of one slot map — usable as the outermost entry of a route's `:wb/layouts` or called by the host's own layout. Absent slots emit nothing. What the shell reads from `:request`, when the request carries it: the negotiated locale for `lang` (SPEC §14), the CSP nonce for its own script tag and the CSRF token, sent on every htmx request as `X-CSRF-Token` through `hx-headers:inherited` on `<body>` (SPEC §15) — htmx 4 inherits nothing without the modifier. A `<script>` the host adds through `:head` needs its own `nonce` attribute, read from `(:wb/nonce request)`.
cljdoc builds & hosts documentation for Clojure/Script libraries
| Ctrl+k | Jump to recent docs |
| ← | Move to previous article |
| → | Move to next article |
| Ctrl+/ | Jump to the search field |