diff options
| author | Ralph Amissah <ralph.amissah@gmail.com> | 2026-09-08 13:52:43 -0400 |
|---|---|---|
| committer | Ralph Amissah <ralph.amissah@gmail.com> | 2026-09-09 18:22:47 -0400 |
| commit | c7049608de7d163137521495665753ae7070be08 (patch) | |
| tree | b9617c6e84ea4be4a41b794a7d515986eef01af1 /org/ocda.org | |
| parent | ocda db: <doc>.ocda.db, and a script to run 4 tests (diff) | |
ocda loader: one way in whatever the source
sisudoc.ocda.abstraction.load names the five things a document can
be read from, tells them apart, and loads the two that are
self-describing artefacts:
.sst / .ssm + images the markup source
pod (dir) + images the same, bundled
pod .zip the same, zipped
.ssp + images the abstraction, as text
.ocda.db the abstraction, sqlite, images inside
abstractionSourceOf(path) is the detection, by name and for a
directory by whether it holds pod.manifest. abstractionLoad(path)
returns a LoadedAbstraction: the source kind, whether it was
loaded, why not when it was not, and the document itself.
The three source forms are deliberately not loaded here. Reading
them is the parser's job (sisudoc.ocda.meta.metadoc
spineAbstraction) and it needs the manifest, environment and
configuration that spine.d assembles, none of which belongs in a
loader. What this gives that case is the dispatch and a plain
statement of where it is handled, rather than a silent empty
result.
spine --abstraction-source=<path>
says what a path is and, for an artefact, loads it and reports
what came back: the document, title and author, header block
sizes, object counts and the objects in each section. Exit 0 when
an abstraction was loaded, 1 when not.
(assisted by Claude-Code)
Diffstat (limited to 'org/ocda.org')
| -rw-r--r-- | org/ocda.org | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/org/ocda.org b/org/ocda.org index 3ca708b..535cd94 100644 --- a/org/ocda.org +++ b/org/ocda.org @@ -95,6 +95,7 @@ public import sisudoc.ocda.meta.metadoc_from_src; // docAbstraction (B-layer) public import sisudoc.ocda.abstraction.ssp; // spineAbstractionTxt (.ssp) public import sisudoc.ocda.abstraction.ssp_in; // spineAbstractionRead (.ssp back in) public import sisudoc.ocda.abstraction.db_in; // spineAbstractionDbRead (.db back in) +public import sisudoc.ocda.abstraction.load; // spineAbstractionLoad (one way in) #+END_SRC ** _module template_ :module:metadoc_from_src: |
