diff options
| author | Ralph Amissah <ralph.amissah@gmail.com> | 2026-05-21 14:39:34 -0400 |
|---|---|---|
| committer | Ralph Amissah <ralph.amissah@gmail.com> | 2026-05-22 15:42:48 -0400 |
| commit | ca59943ad212cec4c7a2d167468109d95d7a9d74 (patch) | |
| tree | cbe61dc70fdc0364c3759197466f81d97dab3faf /org | |
| parent | decouple abstraction phase0:2 (diff) | |
decouple abstraction phase1:1
phase1 step1: introduce sisudoc.abstraction package re-export surface
Create src/sisudoc/abstraction/package.d as a library-facing re-export
module for the document-abstraction stage.
The surface currently re-exports:
- sisudoc.meta.metadoc (spineAbstraction, A-layer entry)
- sisudoc.meta.metadoc_from_src (docAbstraction, B-layer entry)
No code moves; no behaviour change. The package exists so external
consumers can `import sisudoc.abstraction;` and reach the entry points
without depending on spine's internal directory layout.
(assisted by Claude-Code)
Diffstat (limited to 'org')
| -rw-r--r-- | org/ocda.org | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/org/ocda.org b/org/ocda.org index 31d4c79..aab5f2a 100644 --- a/org/ocda.org +++ b/org/ocda.org @@ -22,6 +22,50 @@ - Process markup document, create document abstraction +** library template :module:metadoc_from_src: + +#+HEADER: :tangle "../src/sisudoc/abstraction/package.d" +#+HEADER: :noweb yes +#+BEGIN_SRC d +<<doc_header_including_copyright_and_license>> +/++ + sisudoc.abstraction - public surface of the document-abstraction + library. + + Pipeline position: markup -> abstraction -> output. + This package is the abstraction stage. The output stage lives in + sisudoc.io_out and consumes the values produced here. + + Entry points: + - spineAbstraction!() (from sisudoc.meta.metadoc) - A-layer: + builds the in-memory document object model from a manifest + (pod path, .sst path). Reads the document body, parses YAML + headers, returns a struct with .abstraction (the object + model) and .matters (the conf/meta/src wrapper). + - docAbstraction!() (from sisudoc.meta.metadoc_from_src) - + B-layer: builds the abstraction from already-loaded body + text plus a pre-built ConfComposite. Pure, no file I/O. + + The A-layer is a thin wrapper over the B-layer; consumers that + want a minimal-dependency entry should use docAbstraction!() + directly. + + Serialisation: + - sisudoc.abstraction.ssp - PEG-parsable text serialisation of + the abstraction (the .ssp format). See specs/doc-abstraction- + format/ for the format reference. + + This file is a re-export-only surface. No logic lives here; it + exists so external consumers can `import sisudoc.abstraction;` and + reach the entry points without depending on spine's directory + layout. ++/ +module sisudoc.abstraction; +@safe: +public import sisudoc.meta.metadoc; // spineAbstraction (A-layer) +public import sisudoc.meta.metadoc_from_src; // docAbstraction (B-layer) +#+END_SRC + ** _module template_ :module:metadoc_from_src: #+HEADER: :tangle "../src/sisudoc/meta/metadoc_from_src.d" |
