Prefix all SX URLs with /sx/ for WhatsApp-safe sharing
All routes moved under /sx/ prefix: - / redirects to /sx/ - /sx/ serves home page - /sx/<path:expr> is the catch-all for SX expression URLs - Bare /(...) and /~... redirect to /sx/(...) and /sx/~... - All ~600 hrefs, sx-get attrs, defhandler paths, redirect targets, and blueprint routes updated across 44 files Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -55,7 +55,7 @@
|
||||
;; --------------------------------------------------------------------------
|
||||
|
||||
(defhandler ex-click
|
||||
:path "/(geography.(hypermedia.(example.(api.click))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.click))))"
|
||||
:method :get
|
||||
:returns "element"
|
||||
(&key)
|
||||
@@ -73,7 +73,7 @@
|
||||
;; --------------------------------------------------------------------------
|
||||
|
||||
(defhandler ex-form
|
||||
:path "/(geography.(hypermedia.(example.(api.form))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.form))))"
|
||||
:method :post
|
||||
:csrf false
|
||||
:returns "element"
|
||||
@@ -92,7 +92,7 @@
|
||||
;; --------------------------------------------------------------------------
|
||||
|
||||
(defhandler ex-poll
|
||||
:path "/(geography.(hypermedia.(example.(api.poll))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.poll))))"
|
||||
:method :get
|
||||
:returns "element"
|
||||
(&key)
|
||||
@@ -113,7 +113,7 @@
|
||||
;; --------------------------------------------------------------------------
|
||||
|
||||
(defhandler ex-delete
|
||||
:path "/(geography.(hypermedia.(example.(api.(delete.<sx:item_id>)))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.(delete.<sx:item_id>)))))"
|
||||
:method :delete
|
||||
:csrf false
|
||||
:returns "element"
|
||||
@@ -130,7 +130,7 @@
|
||||
;; --------------------------------------------------------------------------
|
||||
|
||||
(defhandler ex-edit-form
|
||||
:path "/(geography.(hypermedia.(example.(api.edit))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.edit))))"
|
||||
:method :get
|
||||
:returns "element"
|
||||
(&key)
|
||||
@@ -143,7 +143,7 @@
|
||||
:text (str "(~inline-edit-form :value \"" value "\")")))))
|
||||
|
||||
(defhandler ex-edit-save
|
||||
:path "/(geography.(hypermedia.(example.(api.edit))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.edit))))"
|
||||
:method :post
|
||||
:csrf false
|
||||
:returns "element"
|
||||
@@ -157,7 +157,7 @@
|
||||
:text (str "(~inline-view :value \"" value "\")")))))
|
||||
|
||||
(defhandler ex-edit-cancel
|
||||
:path "/(geography.(hypermedia.(example.(api.edit-cancel))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.edit-cancel))))"
|
||||
:method :get
|
||||
:returns "element"
|
||||
(&key)
|
||||
@@ -175,7 +175,7 @@
|
||||
;; --------------------------------------------------------------------------
|
||||
|
||||
(defhandler ex-oob
|
||||
:path "/(geography.(hypermedia.(example.(api.oob))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.oob))))"
|
||||
:method :get
|
||||
:returns "element"
|
||||
(&key)
|
||||
@@ -195,7 +195,7 @@
|
||||
;; --------------------------------------------------------------------------
|
||||
|
||||
(defhandler ex-lazy
|
||||
:path "/(geography.(hypermedia.(example.(api.lazy))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.lazy))))"
|
||||
:method :get
|
||||
:returns "element"
|
||||
(&key)
|
||||
@@ -213,7 +213,7 @@
|
||||
;; --------------------------------------------------------------------------
|
||||
|
||||
(defhandler ex-scroll
|
||||
:path "/(geography.(hypermedia.(example.(api.scroll))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.scroll))))"
|
||||
:method :get
|
||||
:returns "element"
|
||||
(&key)
|
||||
@@ -227,7 +227,7 @@
|
||||
(range start (+ start 5)))
|
||||
(if (<= (+ pg 1) 6)
|
||||
(div :id "scroll-sentinel"
|
||||
:sx-get (str "/(geography.(hypermedia.(example.(api.scroll))))?page=" (+ pg 1))
|
||||
:sx-get (str "/sx/(geography.(hypermedia.(example.(api.scroll))))?page=" (+ pg 1))
|
||||
:sx-trigger "intersect once"
|
||||
:sx-target "#scroll-items"
|
||||
:sx-swap "beforeend"
|
||||
@@ -244,7 +244,7 @@
|
||||
;; --------------------------------------------------------------------------
|
||||
|
||||
(defhandler ex-progress-start
|
||||
:path "/(geography.(hypermedia.(example.(api.progress-start))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.progress-start))))"
|
||||
:method :post
|
||||
:csrf false
|
||||
:returns "element"
|
||||
@@ -261,7 +261,7 @@
|
||||
:text (str "(~progress-status :percent 0 :job-id \"" job-id "\")"))))))
|
||||
|
||||
(defhandler ex-progress-status
|
||||
:path "/(geography.(hypermedia.(example.(api.progress-status))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.progress-status))))"
|
||||
:method :get
|
||||
:returns "element"
|
||||
(&key)
|
||||
@@ -282,7 +282,7 @@
|
||||
;; --------------------------------------------------------------------------
|
||||
|
||||
(defhandler ex-search
|
||||
:path "/(geography.(hypermedia.(example.(api.search))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.search))))"
|
||||
:method :get
|
||||
:returns "element"
|
||||
(&key)
|
||||
@@ -304,7 +304,7 @@
|
||||
;; --------------------------------------------------------------------------
|
||||
|
||||
(defhandler ex-validate
|
||||
:path "/(geography.(hypermedia.(example.(api.validate))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.validate))))"
|
||||
:method :get
|
||||
:returns "element"
|
||||
(&key)
|
||||
@@ -331,7 +331,7 @@
|
||||
:text (nth result 1))))))
|
||||
|
||||
(defhandler ex-validate-submit
|
||||
:path "/(geography.(hypermedia.(example.(api.validate-submit))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.validate-submit))))"
|
||||
:method :post
|
||||
:csrf false
|
||||
:returns "element"
|
||||
@@ -347,7 +347,7 @@
|
||||
;; --------------------------------------------------------------------------
|
||||
|
||||
(defhandler ex-values
|
||||
:path "/(geography.(hypermedia.(example.(api.values))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.values))))"
|
||||
:method :get
|
||||
:returns "element"
|
||||
(&key)
|
||||
@@ -367,7 +367,7 @@
|
||||
;; --------------------------------------------------------------------------
|
||||
|
||||
(defhandler ex-reset-submit
|
||||
:path "/(geography.(hypermedia.(example.(api.reset-submit))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.reset-submit))))"
|
||||
:method :post
|
||||
:csrf false
|
||||
:returns "element"
|
||||
@@ -387,7 +387,7 @@
|
||||
;; --------------------------------------------------------------------------
|
||||
|
||||
(defhandler ex-editrow-form
|
||||
:path "/(geography.(hypermedia.(example.(api.(editrow.<sx:row_id>)))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.(editrow.<sx:row_id>)))))"
|
||||
:method :get
|
||||
:returns "element"
|
||||
(&key row-id)
|
||||
@@ -402,7 +402,7 @@
|
||||
:text (str "(~edit-row-form :id \"" (get row "id") "\" ...)"))))))
|
||||
|
||||
(defhandler ex-editrow-save
|
||||
:path "/(geography.(hypermedia.(example.(api.(editrow.<sx:row_id>)))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.(editrow.<sx:row_id>)))))"
|
||||
:method :post
|
||||
:csrf false
|
||||
:returns "element"
|
||||
@@ -420,7 +420,7 @@
|
||||
:text (str "(~edit-row-view :id \"" row-id "\" ...)")))))
|
||||
|
||||
(defhandler ex-editrow-cancel
|
||||
:path "/(geography.(hypermedia.(example.(api.(editrow-cancel.<sx:row_id>)))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.(editrow-cancel.<sx:row_id>)))))"
|
||||
:method :get
|
||||
:returns "element"
|
||||
(&key row-id)
|
||||
@@ -439,7 +439,7 @@
|
||||
;; --------------------------------------------------------------------------
|
||||
|
||||
(defhandler ex-bulk
|
||||
:path "/(geography.(hypermedia.(example.(api.bulk))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.bulk))))"
|
||||
:method :post
|
||||
:csrf false
|
||||
:returns "element"
|
||||
@@ -476,7 +476,7 @@
|
||||
;; --------------------------------------------------------------------------
|
||||
|
||||
(defhandler ex-swap-log
|
||||
:path "/(geography.(hypermedia.(example.(api.swap-log))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.swap-log))))"
|
||||
:method :post
|
||||
:csrf false
|
||||
:returns "element"
|
||||
@@ -500,7 +500,7 @@
|
||||
;; --------------------------------------------------------------------------
|
||||
|
||||
(defhandler ex-dashboard
|
||||
:path "/(geography.(hypermedia.(example.(api.dashboard))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.dashboard))))"
|
||||
:method :get
|
||||
:returns "element"
|
||||
(&key)
|
||||
@@ -530,7 +530,7 @@
|
||||
;; --------------------------------------------------------------------------
|
||||
|
||||
(defhandler ex-tabs
|
||||
:path "/(geography.(hypermedia.(example.(api.(tabs.<sx:tab>)))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.(tabs.<sx:tab>)))))"
|
||||
:method :get
|
||||
:returns "element"
|
||||
(&key tab)
|
||||
@@ -551,7 +551,7 @@
|
||||
;; --------------------------------------------------------------------------
|
||||
|
||||
(defhandler ex-animate
|
||||
:path "/(geography.(hypermedia.(example.(api.animate))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.animate))))"
|
||||
:method :get
|
||||
:returns "element"
|
||||
(&key)
|
||||
@@ -571,7 +571,7 @@
|
||||
;; --------------------------------------------------------------------------
|
||||
|
||||
(defhandler ex-dialog
|
||||
:path "/(geography.(hypermedia.(example.(api.dialog))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.dialog))))"
|
||||
:method :get
|
||||
:returns "element"
|
||||
(&key)
|
||||
@@ -584,7 +584,7 @@
|
||||
:text "(~dialog-modal :title \"Confirm Action\" :message \"...\")")))
|
||||
|
||||
(defhandler ex-dialog-close
|
||||
:path "/(geography.(hypermedia.(example.(api.dialog-close))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.dialog-close))))"
|
||||
:method :get
|
||||
:returns "element"
|
||||
(&key)
|
||||
@@ -598,7 +598,7 @@
|
||||
;; --------------------------------------------------------------------------
|
||||
|
||||
(defhandler ex-keyboard
|
||||
:path "/(geography.(hypermedia.(example.(api.keyboard))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.keyboard))))"
|
||||
:method :get
|
||||
:returns "element"
|
||||
(&key)
|
||||
@@ -617,7 +617,7 @@
|
||||
;; --------------------------------------------------------------------------
|
||||
|
||||
(defhandler ex-pp-edit-all
|
||||
:path "/(geography.(hypermedia.(example.(api.putpatch-edit-all))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.putpatch-edit-all))))"
|
||||
:method :get
|
||||
:returns "element"
|
||||
(&key)
|
||||
@@ -631,7 +631,7 @@
|
||||
:text (str "(~pp-form-full :name \"" (get p "name") "\" ...)")))))
|
||||
|
||||
(defhandler ex-pp-put
|
||||
:path "/(geography.(hypermedia.(example.(api.putpatch))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.putpatch))))"
|
||||
:method :put
|
||||
:csrf false
|
||||
:returns "element"
|
||||
@@ -648,7 +648,7 @@
|
||||
:text (str "(~pp-view :name \"" name "\" ...)")))))
|
||||
|
||||
(defhandler ex-pp-cancel
|
||||
:path "/(geography.(hypermedia.(example.(api.putpatch-cancel))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.putpatch-cancel))))"
|
||||
:method :get
|
||||
:returns "element"
|
||||
(&key)
|
||||
@@ -667,7 +667,7 @@
|
||||
;; --------------------------------------------------------------------------
|
||||
|
||||
(defhandler ex-json-echo
|
||||
:path "/(geography.(hypermedia.(example.(api.json-echo))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.json-echo))))"
|
||||
:method :post
|
||||
:csrf false
|
||||
:returns "element"
|
||||
@@ -688,7 +688,7 @@
|
||||
;; --------------------------------------------------------------------------
|
||||
|
||||
(defhandler ex-echo-vals
|
||||
:path "/(geography.(hypermedia.(example.(api.echo-vals))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.echo-vals))))"
|
||||
:method :get
|
||||
:returns "element"
|
||||
(&key)
|
||||
@@ -705,7 +705,7 @@
|
||||
:text (str "(~echo-result :label \"values\" :items (list ...))")))))))
|
||||
|
||||
(defhandler ex-echo-headers
|
||||
:path "/(geography.(hypermedia.(example.(api.echo-headers))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.echo-headers))))"
|
||||
:method :get
|
||||
:returns "element"
|
||||
(&key)
|
||||
@@ -725,7 +725,7 @@
|
||||
;; --------------------------------------------------------------------------
|
||||
|
||||
(defhandler ex-slow
|
||||
:path "/(geography.(hypermedia.(example.(api.slow))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.slow))))"
|
||||
:method :get
|
||||
:returns "element"
|
||||
(&key)
|
||||
@@ -744,7 +744,7 @@
|
||||
;; --------------------------------------------------------------------------
|
||||
|
||||
(defhandler ex-slow-search
|
||||
:path "/(geography.(hypermedia.(example.(api.slow-search))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.slow-search))))"
|
||||
:method :get
|
||||
:returns "element"
|
||||
(&key)
|
||||
@@ -764,7 +764,7 @@
|
||||
;; --------------------------------------------------------------------------
|
||||
|
||||
(defhandler ex-flaky
|
||||
:path "/(geography.(hypermedia.(example.(api.flaky))))"
|
||||
:path "/sx/(geography.(hypermedia.(example.(api.flaky))))"
|
||||
:method :get
|
||||
:returns "element"
|
||||
(&key)
|
||||
|
||||
Reference in New Issue
Block a user