diff options
Diffstat (limited to 'src/sdp/ao/abstraction.d')
| -rw-r--r-- | src/sdp/ao/abstraction.d | 49 | 
1 files changed, 30 insertions, 19 deletions
diff --git a/src/sdp/ao/abstraction.d b/src/sdp/ao/abstraction.d index 317f841..b25f354 100644 --- a/src/sdp/ao/abstraction.d +++ b/src/sdp/ao/abstraction.d @@ -8,6 +8,7 @@ template SiSUabstraction() {    import      sdp.ao.abstraction_summary,      sdp.ao.abstract_doc_source, +    sdp.ao.composite_make,      sdp.ao.conf_make_meta,      // sdp.ao.conf_make_meta_native,      sdp.ao.conf_make_meta_sdlang, @@ -20,7 +21,7 @@ template SiSUabstraction() {      sdp.output.paths_source;    mixin SiSUrgxInit;    mixin SiSUregisters; -  mixin SiSUheaderExtractSDLang; +  mixin SiSUextractSDLang;    mixin SiSUnode;    mixin SiSUbiblio;    mixin SiSUrgxInitFlags; @@ -30,11 +31,10 @@ template SiSUabstraction() {    enum docAbst  { doc_abstraction, section_keys, segnames, segnames_0_4, images }    auto rgx = Rgx();    auto SiSUabstraction(Fn,O,E)(Fn fn_src, O opts, E env){ -    auto sdl_root_configuration = configRead!()("conf.sdl", env); -    auto sdl_root_doc_make = configRead!()("sisu_document_make", env); -    auto confsdl = HeaderExtractSDL(); -    auto conf_settings_aa = confsdl.configSettingsSDLangToAAmake(sdl_root_configuration); -    auto conf_doc_make_aa = confsdl.documentMakeSDLangToAAmake(sdl_root_doc_make); +    auto sdl_root_config_share = configRead!()("config_local", env); +    auto sdl_root_config_local = configRead!()("config_share", env); +    auto conf_composite_static_aa = extractSDL().sdlangToAA(conf_aa_empty, sdl_root_config_share); +    conf_composite_static_aa = extractSDL().sdlangToAA(conf_composite_static_aa, sdl_root_config_local);      /+ ↓ read file (filename with path) +/      /+ ↓ file tuple of header and content +/      auto _header_body_inserts = @@ -48,9 +48,20 @@ template SiSUabstraction() {      }      /+ ↓ split header into make and meta +/      auto _make_and_meta_tup = -      SiSUheaderExtractHub!()(_header_body_inserts[headBody.header], conf_doc_make_aa); +      docHeaderMakeAndMetaTupExtractAndConvertToAA!()(conf_composite_static_aa, _header_body_inserts[headBody.header]);      static assert(!isTypeTuple!(_make_and_meta_tup));      static assert(_make_and_meta_tup.length==2); +    auto _make_config = compositeMkCnf!()( +      conf_composite_static_aa, +      _make_and_meta_tup[makeMeta.make], +      // opts, +    ); +    auto _make_and_conf_composite_static_plus_docheader_aa = compositeMkCnfAA!()( +      conf_aa_empty, +      conf_composite_static_aa, +      _make_and_meta_tup[makeMeta.make], +      opts, +    );      /+ ↓ document abstraction: process document, return abstraction as tuple +/      auto da = SiSUdocAbstraction!()(        _header_body_inserts[headBody.body_content], @@ -79,12 +90,16 @@ template SiSUabstraction() {          string[] _k = _doc_epub_segnames_0_4;          return _k;        } +      auto dochead_meta() { +        string[string][string] _k = _make_and_meta_tup[makeMeta.meta]; +        return _k; +      }        auto dochead_make() {          string[string][string] _k = _make_and_meta_tup[makeMeta.make];          return _k;        } -      auto dochead_meta() { -        string[string][string] _k = _make_and_meta_tup[makeMeta.meta]; +      auto source_filename() { +        string _k = fn_src;          return _k;        }        auto src_path_info() { @@ -92,8 +107,12 @@ template SiSUabstraction() {          auto _k = SiSUpathsSRC!()(_pwd, fn_src);          return _k;        } -      auto source_filename() { -        string _k = fn_src; +      auto opt_action() { +        bool[string] _k = opts; +        return _k; +      } +      auto environment() { +        auto _k = env;          return _k;        }        auto language() { @@ -113,14 +132,6 @@ template SiSUabstraction() {          auto _k = _images;          return _k;        } -      auto opt_action() { -        bool[string] _k = opts; -        return _k; -      } -      auto environment() { -        auto _k = env; -        return _k; -      }      }      auto doc_matters = DocumentMatters();      auto t = tuple(doc_abstraction, doc_matters);  | 
