website-htmx-rustelo-code/site/config/rendering.ncl

40 lines
1.4 KiB
Text
Raw Permalink Normal View History

2026-07-10 03:44:13 +01:00
## Rendering profile configuration (ADR-006).
##
## `default_profile` chooses how routes that do not declare their own
## `rendering_profile` are served.
##
## Available profiles:
## "leptos-hydration" Default. Server renders Leptos view!{}, ships a WASM
## client that hydrates and powers reactive components.
## "htmx-ssr" Server renders the full body; no WASM. Interactivity
## comes from htmx attributes + per-feature endpoints
## (theme/lang/filter) under /api/htmx/*. The framework
## skips the wasm32 build target entirely when no route
## opts back into leptos-hydration.
##
## `htmx_extensions` lists htmx extensions (from
## `templates/shared/htmx/htmx.lock.toml`) to load in the htmx-ssr shell. Names
## must match the `extensions[*].name` entries in the lockfile. Order is
## preserved in the emitted `<script>` tags.
##
## Switching profiles:
## 1. Change `default_profile` below (leptos-hydration ↔ htmx-ssr).
## 2. Rebuild: just build-auto — auto-detects whether wasm32 is needed.
##
## Or in one command: just switch-rendering <profile>
{
rendering = {
default_profile = "htmx-ssr",
htmx_extensions = [
"response-targets",
"preload",
"head-support",
"idiomorph",
"loading-states",
"multi-swap",
"sse",
],
},
}