diff options
Diffstat (limited to 'src/sisudoc/spine.d')
-rwxr-xr-x | src/sisudoc/spine.d | 147 |
1 files changed, 65 insertions, 82 deletions
diff --git a/src/sisudoc/spine.d b/src/sisudoc/spine.d index 39563fb..75cd9d5 100755 --- a/src/sisudoc/spine.d +++ b/src/sisudoc/spine.d @@ -1,4 +1,3 @@ -#!/usr/bin/env rdmd /+ - Name: SisuDoc Spine, Doc Reform [a part of] - Description: documents, structuring, processing, publishing, search @@ -7,7 +6,7 @@ - Author: Ralph Amissah [ralph.amissah@gmail.com] - - Copyright: (C) 2015 - 2024 Ralph Amissah, All Rights Reserved. + - Copyright: (C) 2015 - 2025 Ralph Amissah, All Rights Reserved. - License: AGPL 3 or later: @@ -55,32 +54,30 @@ description "A SiSU inspired document parser written in D." homepage "https://sisudoc.org" +/ @safe: -import - std.algorithm, - std.datetime, - std.getopt, - std.file, - std.path, - std.process; -import - sisudoc.conf.compile_time_info, - sisudoc.meta, - sisudoc.meta.metadoc, - sisudoc.meta.metadoc_curate, - sisudoc.meta.metadoc_curate_authors, - sisudoc.meta.metadoc_curate_topics, - sisudoc.meta.metadoc_from_src, - sisudoc.meta.conf_make_meta_structs, - sisudoc.meta.conf_make_meta_json, - sisudoc.meta.defaults, - sisudoc.meta.doc_debugs, - sisudoc.meta.rgx, - sisudoc.meta.rgx_yaml, - sisudoc.meta.rgx_files, - sisudoc.io_in.paths_source, - sisudoc.io_in.read_config_files, - sisudoc.io_in.read_source_files, - sisudoc.io_out.hub; +import std.algorithm; +import std.datetime; +import std.getopt; +import std.file; +import std.path; +import std.process; +import sisudoc.conf.compile_time_info; +import sisudoc.meta; +import sisudoc.meta.metadoc; +import sisudoc.meta.metadoc_curate; +import sisudoc.meta.metadoc_curate_authors; +import sisudoc.meta.metadoc_curate_topics; +import sisudoc.meta.metadoc_from_src; +import sisudoc.meta.conf_make_meta_structs; +import sisudoc.meta.conf_make_meta_json; +import sisudoc.meta.defaults; +import sisudoc.meta.doc_debugs; +import sisudoc.meta.rgx; +import sisudoc.meta.rgx_yaml; +import sisudoc.meta.rgx_files; +import sisudoc.io_in.paths_source; +import sisudoc.io_in.read_config_files; +import sisudoc.io_in.read_source_files; +import sisudoc.io_out.hub; mixin(import("version.txt")); mixin(import("configuration.txt")); mixin CompileTimeInfo; @@ -1059,66 +1056,59 @@ string program_name = "spine"; ) { writeln("--->\nstepX commence → (document abstraction) [", manifest.src.filename, "]"); } - auto t = spineAbstraction!()(_env, program_info, _opt_action, _cfg, manifest, _make_and_meta_struct); - static assert(t.length==2); - auto doc_abstraction = t[dAM.abstraction]; - auto doc_matters = t[dAM.matters]; - if ((doc_matters.opt.action.debug_do) + auto doc = spineAbstraction!()(_env, program_info, _opt_action, _cfg, manifest, _make_and_meta_struct); + if ((doc.matters.opt.action.debug_do) || (_opt_action.debug_do_stages) ) { writeln("- stepX complete for [", manifest.src.filename, "]"); } /+ ↓ debugs +/ - if (doc_matters.opt.action.show_summary) { + if (doc.matters.opt.action.show_summary) { import sisudoc.meta.metadoc_show_summary; - spineMetaDocSummary!()(doc_abstraction, doc_matters); + spineMetaDocSummary!()(doc); } /+ ↓ debugs +/ - if (doc_matters.opt.action.show_metadata) { + if (doc.matters.opt.action.show_metadata) { import sisudoc.meta.metadoc_show_metadata; - spineShowMetaData!()(doc_matters); + spineShowMetaData!()(doc.matters); } /+ ↓ debugs +/ - if (doc_matters.opt.action.show_make) { + if (doc.matters.opt.action.show_make) { import sisudoc.meta.metadoc_show_make; - spineShowMake!()(doc_matters); + spineShowMake!()(doc.matters); } /+ ↓ debugs +/ - if (doc_matters.opt.action.show_config) { + if (doc.matters.opt.action.show_config) { import sisudoc.meta.metadoc_show_config; - spineShowConfig!()(doc_matters); + spineShowConfig!()(doc.matters); } - if (doc_matters.opt.action.curate) { - auto _hvst = spineMetaDocCurate!()(doc_matters, hvst); + if (doc.matters.opt.action.curate) { + auto _hvst = spineMetaDocCurate!()(doc.matters, hvst); if ( _hvst.title.length > 0 && _hvst.author_surname_fn.length > 0 ) { hvst.curates ~= _hvst; } else { - if ((doc_matters.opt.action.debug_do) + if ((doc.matters.opt.action.debug_do) || (_opt_action.debug_do_curate) - || (doc_matters.opt.action.vox_gt2) + || (doc.matters.opt.action.vox_gt2) ) { writeln("WARNING curate: document header yaml does not contain information related to: title or author: ", _hvst.path_html_segtoc); } } } /+ ↓ debugs +/ - if (doc_matters.opt.action.debug_do) { - spineDebugs!()(doc_abstraction, doc_matters); + if (doc.matters.opt.action.debug_do) { + spineDebugs!()(doc.abstraction, doc.matters); } /+ ↓ output hub +/ - if (!(doc_matters.opt.action.skip_output)) { - if ((_opt_action.debug_do) - || (_opt_action.debug_do_stages) - ) { + if (!(doc.matters.opt.action.skip_output)) { + if ((_opt_action.debug_do) || (_opt_action.debug_do_stages)) { writeln("step5 commence → (process outputs) [", manifest.src.filename, "]"); } - doc_abstraction.outputHub!()(doc_matters); - if ((_opt_action.debug_do) - || (_opt_action.debug_do_stages) - ) { + doc.outputHub!(); + if ((_opt_action.debug_do) || (_opt_action.debug_do_stages)) { writeln("- step5 complete for [", manifest.src.filename, "]"); } } @@ -1165,66 +1155,59 @@ string program_name = "spine"; ) { writeln("--->\nstepX commence → (document abstraction) [", manifest.src.filename, "]"); } - auto t = spineAbstraction!()(_env, program_info, _opt_action, _cfg, manifest, _make_and_meta_struct); - static assert(t.length==2); - auto doc_abstraction = t[dAM.abstraction]; - auto doc_matters = t[dAM.matters]; - if ((doc_matters.opt.action.debug_do) + auto doc = spineAbstraction!()(_env, program_info, _opt_action, _cfg, manifest, _make_and_meta_struct); + if ((doc.matters.opt.action.debug_do) || (_opt_action.debug_do_stages) ) { writeln("- stepX complete for [", manifest.src.filename, "]"); } /+ ↓ debugs +/ - if (doc_matters.opt.action.show_summary) { + if (doc.matters.opt.action.show_summary) { import sisudoc.meta.metadoc_show_summary; - spineMetaDocSummary!()(doc_abstraction, doc_matters); + spineMetaDocSummary!()(doc); } /+ ↓ debugs +/ - if (doc_matters.opt.action.show_metadata) { + if (doc.matters.opt.action.show_metadata) { import sisudoc.meta.metadoc_show_metadata; - spineShowMetaData!()(doc_matters); + spineShowMetaData!()(doc.matters); } /+ ↓ debugs +/ - if (doc_matters.opt.action.show_make) { + if (doc.matters.opt.action.show_make) { import sisudoc.meta.metadoc_show_make; - spineShowMake!()(doc_matters); + spineShowMake!()(doc.matters); } /+ ↓ debugs +/ - if (doc_matters.opt.action.show_config) { + if (doc.matters.opt.action.show_config) { import sisudoc.meta.metadoc_show_config; - spineShowConfig!()(doc_matters); + spineShowConfig!()(doc.matters); } - if (doc_matters.opt.action.curate) { - auto _hvst = spineMetaDocCurate!()(doc_matters, hvst); + if (doc.matters.opt.action.curate) { + auto _hvst = spineMetaDocCurate!()(doc.matters, hvst); if ( _hvst.title.length > 0 && _hvst.author_surname_fn.length > 0 ) { hvst.curates ~= _hvst; } else { - if ((doc_matters.opt.action.debug_do) + if ((doc.matters.opt.action.debug_do) || (_opt_action.debug_do_curate) - || (doc_matters.opt.action.vox_gt2) + || (doc.matters.opt.action.vox_gt2) ) { writeln("WARNING curate: document header yaml does not contain information related to: title or author: ", _hvst.path_html_segtoc); } } } /+ ↓ debugs +/ - if (doc_matters.opt.action.debug_do) { - spineDebugs!()(doc_abstraction, doc_matters); + if (doc.matters.opt.action.debug_do) { + spineDebugs!()(doc.abstraction, doc.matters); } /+ ↓ output hub +/ - if (!(doc_matters.opt.action.skip_output)) { - if ((_opt_action.debug_do) - || (_opt_action.debug_do_stages) - ) { + if (!(doc.matters.opt.action.skip_output)) { + if ((_opt_action.debug_do) || (_opt_action.debug_do_stages)) { writeln("step5 commence → (process outputs) [", manifest.src.filename, "]"); } - doc_abstraction.outputHub!()(doc_matters); - if ((_opt_action.debug_do) - || (_opt_action.debug_do_stages) - ) { + doc.outputHub!(); + if ((_opt_action.debug_do) || (_opt_action.debug_do_stages)) { writeln("- step5 complete for [", manifest.src.filename, "]"); } } |