Some checks failed
Build and Deploy / build-and-deploy (push) Failing after 16s
Defpages are now declared with absolute paths in .sx files and auto-mounted directly on the Quart app, removing ~850 lines of blueprint mount_pages calls, before_request hooks, and g.* wrapper boilerplate. A new page = one defpage declaration, nothing else. Infrastructure: - async_eval awaits coroutine results from callable dispatch - auto_mount_pages() mounts all registered defpages on the app - g._defpage_ctx pattern passes helper data to layout context Migrated: sx, account, orders, federation, cart, market, events, blog Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
99 lines
2.1 KiB
Plaintext
99 lines
2.1 KiB
Plaintext
; Blog app defpage declarations
|
|
; Pages kept as Python: home, index, post-detail (cache_page / complex branching)
|
|
|
|
; --- New post/page editors ---
|
|
|
|
(defpage new-post
|
|
:path "/new/"
|
|
:auth :admin
|
|
:layout :blog
|
|
:content (editor-content))
|
|
|
|
(defpage new-page
|
|
:path "/new-page/"
|
|
:auth :admin
|
|
:layout :blog
|
|
:content (editor-page-content))
|
|
|
|
; --- Post admin pages (absolute paths under /<slug>/admin/) ---
|
|
|
|
(defpage post-admin
|
|
:path "/<slug>/admin/"
|
|
:auth :admin
|
|
:layout (:post-admin :selected "admin")
|
|
:content (post-admin-content slug))
|
|
|
|
(defpage post-data
|
|
:path "/<slug>/admin/data/"
|
|
:auth :admin
|
|
:layout (:post-admin :selected "data")
|
|
:content (post-data-content slug))
|
|
|
|
(defpage post-preview
|
|
:path "/<slug>/admin/preview/"
|
|
:auth :admin
|
|
:layout (:post-admin :selected "preview")
|
|
:content (post-preview-content slug))
|
|
|
|
(defpage post-entries
|
|
:path "/<slug>/admin/entries/"
|
|
:auth :admin
|
|
:layout (:post-admin :selected "entries")
|
|
:content (post-entries-content slug))
|
|
|
|
(defpage post-settings
|
|
:path "/<slug>/admin/settings/"
|
|
:auth :post_author
|
|
:layout (:post-admin :selected "settings")
|
|
:content (post-settings-content slug))
|
|
|
|
(defpage post-edit
|
|
:path "/<slug>/admin/edit/"
|
|
:auth :post_author
|
|
:layout (:post-admin :selected "edit")
|
|
:content (post-edit-content slug))
|
|
|
|
; --- Settings pages (absolute paths) ---
|
|
|
|
(defpage settings-home
|
|
:path "/settings/"
|
|
:auth :admin
|
|
:layout :blog-settings
|
|
:content (settings-content))
|
|
|
|
(defpage cache-page
|
|
:path "/settings/cache/"
|
|
:auth :admin
|
|
:layout :blog-cache
|
|
:content (cache-content))
|
|
|
|
; --- Snippets ---
|
|
|
|
(defpage snippets-page
|
|
:path "/settings/snippets/"
|
|
:auth :login
|
|
:layout :blog-snippets
|
|
:content (snippets-content))
|
|
|
|
; --- Menu Items ---
|
|
|
|
(defpage menu-items-page
|
|
:path "/settings/menu_items/"
|
|
:auth :admin
|
|
:layout :blog-menu-items
|
|
:content (menu-items-content))
|
|
|
|
; --- Tag Groups ---
|
|
|
|
(defpage tag-groups-page
|
|
:path "/settings/tag-groups/"
|
|
:auth :admin
|
|
:layout :blog-tag-groups
|
|
:content (tag-groups-content))
|
|
|
|
(defpage tag-group-edit
|
|
:path "/settings/tag-groups/<int:id>/"
|
|
:auth :admin
|
|
:layout :blog-tag-group-edit
|
|
:content (tag-group-edit-content id))
|