website-htmx-rustelo/.rustelo.ontoref/app.ncl
Jesús Pérez 3ccd15a14b init repo
2026-07-10 03:33:46 +01:00

47 lines
1.6 KiB
XML

# .rustelo.ontoref/app.ncl — Rustelo implementation declaration.
#
# Declares this project's app surface against the rustelo domain contracts.
# The schema is authored in the rustelo project and resolved by ontoref via the
# domain's schema_cmd (`ontoref project root rustelo`). The absolute import below
# is that resolved root; the runtime substitutes %{schema_root} when browsing.
let r = import "/Users/Akasha/Development/rustelo/domains/rustelo/ontology/schema.ncl" in
r.make_app {
app = "website-htmx-rustelo",
default_profile = 'Htmx,
description = "Bilingual EN/ES website served through Rustelo's HTMX rendering profile with Minijinja templates.",
layers = [
r.make_layer {
id = "pages-htmx",
paths = ["crates/pages_htmx/"],
profile = 'Htmx,
description = "HTMX/Minijinja page and fragment renderers — the default rendering surface.",
},
r.make_layer {
id = "server",
paths = ["crates/server/"],
profile = 'Htmx,
description = "Axum server: routing, SSR, htmx fragment endpoints, content APIs.",
},
r.make_layer {
id = "client",
paths = ["crates/client/"],
profile = 'Hydrate,
description = "Leptos WASM client for routes that opt into hydration (dual-mode capability).",
},
],
routes = [
r.make_route { path = "/", handler = "home", profile = 'Htmx, languages = ["en", "es"] },
],
wasm_targets = [
r.make_wasm {
name = "website",
output = "target/site/pkg",
features = ["hydrate"],
hydrate = true,
},
],
}