content: portable data serialization (data.sx) + 21 tests (523/523)
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` → **502/502** (Phases 1–4 COMPLETE + extensions: HTML/SX escaping, Markdown render + import/export incl. tables & frontmatter (full round-trip), CRDT replication, tree-aware validation, snapshot cache, doc metadata, plain-text render, nested block trees, doc stats, table block, HTML page wrapper + SEO page, doc composition)
|
||||
`bash lib/content/conformance.sh` → **523/523** (Phases 1–4 COMPLETE + extensions: HTML/SX escaping, Markdown render + import/export incl. tables & frontmatter (full round-trip), CRDT replication, tree-aware validation, snapshot cache, doc metadata, plain-text render, nested block trees, doc stats, table block, HTML page wrapper + SEO page, doc composition, portable data serialization)
|
||||
|
||||
## Ground rules
|
||||
|
||||
@@ -92,9 +92,17 @@ lib/content/api.sx ── (content/edit) (content/render) (content/history) ─
|
||||
- [x] HTML page wrapper (`page.sx`: content/page, escaped title from metadata)
|
||||
- [x] SEO page (`page-full.sx`: content/page-full, lang + meta description from excerpt)
|
||||
- [x] document composition (`compose.sx`: concat/prepend/concat-all/wrap-section)
|
||||
- [x] portable data serialization (`data.sx`: content/to-data + from-data, round-trips tree)
|
||||
|
||||
## Progress log
|
||||
|
||||
- 2026-06-07 — Extension: portable data serialization (`data.sx`).
|
||||
`content/to-data` converts a document to plain SX data
|
||||
(`{:id :title :slug :tags :blocks [{:id :type :fields}]}`, sections recursing);
|
||||
`content/from-data` reconstructs real block objects (section/table handled
|
||||
specially, others generically via mk-block). Round-trips the full tree +
|
||||
metadata (render-equal), decoupling storage/transport from the Smalltalk
|
||||
instance shape. 21 tests; suite 523/523.
|
||||
- 2026-06-07 — Extension: document composition (`compose.sx`). `content/concat`
|
||||
/ `content/prepend` / `content/concat-all` combine documents (keeping the
|
||||
first's id + metadata, concatenating blocks, immutable); `content/wrap-section`
|
||||
|
||||
Reference in New Issue
Block a user