aboutsummaryrefslogtreecommitdiffhomepage
path: root/org/output_hub.org
diff options
context:
space:
mode:
Diffstat (limited to 'org/output_hub.org')
-rw-r--r--org/output_hub.org185
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