Merge worktree-typed: separate defpage for spec explorer

This commit is contained in:
2026-03-12 00:26:07 +00:00

View File

@@ -349,20 +349,7 @@
"extensions" (~spec-overview-content
:spec-title "Extensions"
:spec-files (make-spec-files extension-spec-items))
:else (cond
(starts-with? slug "explore/")
(let ((spec-slug (slice slug 8 (string-length slug)))
(spec (find-spec spec-slug)))
(if spec
(let ((data (spec-explorer-data
(get spec "filename")
(get spec "title")
(get spec "desc"))))
(if data
(~spec-explorer-content :data data)
(~spec-not-found :slug spec-slug)))
(~spec-not-found :slug spec-slug)))
:else (let ((spec (find-spec slug)))
:else (let ((spec (find-spec slug)))
(if spec
(~spec-detail-content
:spec-title (get spec "title")
@@ -372,6 +359,26 @@
:spec-prose (get spec "prose"))
(~spec-not-found :slug slug))))))))
;; ---------------------------------------------------------------------------
;; Spec Explorer — structured interactive view of spec files
;; ---------------------------------------------------------------------------
(defpage specs-explore-page
:path "/language/specs/explore/<slug>"
:auth :public
:layout :sx-docs
:content (~sx-doc :path (str "/language/specs/explore/" slug)
(let ((spec (find-spec slug)))
(if spec
(let ((data (spec-explorer-data
(get spec "filename")
(get spec "title")
(get spec "desc"))))
(if data
(~spec-explorer-content :data data)
(~spec-not-found :slug slug)))
(~spec-not-found :slug slug)))))
;; ---------------------------------------------------------------------------
;; Bootstrappers section
;; ---------------------------------------------------------------------------