/++ output hub
check & generate output types requested +/ template SiSUoutputHub() { struct SDPoutput { void hub(S)( auto ref const S contents, string[][string][string] bookindex_unordered_hashes, JSONValue[] biblio, string[string][string] dochead_make, string[string][string] dochead_meta, string fn_src, bool[string] opt_action_bool ) { auto rgx = Rgx(); string[] document_parts; if (opt_action_bool["source"]) { writeln("sisupod source"); } if (opt_action_bool["sisupod"]) { writeln("sisupod source"); } if (opt_action_bool["text"]) { writeln("text processing"); } if (opt_action_bool["html"]) { mixin SiSUoutputHTML; auto html=SDPoutputHTML(); document_parts = [ "head", "toc_scroll", "body", "endnotes_scroll", "bibliography", "bookindex_scroll" ]; html.css_write; html.scroll( contents, document_parts, bookindex_unordered_hashes, biblio, dochead_make, dochead_meta, fn_src, opt_action_bool ); } if (opt_action_bool["epub"]) { writeln("epub processing"); } if (opt_action_bool["pdf"]) { writeln("pdf processing"); } if (opt_action_bool["odt"]) { writeln("odt processing"); } if (opt_action_bool["sqlite"]) { writeln("sqlite processing"); } if (opt_action_bool["postgresql"]) { writeln("pgsql processing"); } } } }