/++ output hub
check & generate output types requested +/ template SiSUoutputHub() { struct SDPoutput { void hub(S,T)( auto ref const S contents, auto ref T doc_matters, ) { auto rgx = Rgx(); if (doc_matters.opt_action_bool["source"]) { writeln("source"); } if (doc_matters.opt_action_bool["sisupod"]) { mixin SiSUpod; auto sisupod=SDPsisupod(); sisupod.sisupod_assemble(doc_matters.source_filename); writeln("sisupod source"); } if (doc_matters.opt_action_bool["text"]) { writeln("text processing"); } if (doc_matters.opt_action_bool["html"]) { mixin SiSUoutputHTML; auto html=SDPoutputHTML(); html.css_write; html.scroll( contents, doc_matters, ); html.seg( contents, doc_matters, ); } else if(doc_matters.opt_action_bool["html_seg"]) { mixin SiSUoutputHTML; auto html=SDPoutputHTML(); html.css_write; html.seg( contents, doc_matters, ); } else if(doc_matters.opt_action_bool["html_scroll"]) { mixin SiSUoutputHTML; auto html=SDPoutputHTML(); html.css_write; html.scroll( contents, doc_matters, ); } if (doc_matters.opt_action_bool["epub"]) { mixin SiSUoutputEPub; auto epub=SDPoutputEPub(); epub.doc_content( // consolidate contents, doc_matters, ); } if (doc_matters.opt_action_bool["pdf"]) { writeln("pdf processing"); } if (doc_matters.opt_action_bool["odt"]) { writeln("odt processing"); } if (doc_matters.opt_action_bool["sqlite"]) { writeln("sqlite processing"); } if (doc_matters.opt_action_bool["postgresql"]) { writeln("pgsql processing"); } } } }