Rename all 1,169 components to path-based names with namespace support
Component names now reflect filesystem location using / as path separator and : as namespace separator for shared components: ~sx-header → ~layouts/header ~layout-app-body → ~shared:layout/app-body ~blog-admin-dashboard → ~admin/dashboard 209 files, 4,941 replacements across all services. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -5,7 +5,7 @@ Handles URLs like /(language.(doc.introduction)) by:
|
||||
2. Parsing the path as an SX expression
|
||||
3. Auto-quoting unknown symbols to strings (slugs)
|
||||
4. Evaluating the expression against page functions
|
||||
5. Wrapping the result in (~sx-doc :path "..." content)
|
||||
5. Wrapping the result in (~layouts/doc :path "..." content)
|
||||
6. Returning full page or OOB response
|
||||
|
||||
Special cases:
|
||||
@@ -217,7 +217,7 @@ async def eval_sx_url(raw_path: str) -> Any:
|
||||
# Nav hrefs use /sx/ prefix — reconstruct the full path for nav matching
|
||||
path_str = f"/sx{raw_path}" if raw_path != "/" else "/sx/"
|
||||
|
||||
# Check if expression head is a component (~name) — if so, skip
|
||||
# Check if expression head is a component (~plans/content-addressed-components/name) — if so, skip
|
||||
# async_eval and pass directly to _eval_slot. Components contain HTML
|
||||
# tags that only the aser path can handle, not eval_expr.
|
||||
head = quoted_expr[0] if isinstance(quoted_expr, list) and quoted_expr else None
|
||||
@@ -227,7 +227,7 @@ async def eval_sx_url(raw_path: str) -> Any:
|
||||
)
|
||||
|
||||
if is_component_call:
|
||||
# Direct component URL: /(~essay-sx-sucks) or /(~comp :key val)
|
||||
# Direct component URL: /(~essays/sx-sucks/essay-sx-sucks) or /(~comp :key val)
|
||||
# Pass straight to _eval_slot — aser handles component expansion.
|
||||
page_ast = quoted_expr
|
||||
else:
|
||||
@@ -237,7 +237,7 @@ async def eval_sx_url(raw_path: str) -> Any:
|
||||
# [Symbol("~docs-intro-content")] or quasiquoted trees with data).
|
||||
# This phase resolves routing + fetches data, but does NOT expand
|
||||
# components or handle HTML tags (eval_expr can't do that).
|
||||
# Phase 2: Wrap the returned AST in (~sx-doc :path "..." <ast>) and
|
||||
# Phase 2: Wrap the returned AST in (~layouts/doc :path "..." <ast>) and
|
||||
# pass to _eval_slot (aser), which expands components and handles
|
||||
# HTML tags correctly.
|
||||
import os
|
||||
@@ -257,7 +257,7 @@ async def eval_sx_url(raw_path: str) -> Any:
|
||||
page_ast = [] # empty content for sections with no index
|
||||
|
||||
wrapped_ast = [
|
||||
Symbol("~sx-doc"), Keyword("path"), path_str,
|
||||
Symbol("~layouts/doc"), Keyword("path"), path_str,
|
||||
page_ast,
|
||||
]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user