Restructure reactive islands: remove Overview link, Demo → Examples, add event bridge demo

- Remove "Overview" nav link (index.sx IS the summary)
- Rename "Demo" → "Examples" in nav and page title
- Remove "Plan" and "Phase 2" from nav (all items done — status table remains in overview)
- Add "Marshes" to nav (was missing, content already existed)
- Add live event bridge demo island (data-sx-emit → signal via on-event)
- Add event bridge section (#14) to examples page
- Keep "demo" route as alias for backward compat

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-17 18:16:57 +00:00
parent ecbe670a6a
commit 2203f56849
4 changed files with 59 additions and 18 deletions

View File

@@ -253,18 +253,14 @@
:summary "SX as its own compiler. OCaml as substrate (closest to CEK), Koka as alternative (compile-time linearity), ultimately self-hosting. One language, every target.")))
(define reactive-islands-nav-items (list
(dict :label "Overview" :href "/sx/(geography.(reactive))"
:summary "Architecture, four levels (L0-L3), and current implementation status.")
(dict :label "Demo" :href "/sx/(geography.(reactive.demo))"
:summary "Live demonstration of signals, computed, effects, batch, and defisland — all transpiled from spec.")
(dict :label "Examples" :href "/sx/(geography.(reactive.examples))"
:summary "Live interactive islands — counter, temperature, stopwatch, lists, input binding, portals, error boundaries, stores, event bridge.")
(dict :label "Event Bridge" :href "/sx/(geography.(reactive.event-bridge))"
:summary "DOM events for htmx lake → island communication. Server-rendered buttons dispatch custom events that island effects listen for.")
(dict :label "Named Stores" :href "/sx/(geography.(reactive.named-stores))"
:summary "Page-level signal containers via def-store/use-store — persist across island destruction/recreation.")
(dict :label "Plan" :href "/sx/(geography.(reactive.plan))"
:summary "The full design document — rendering boundary, state flow, signal primitives, island lifecycle.")
(dict :label "Phase 2" :href "/sx/(geography.(reactive.phase2))"
:summary "Input binding, keyed lists, reactive class/style, refs, portals, error boundaries, suspense, transitions.")))
(dict :label "Marshes" :href "/sx/(geography.(reactive.marshes))"
:summary "Where reactivity and hypermedia interpenetrate — server writes to signals, reactive transforms, client state modifies hypermedia.")))
(define bootstrappers-nav-items (list
(dict :label "Overview" :href "/sx/(language.(bootstrapper))")