;; SX docs app — declarative page definitions ;; These replace the GET route handlers in routes.py ;; --------------------------------------------------------------------------- ;; Home page ;; --------------------------------------------------------------------------- (defpage home :path "/" :auth :public :layout :sx :content (home-content)) ;; --------------------------------------------------------------------------- ;; Docs section ;; --------------------------------------------------------------------------- (defpage docs-index :path "/docs/" :auth :public :layout (:sx-section :section "Docs" :sub-label "Docs" :sub-href "/docs/introduction" :sub-nav (docs-nav "Introduction") :selected "Introduction") :content (docs-content "introduction")) (defpage docs-page :path "/docs/" :auth :public :layout (:sx-section :section "Docs" :sub-label "Docs" :sub-href "/docs/introduction" :sub-nav (docs-nav (find-current DOCS_NAV slug)) :selected (or (find-current DOCS_NAV slug) "")) :content (docs-content slug)) ;; --------------------------------------------------------------------------- ;; Reference section ;; --------------------------------------------------------------------------- (defpage reference-index :path "/reference/" :auth :public :layout (:sx-section :section "Reference" :sub-label "Reference" :sub-href "/reference/" :sub-nav (reference-nav "Attributes") :selected "Attributes") :content (reference-content "")) (defpage reference-page :path "/reference/" :auth :public :layout (:sx-section :section "Reference" :sub-label "Reference" :sub-href "/reference/" :sub-nav (reference-nav (find-current REFERENCE_NAV slug)) :selected (or (find-current REFERENCE_NAV slug) "")) :content (reference-content slug)) ;; --------------------------------------------------------------------------- ;; Protocols section ;; --------------------------------------------------------------------------- (defpage protocols-index :path "/protocols/" :auth :public :layout (:sx-section :section "Protocols" :sub-label "Protocols" :sub-href "/protocols/wire-format" :sub-nav (protocols-nav "Wire Format") :selected "Wire Format") :content (protocol-content "wire-format")) (defpage protocol-page :path "/protocols/" :auth :public :layout (:sx-section :section "Protocols" :sub-label "Protocols" :sub-href "/protocols/wire-format" :sub-nav (protocols-nav (find-current PROTOCOLS_NAV slug)) :selected (or (find-current PROTOCOLS_NAV slug) "")) :content (protocol-content slug)) ;; --------------------------------------------------------------------------- ;; Examples section ;; --------------------------------------------------------------------------- (defpage examples-index :path "/examples/" :auth :public :layout (:sx-section :section "Examples" :sub-label "Examples" :sub-href "/examples/click-to-load" :sub-nav (examples-nav "Click to Load") :selected "Click to Load") :content (examples-content "click-to-load")) (defpage examples-page :path "/examples/" :auth :public :layout (:sx-section :section "Examples" :sub-label "Examples" :sub-href "/examples/click-to-load" :sub-nav (examples-nav (find-current EXAMPLES_NAV slug)) :selected (or (find-current EXAMPLES_NAV slug) "")) :content (examples-content slug)) ;; --------------------------------------------------------------------------- ;; Essays section ;; --------------------------------------------------------------------------- (defpage essays-index :path "/essays/" :auth :public :layout (:sx-section :section "Essays" :sub-label "Essays" :sub-href "/essays/sx-sucks" :sub-nav (essays-nav "sx sucks") :selected "sx sucks") :content (essay-content "sx-sucks")) (defpage essay-page :path "/essays/" :auth :public :layout (:sx-section :section "Essays" :sub-label "Essays" :sub-href "/essays/sx-sucks" :sub-nav (essays-nav (find-current ESSAYS_NAV slug)) :selected (or (find-current ESSAYS_NAV slug) "")) :content (essay-content slug))