/+ - Name: SisuDoc Spine, Doc Reform [a part of] - Description: documents, structuring, processing, publishing, search - static content generator - Author: Ralph Amissah [ralph.amissah@gmail.com] - Copyright: (C) 2015 (continuously updated, current 2026) Ralph Amissah, All Rights Reserved. - License: AGPL 3 or later: Spine (SiSU), a framework for document structuring, publishing and search Copyright (C) Ralph Amissah This program is free software: you can redistribute it and/or modify it under the terms of the GNU AFERO General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see [https://www.gnu.org/licenses/]. If you have Internet connection, the latest version of the AGPL should be available at these locations: [https://www.fsf.org/licensing/licenses/agpl.html] [https://www.gnu.org/licenses/agpl.html] - Spine (by Doc Reform, related to SiSU) uses standard: - docReform markup syntax - standard SiSU markup syntax with modified headers and minor modifications - docReform object numbering - standard SiSU object citation numbering & system - Homepages: [https://www.sisudoc.org] [https://www.doc-reform.org] - Git [https://git.sisudoc.org/] +/ /++ sisudoc.ocda.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.outputs.io_out and consumes the values produced here. Entry points: - spineAbstraction!() (from sisudoc.ocda.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.ocda.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.ocda.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.ocda.abstraction;` and reach the entry points without depending on spine's directory layout. +/ module sisudoc.ocda.abstraction; @safe: public import sisudoc.ocda.meta.metadoc; // spineAbstraction (A-layer) public import sisudoc.ocda.meta.metadoc_from_src; // docAbstraction (B-layer) public import sisudoc.ocda.abstraction.ssp; // spineAbstractionTxt (.ssp)