diff options
Diffstat (limited to 'org/output_hub.org')
-rw-r--r-- | org/output_hub.org | 185 |
1 files changed, 185 insertions, 0 deletions
diff --git a/org/output_hub.org b/org/output_hub.org new file mode 100644 index 0000000..736c622 --- /dev/null +++ b/org/output_hub.org @@ -0,0 +1,185 @@ +#+TITLE: sdp output hub +#+AUTHOR: Ralph Amissah +#+EMAIL: ralph.amissah@gmail.com +#+STARTUP: indent +#+LANGUAGE: en +#+OPTIONS: H:3 num:nil toc:t \n:nil @:t ::t |:t ^:nil _:nil -:t f:t *:t <:t +#+OPTIONS: TeX:t LaTeX:t skip:nil d:nil todo:t pri:nil tags:not-in-toc +#+OPTIONS: author:nil email:nil creator:nil timestamp:nil +#+PROPERTY: header-args :padline no :exports code :noweb yes +#+EXPORT_SELECT_TAGS: export +#+EXPORT_EXCLUDE_TAGS: noexport +#+FILETAGS: :sdp:rel:output: +#+TAGS: assert(a) class(c) debug(d) mixin(m) sdp(s) tangle(T) template(t) WEB(W) noexport(n) + +[[./sdp.org][sdp]] [[./][org/]] +* 0. output hub [#A] + +#+BEGIN_SRC d :tangle ../src/sdp/output_hub.d +/++ + output hub<BR> + check & generate output types requested ++/ +template outputHub() { + <<output_imports>> + void outputHub(D,I)(D doc_abstraction, I doc_matters) { + mixin SiSUoutputRgxInit; + auto rgx = Rgx(); + <<output_options>> + } +} +#+END_SRC + +** initialize / imports + +#+name: output_imports +#+BEGIN_SRC d +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 + defaults, + output_epub3, + output_html, + output_xhtmls, + source_sisupod, + create_zip_file, + output_rgx, + output_xhtmls, + paths_output; +#+END_SRC + +** output options +*** verbose + +#+name: output_options +#+BEGIN_SRC d +if ((doc_matters.opt_action_bool["verbose"])) { + writeln(doc_matters.keys_seq.seg); +} +#+END_SRC + +*** output source: _sisusrc_ &/or _sisupod_ +[[./output_sisupod.org][output_sisupod]] + +#+name: output_options +#+BEGIN_SRC d +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"); } +} +#+END_SRC + +*** text +[[./output_text.org][output_text]] + +#+name: output_options +#+BEGIN_SRC d +if (doc_matters.opt_action_bool["text"]) { + /+ mixin outputText; +/ + writeln("text processing"); +} +#+END_SRC + +*** html +[[./output_xmls.org][output_xmls]] + +#+name: output_options +#+BEGIN_SRC d +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"); } +} +#+END_SRC + +*** epub +[[./output_xmls.org][output_xmls]] + +#+name: output_options +#+BEGIN_SRC d +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"); } +} +#+END_SRC + +*** pdf + +#+name: output_options +#+BEGIN_SRC d +if (doc_matters.opt_action_bool["pdf"]) { + /+ mixin outputPDF; +/ + writeln("pdf processing"); +} +#+END_SRC + +*** odt + +#+name: output_options +#+BEGIN_SRC d +if (doc_matters.opt_action_bool["odt"]) { + /+ mixin outputODT; +/ + writeln("odt processing"); +} +#+END_SRC + +*** sqlite + +#+name: output_options +#+BEGIN_SRC d +if (doc_matters.opt_action_bool["sqlite"]) { + /+ mixin outputSQLite; +/ + writeln("sqlite processing"); +} +#+END_SRC + +*** postgresql + +#+name: output_options +#+BEGIN_SRC d +if (doc_matters.opt_action_bool["postgresql"]) { + /+ mixin outputPostgreSQL; +/ + writeln("pgsql processing"); +} +#+END_SRC |