--- id: SLICE-0013 type: slice status: ready parent: NS-0004 title: Make html_examples root an index landing page refs: - AGENTS.md - REQUIREMENTS.md - examples/html_examples/README.md - examples/html_examples/src/main.rs - examples/html_examples/templates/app_shell.heml - examples/html_examples/templates/gallery.heml - hemx-xtask/src/main.rs --- ## Objective Change `http://127.0.0.1:3029/` from the long live gallery into a clear index page that links to implemented htmx-style examples by slug, so the starting page is navigation and orientation rather than every interaction mounted at once. ## Authority - `AGENTS.md` requires exact htmx URL slugs to stay visible while translating behavior to boring `.heml`, generated resources, and server-owned Rust state. req: htmx_equivalents/001 req: htmx_equivalents/005 req: examples/007 - `examples/html_examples/README.md` is the pattern matrix and run-command authority for implemented/deferred/refused example status. - `examples/html_examples/src/main.rs` currently serves `/` as the mounted gallery page; `templates/app_shell.heml` and `templates/gallery.heml` own the visible root shape. ## Close when - `/` shows a heading, short explanation, and navigation links for implemented examples from the README pattern matrix. - Link text keeps exact htmx example slugs visible, including `click-to-edit`, `click-to-load`, `infinite-scroll`, `progress-bar`, and the other currently implemented rows. - `/` does not eagerly mount live example forms/tables for the focused example pages. - Native link behavior remains boring: links are real anchors to repo-owned same-origin pages; external htmx reference URLs, if shown, remain ordinary links. ## Allowed files - `examples/html_examples/src/main.rs` - `examples/html_examples/templates/app_shell.heml` - `examples/html_examples/templates/gallery.heml` or a replacement index `.heml` template under `examples/html_examples/templates/` - `examples/html_examples/README.md` only for run/navigation documentation if needed - `hemx-xtask/src/main.rs` only to keep smoke coverage aligned with the index - `REQUIREMENTS.md` only if the change creates or changes a durable product obligation ## Verification - `cargo test -p hemx-html-examples` - `cargo test -p hemx-xtask` - `cargo run -p hemx-xtask -- html-examples-smoke` - `redgate health --strict && redgate lint` if `REQUIREMENTS.md` changes - Manual check if needed: run `cargo run -p hemx-html-examples`, open `http://127.0.0.1:3029/`, and confirm the root page is an index with real links rather than the long live gallery. ## Non-goals - Do not implement or restructure every example page in this slice except the minimum route/link needed to prove index navigation. - Do not add styling framework, docs generator, client-side router, or JavaScript navigation layer. - Do not promote deferred/integration-owned/refused README rows into live links. ## Evidence Ready; no implementation evidence yet.