Make SxExpr a str subclass, sx_call/render functions return SxExpr
SxExpr is now a str subclass so it works everywhere a plain string does (join, isinstance, f-strings) while serialize() still emits it unquoted. sx_call() and all internal render functions (_render_to_sx, async_eval_to_sx, etc.) return SxExpr, eliminating the "forgot to wrap" bug class that caused the sx_content leak and list serialization bugs. - Phase 0: SxExpr(str) with .source property, __add__/__radd__ - Phase 1: sx_call returns SxExpr (drop-in, all 200+ sites unchanged) - Phase 2: async_eval_to_sx, async_eval_slot_to_sx, _render_to_sx, mobile_menu_sx return SxExpr; remove isinstance(str) workaround - Phase 3: Remove ~150 redundant SxExpr() wrappings across 45 files - Phase 4: serialize() docstring, handler return docs, ;; returns: sx Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
;; Events account-nav-item fragment handler
|
||||
;; returns: sx
|
||||
;;
|
||||
;; Renders tickets + bookings links for the account dashboard nav.
|
||||
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
;; Account-page fragment handler
|
||||
;; returns: sx
|
||||
;;
|
||||
;; Renders tickets or bookings panel for the account dashboard.
|
||||
;; slug=tickets → ticket list; slug=bookings → booking list.
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
;; Container-cards fragment handler
|
||||
;; returns: sx
|
||||
;;
|
||||
;; Returns HTML with <!-- card-widget:ID --> comment markers so the
|
||||
;; blog consumer can split per-post fragments. Each post section
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
;; Events container-nav fragment handler
|
||||
;; returns: sx
|
||||
;;
|
||||
;; Renders calendar entry nav items + calendar link nav items
|
||||
;; for the scrollable navigation panel on blog post pages.
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
;; Events link-card fragment handler
|
||||
;; returns: sx
|
||||
;;
|
||||
;; Renders event page preview card(s) by slug.
|
||||
;; Supports single mode (?slug=x) and batch mode (?keys=x,y,z).
|
||||
|
||||
Reference in New Issue
Block a user