aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sdp/ao/abstraction.d
diff options
context:
space:
mode:
authorRalph Amissah <ralph@amissah.com>2017-07-04 07:36:45 -0400
committerRalph Amissah <ralph@amissah.com>2019-04-10 15:14:14 -0400
commit203fa77f01c460b60ea50342676a55c4a80b5a42 (patch)
tree4d28d14dafa2395ed1e52f36e5bd88649ff34cde /src/sdp/ao/abstraction.d
parentoutput_hub sqlite introduce structure (diff)
sdl extract and composite conf (make)doc-reform_v0.0.17
Diffstat (limited to 'src/sdp/ao/abstraction.d')
-rw-r--r--src/sdp/ao/abstraction.d49
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);