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:
2026-03-12 22:00:12 +00:00
parent de80d921e9
commit b0920a1121
209 changed files with 4620 additions and 4620 deletions

View File

@@ -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,
]