/++ output hub
check & generate output types requested +/ module sdp.output_hub; template outputHub() { private import std.regex, std.algorithm, std.array, std.container, std.exception, std.getopt, std.process, std.stdio, std.file, std.path, std.range, std.regex, std.string, std.traits, std.typecons, std.uni, std.utf; import sdp.imports_for_output; void outputHub(D,I)(D doc_abstraction, I doc_matters) { mixin SiSUoutputRgxInit; auto rgx = Rgx(); if ((doc_matters.opt_action_bool["verbose"])) { writeln(doc_matters.keys_seq.seg); } if ((doc_matters.opt_action_bool["source"]) || (doc_matters.opt_action_bool["sisupod"])) { if ((doc_matters.opt_action_bool["verbose"]) && (doc_matters.opt_action_bool["source"])) { write("sisu source processing... "); } if ((doc_matters.opt_action_bool["verbose"]) && (doc_matters.opt_action_bool["sisupod"])) { write("sisupod source processing... "); } SiSUpod!()(doc_matters); if ((doc_matters.opt_action_bool["verbose"]) && (doc_matters.opt_action_bool["source"])) { writeln("sisu source done"); } if ((doc_matters.opt_action_bool["verbose"]) && (doc_matters.opt_action_bool["sisupod"])) { writeln("sisupod done"); } } if (doc_matters.opt_action_bool["text"]) { /+ mixin outputText; +/ writeln("text processing"); } if (doc_matters.opt_action_bool["html"]) { if ((doc_matters.opt_action_bool["verbose"])) { write("html scroll processing... "); } outputHTML!().scroll(doc_abstraction, doc_matters); if ((doc_matters.opt_action_bool["verbose"])) { writeln("html scroll done"); } if ((doc_matters.opt_action_bool["verbose"])) { write("html seg processing... "); } outputHTML!().seg(doc_abstraction, doc_matters); if ((doc_matters.opt_action_bool["verbose"])) { writeln("html seg done"); } } else if (doc_matters.opt_action_bool["html_seg"]) { if ((doc_matters.opt_action_bool["verbose"])) { write("html seg processing... "); } outputHTML!().seg(doc_abstraction, doc_matters); if ((doc_matters.opt_action_bool["verbose"])) { writeln("html seg done"); } } else if (doc_matters.opt_action_bool["html_scroll"]) { if ((doc_matters.opt_action_bool["verbose"])) { write("html scroll processing... "); } outputHTML!().scroll(doc_abstraction, doc_matters); if ((doc_matters.opt_action_bool["verbose"])) { writeln("html scroll done"); } } if (doc_matters.opt_action_bool["epub"]) { if ((doc_matters.opt_action_bool["verbose"])) { write("epub3 processing... "); } outputEPub3!()(doc_abstraction, doc_matters); // epub.css_write; if ((doc_matters.opt_action_bool["verbose"])) { writeln("epub3 done"); } } if (doc_matters.opt_action_bool["pdf"]) { /+ mixin outputPDF; +/ writeln("pdf processing"); } if (doc_matters.opt_action_bool["odt"]) { /+ mixin outputODT; +/ writeln("odt processing"); } if (doc_matters.opt_action_bool["sqlite"]) { /+ mixin outputSQLite; +/ writeln("sqlite processing"); } if (doc_matters.opt_action_bool["postgresql"]) { /+ mixin outputPostgreSQL; +/ writeln("pgsql processing"); } } }