SPA navigation, page component refactors, WASM rebuild
Refactor page components (docs, examples, specs, reference, layouts) and adapters (adapter-sx, boot-helpers, orchestration) across sx/ and web/ directories. Add Playwright SPA navigation tests. Rebuild WASM kernel with updated bytecode. Add OCaml primitives for request handling. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -1,15 +1,28 @@
|
||||
(defcomp ~essays/index/essays-index-content ()
|
||||
(~docs/page :title "Essays"
|
||||
(div :class "space-y-4"
|
||||
(p :class "text-lg text-stone-600 mb-4"
|
||||
(defcomp
|
||||
~essays/index/essays-index-content
|
||||
()
|
||||
(~docs/page
|
||||
:title "Essays"
|
||||
(div
|
||||
:class "space-y-4"
|
||||
(p
|
||||
:class "text-lg text-stone-600 mb-4"
|
||||
"Opinions, rationales, and explorations around SX and the ideas behind it.")
|
||||
(div :class "space-y-3"
|
||||
(map (fn (item)
|
||||
(a :href (get item "href")
|
||||
:sx-get (get item "href") :sx-target "#main-panel" :sx-select "#main-panel"
|
||||
:sx-swap "outerHTML" :sx-push-url "true"
|
||||
:class "block rounded border border-stone-200 p-4 hover:border-violet-300 hover:bg-violet-50 transition-colors"
|
||||
(div :class "font-semibold text-stone-800" (get item "label"))
|
||||
(when (get item "summary")
|
||||
(p :class "text-sm text-stone-500 mt-1" (get item "summary")))))
|
||||
(div
|
||||
:class "space-y-3"
|
||||
(map
|
||||
(fn
|
||||
(item)
|
||||
(a
|
||||
:href (get item "href")
|
||||
:sx-get (get item "href")
|
||||
:sx-target "#sx-content"
|
||||
:sx-select "#sx-content"
|
||||
:sx-swap "outerHTML"
|
||||
:sx-push-url "true"
|
||||
:class "block rounded border border-stone-200 p-4 hover:border-violet-300 hover:bg-violet-50 transition-colors"
|
||||
(div :class "font-semibold text-stone-800" (get item "label"))
|
||||
(when
|
||||
(get item "summary")
|
||||
(p :class "text-sm text-stone-500 mt-1" (get item "summary")))))
|
||||
essays-nav-items)))))
|
||||
|
||||
@@ -1,21 +1,28 @@
|
||||
;; Essay content — static content extracted from essays.py
|
||||
|
||||
;; ---------------------------------------------------------------------------
|
||||
;; Philosophy section content
|
||||
;; ---------------------------------------------------------------------------
|
||||
|
||||
(defcomp ~essays/philosophy-index/content ()
|
||||
(~docs/page :title "Philosophy"
|
||||
(div :class "space-y-4"
|
||||
(p :class "text-lg text-stone-600 mb-4"
|
||||
(defcomp
|
||||
~essays/philosophy-index/content
|
||||
()
|
||||
(~docs/page
|
||||
:title "Philosophy"
|
||||
(div
|
||||
:class "space-y-4"
|
||||
(p
|
||||
:class "text-lg text-stone-600 mb-4"
|
||||
"The deeper ideas behind SX — manifestos, self-reference, and the philosophical traditions that shaped the language.")
|
||||
(div :class "space-y-3"
|
||||
(map (fn (item)
|
||||
(a :href (get item "href")
|
||||
:sx-get (get item "href") :sx-target "#main-panel" :sx-select "#main-panel"
|
||||
:sx-swap "outerHTML" :sx-push-url "true"
|
||||
:class "block rounded border border-stone-200 p-4 hover:border-violet-300 hover:bg-violet-50 transition-colors"
|
||||
(div :class "font-semibold text-stone-800" (get item "label"))
|
||||
(when (get item "summary")
|
||||
(p :class "text-sm text-stone-500 mt-1" (get item "summary")))))
|
||||
(div
|
||||
:class "space-y-3"
|
||||
(map
|
||||
(fn
|
||||
(item)
|
||||
(a
|
||||
:href (get item "href")
|
||||
:sx-get (get item "href")
|
||||
:sx-target "#sx-content"
|
||||
:sx-select "#sx-content"
|
||||
:sx-swap "outerHTML"
|
||||
:sx-push-url "true"
|
||||
:class "block rounded border border-stone-200 p-4 hover:border-violet-300 hover:bg-violet-50 transition-colors"
|
||||
(div :class "font-semibold text-stone-800" (get item "label"))
|
||||
(when
|
||||
(get item "summary")
|
||||
(p :class "text-sm text-stone-500 mt-1" (get item "summary")))))
|
||||
philosophy-nav-items)))))
|
||||
|
||||
Reference in New Issue
Block a user