aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sdp/abstraction.d
diff options
context:
space:
mode:
authorRalph Amissah <ralph@amissah.com>2017-05-09 13:01:06 -0400
committerRalph Amissah <ralph@amissah.com>2019-04-10 15:14:14 -0400
commit60d6073bcfc4fa91253428094813de0dac41a2b4 (patch)
treecef8e223469724d9e42dea81d6ded5ffc75a9be2 /src/sdp/abstraction.d
parentmodules, collective imports (diff)
0.16.0 files/modules re-arrangeddoc-reform_v0.0.16
Diffstat (limited to 'src/sdp/abstraction.d')
-rw-r--r--src/sdp/abstraction.d116
1 files changed, 0 insertions, 116 deletions
diff --git a/src/sdp/abstraction.d b/src/sdp/abstraction.d
deleted file mode 100644
index 351fd1f..0000000
--- a/src/sdp/abstraction.d
+++ /dev/null
@@ -1,116 +0,0 @@
-module sdp.abstraction;
-template SiSUabstraction() {
- /+ sdp: sisu document parser, see http://sisudoc.org +/
- import sdp.imports_for_ao;
-
-
- mixin SiSUrgxInit;
- mixin SiSUregisters;
- mixin SiSUheaderExtractSDLang;
- mixin SiSUnode;
- mixin SiSUbiblio;
- mixin SiSUrgxInitFlags;
- mixin outputHub;
- enum headBody { header, body_content, insert_filelist }
- enum makeMeta { make, meta }
- 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 = ConfigHub!()("conf.sdl", env);
- auto sdl_root_doc_make = ConfigHub!()("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);
- /+ ↓ read file (filename with path) +/
- /+ ↓ file tuple of header and content +/
- auto _header_body_inserts =
- SiSUrawMarkupContent!()(fn_src);
- static assert(!isTypeTuple!(_header_body_inserts));
- static assert(_header_body_inserts.length==3);
- debug(header_and_body) {
- writeln(header);
- writeln(_header_body_inserts.length);
- writeln(_header_body_inserts.length[headBody.body_content][0]);
- }
- /+ ↓ split header into make and meta +/
- auto _make_and_meta =
- SiSUheaderExtractHub!()(_header_body_inserts[headBody.header], conf_doc_make_aa);
- static assert(!isTypeTuple!(_make_and_meta));
- static assert(_make_and_meta.length==2);
- /+ ↓ document abstraction: process document, return abstraction as tuple +/
- auto da = SiSUdocAbstraction!()(
- (_header_body_inserts[headBody.body_content]),
- (_make_and_meta[makeMeta.make]),
- (_make_and_meta[makeMeta.meta]),
- opts
- );
- static assert(!isTypeTuple!(da));
- static assert(da.length==5);
- auto doc_abstraction = da[docAbst.doc_abstraction]; /+ head ~ toc ~ body ~ endnotes_seg ~ glossary ~ bibliography ~ bookindex ~ blurb; +/
- auto _document_section_keys_sequenced = da[docAbst.section_keys];
- string[] _doc_html_segnames = da[docAbst.segnames];
- string[] _doc_epub_segnames_0_4 = da[docAbst.segnames_0_4];
- auto _images = da[docAbst.images];
- struct DocumentMatters {
- auto keys_seq() {
- /+ contains .seg & .scroll sequences +/
- auto _k = _document_section_keys_sequenced;
- return _k;
- }
- string[] segnames() {
- string[] _k = _doc_html_segnames;
- return _k;
- }
- string[] segnames_lv_0_to_4() {
- string[] _k = _doc_epub_segnames_0_4;
- return _k;
- }
- auto dochead_make() {
- string[string][string] _k = _make_and_meta[makeMeta.make];
- return _k;
- }
- auto dochead_meta() {
- string[string][string] _k = _make_and_meta[makeMeta.meta];
- return _k;
- }
- auto src_path_info() {
- string _pwd = env["pwd"];
- auto _k = SiSUpathsSRC!()(_pwd, fn_src);
- return _k;
- }
- auto source_filename() {
- string _k = fn_src;
- return _k;
- }
- auto language() {
- string _k;
- if (auto m = fn_src.match(rgx.language_code_and_filename)) {
- _k = m.captures[1];
- } else {
- _k = "en";
- }
- return _k;
- }
- auto file_insert_list() {
- string[] _k = _header_body_inserts[headBody.insert_filelist];
- return _k;
- }
- auto image_list() {
- auto _k = _images;
- return _k;
- }
- auto opt_action_bool() {
- bool[string] _k = opts;
- return _k;
- }
- auto environment() {
- auto _k = env;
- return _k;
- }
- }
- auto doc_matters = DocumentMatters();
- auto t = tuple(doc_abstraction, doc_matters);
- static assert(t.length==2);
- return t;
- }
-}