content: nested block trees (section.sx) + 25 tests (410/410)
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 26s
Some checks failed
Test, Build, and Deploy / test-build-deploy (push) Failing after 26s
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -19,7 +19,7 @@ injected adapter, not core.
|
||||
|
||||
## Status (rolling)
|
||||
|
||||
`bash lib/content/conformance.sh` → **385/385** (Phases 1–4 COMPLETE + 9 extensions: HTML/SX escaping, Markdown render+import, CRDT replication, validation, snapshot cache, doc metadata, plain-text render)
|
||||
`bash lib/content/conformance.sh` → **410/410** (Phases 1–4 COMPLETE + 10 extensions: HTML/SX escaping, Markdown render+import, CRDT replication, validation, snapshot cache, doc metadata, plain-text render, nested block trees)
|
||||
|
||||
## Ground rules
|
||||
|
||||
@@ -85,9 +85,18 @@ lib/content/api.sx ── (content/edit) (content/render) (content/history) ─
|
||||
- [x] snapshot cache over replay (`snapshot.sx`: cache-not-primary, transparent)
|
||||
- [x] document metadata (`meta.sx`: title/slug/tags + Ghost title plumbing)
|
||||
- [x] plain-text render + excerpt (`text.sx`: asText, content/excerpt)
|
||||
- [x] nested block trees (`section.sx`: CtSection container, recursive render, deep-find)
|
||||
|
||||
## Progress log
|
||||
|
||||
- 2026-06-07 — Extension: nested block trees (`section.sx`). `CtSection` is a
|
||||
block whose `children` ivar is a list of blocks (incl. nested sections →
|
||||
arbitrary depth), turning the flat document into the ordered TREE from the
|
||||
architecture sketch. Self-contained: it answers asHTML/asSx/asText/asMarkdown:
|
||||
by folding children's renderings (pure polymorphic recursion — no changes to
|
||||
block.sx/render.sx). `mk-section`, `section-children`, `section-append` (cow),
|
||||
and tree traversal `doc-deep-find` / `doc-tree-ids` / `doc-tree-count` that
|
||||
descend into sections. 25 tests; suite 410/410.
|
||||
- 2026-06-07 — Extension: plain-text render + excerpts (`text.sx`). Fourth
|
||||
boundary format via polymorphic `asText` (heading/text/code/quote→text,
|
||||
image→alt, embed/divider→"", list→", "-joined); the document joins non-empty
|
||||
|
||||
Reference in New Issue
Block a user