The HTML shell page served on the first GET of a mounted flow.
The shell is effectively empty: a <div id="root"> placeholder
plus a data-init that opens the long-lived SSE stream. Once the
browser connects, every UI patch arrives through that stream — so
this namespace knows nothing about components or rendering.
The HTML shell page served on the first GET of a mounted flow. The shell is effectively empty: a `<div id="root">` placeholder plus a `data-init` that opens the long-lived SSE stream. Once the browser connects, every UI patch arrives through that stream — so this namespace knows nothing about components or rendering.
(fragment cid
{:keys [dev? base-path root-selector]
:or {base-path "" root-selector "#root"}})Hiccup fragment a host page can slot into its own layout. It opens the SSE stream and contains the DOM target for the first stube patch.
Hiccup fragment a host page can slot into its own layout. It opens the SSE stream and contains the DOM target for the first stube patch.
(head-tags {:keys [dev? ui-css? base-path root-selector]
:or {ui-css? true base-path "" root-selector "#root"}})Hiccup nodes a host page should include in <head> for a stube shell
fragment, in this order:
ui.css.<link> per registered component that ships a stylesheet at
resources/stube_styles/<ns>/<name>.css (discovered via
io/resource).<style> block holding inline :styles from every registered
component, with each chunk's & prefix scoped to the matching
[data-stube-component="ns/name"] selector.preserve.js, behaviors.js).<script type="module"> per distinct module id declared by a
component's :modules vector, served from
resources/stube_modules/<id>.js.:dev? is true.Standalone html uses this directly; embedders normally call the
public dev.zeko.stube.embed/head-tags wrapper for their kernel.
Hiccup nodes a host page should include in `<head>` for a stube shell fragment, in this order: 1. Optional stock `ui.css`. 2. One `<link>` per registered component that ships a stylesheet at `resources/stube_styles/<ns>/<name>.css` (discovered via `io/resource`). 3. One `<style>` block holding inline `:styles` from every registered component, with each chunk's `&` prefix scoped to the matching `[data-stube-component="ns/name"]` selector. 4. Datastar and the framework bridges (`preserve.js`, `behaviors.js`). 5. One `<script type="module">` per distinct module id declared by a component's `:modules` vector, served from `resources/stube_modules/<id>.js`. 6. Optional halos tooling when `:dev?` is true. Standalone [[html]] uses this directly; embedders normally call the public `dev.zeko.stube.embed/head-tags` wrapper for their kernel.
(html cid opts-or-dev?)Render the shell document for cid. When dev? is true (server
started with :halos? true), inject the halos overlay script and the
data-stube-cid hook so the floating pill can activate the overlay.
Render the shell document for `cid`. When `dev?` is true (server started with `:halos? true`), inject the halos overlay script and the `data-stube-cid` hook so the floating pill can activate the overlay.
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 |