Migrate all apps to defpage declarative page routes
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 3m41s
All checks were successful
Build and Deploy / build-and-deploy (push) Successful in 3m41s
Replace Python GET page handlers with declarative defpage definitions in .sx files across all 8 apps (sx docs, orders, account, market, cart, federation, events, blog). Each app now has sxc/pages/ with setup functions, layout registrations, page helpers, and .sx defpage declarations. Core infrastructure: add g I/O primitive, PageDef support for auth/layout/ data/content/filter/aside/menu slots, post_author auth level, and custom layout registration. Remove ~1400 lines of render_*_page/render_*_oob boilerplate. Update all endpoint references in routes, sx_components, and templates to defpage_* naming. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -40,6 +40,7 @@ IO_PRIMITIVES: frozenset[str] = frozenset({
|
||||
"request-path",
|
||||
"nav-tree",
|
||||
"get-children",
|
||||
"g",
|
||||
})
|
||||
|
||||
|
||||
@@ -300,6 +301,19 @@ async def _io_get_children(
|
||||
# Handler registry
|
||||
# ---------------------------------------------------------------------------
|
||||
|
||||
async def _io_g(
|
||||
args: list[Any], kwargs: dict[str, Any], ctx: RequestContext
|
||||
) -> Any:
|
||||
"""``(g "key")`` → getattr(g, key, None).
|
||||
|
||||
Reads a value from the Quart request-local ``g`` object.
|
||||
Kebab-case keys are converted to snake_case automatically.
|
||||
"""
|
||||
from quart import g
|
||||
key = str(args[0]).replace("-", "_") if args else ""
|
||||
return getattr(g, key, None)
|
||||
|
||||
|
||||
_IO_HANDLERS: dict[str, Any] = {
|
||||
"frag": _io_frag,
|
||||
"query": _io_query,
|
||||
@@ -311,4 +325,5 @@ _IO_HANDLERS: dict[str, Any] = {
|
||||
"request-path": _io_request_path,
|
||||
"nav-tree": _io_nav_tree,
|
||||
"get-children": _io_get_children,
|
||||
"g": _io_g,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user