aboutsummaryrefslogtreecommitdiffhomepage
path: root/org/ocda.org
diff options
context:
space:
mode:
Diffstat (limited to 'org/ocda.org')
-rw-r--r--org/ocda.org44
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"