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); |