aboutsummaryrefslogtreecommitdiffhomepage
path: root/org/sdp.org
diff options
context:
space:
mode:
Diffstat (limited to 'org/sdp.org')
-rw-r--r--org/sdp.org211
1 files changed, 94 insertions, 117 deletions
diff --git a/org/sdp.org b/org/sdp.org
index e85d040..8796a6b 100644
--- a/org/sdp.org
+++ b/org/sdp.org
@@ -47,7 +47,7 @@ version (Posix) {
#+END_SRC
* 1. sdp (sisu document parser) :sdp:
-
+** notes
- deal with imports
- get options
- get command line instructions
@@ -233,17 +233,13 @@ bool[string] opts = [
"concordance" : false,
"debug" : false,
"digest" : false,
- "docbook" : false,
"epub" : false,
"html" : false,
"html-seg" : false,
"html-scroll" : false,
"manifest" : false,
"ocn" : true,
- "odt" : false,
- "pdf" : false,
- "postgresql" : false,
- "qrcode" : false,
+ "quiet" : false,
"sisupod" : false,
"source" : false,
"sqlite-discrete" : false,
@@ -255,9 +251,8 @@ bool[string] opts = [
"sqlite-update" : false,
"text" : false,
"verbose" : false,
+ "very-verbose" : false,
"xhtml" : false,
- "xml-dom" : false,
- "xml-sax" : false,
"section_toc" : true,
"section_body" : true,
"section_endnotes" : true,
@@ -276,52 +271,46 @@ string[string] settings = [
];
auto helpInfo = getopt(args,
std.getopt.config.passThrough,
- "abstraction", "--abstraction document abstraction ", &opts["abstraction"],
- "assert", "--assert set optional assertions on", &opts["assertions"],
- "concordance", "--concordance file for document", &opts["concordance"],
- "debug", "--debug", &opts["debug"],
- "digest", "--digest hash digest for each object", &opts["digest"],
- "docbook", "--docbook process docbook output", &opts["docbook"],
- "epub", "--epub process epub output", &opts["epub"],
- "html", "--html process html output", &opts["html"],
- "html-seg", "--html-seg process html output", &opts["html-seg"],
- "html-scroll", "--html-seg process html output", &opts["html-scroll"],
- "manifest", "--manifest process manifest output", &opts["manifest"],
- "ocn", "--ocn object cite numbers (default)", &opts["ocn"],
- "odf", "--odf process odf:odt output", &opts["odt"],
- "odt", "--odt process odf:odt output", &opts["odt"],
- "pdf", "--pdf process pdf output", &opts["pdf"],
- "pg", "--pg process postgresql output", &opts["postgresql"],
- "postgresql", "--postgresql process postgresql output", &opts["postgresql"],
- "qrcode", "--qrcode with document metadata", &opts["qrcode"],
- "sisupod", "--sisupod sisupod source content bundled", &opts["sisupod"],
- "source", "--source markup source text content", &opts["source"],
- "sqlite-discrete", "--sqlite process discrete sqlite output", &opts["sqlite-discrete"],
- "sqlite-db-create", "--sqlite-db-create create db, create tables", &opts["sqlite-db-create"],
- "sqlite-db-drop", "--sqlite-db-drop drop tables & db", &opts["sqlite-db-drop"],
- "sqlite-db-recreate", "--sqlite-db-recreate create db, create tables", &opts["sqlite-db-recreate"],
- "sqlite-delete", "--sqlite process sqlite output", &opts["sqlite-delete"],
- "sqlite-insert", "--sqlite process sqlite output", &opts["sqlite-insert"],
- "sqlite-update", "--sqlite process sqlite output", &opts["sqlite-update"],
- "text", "--text process text output", &opts["text"],
- "txt", "--txt process text output", &opts["text"],
- "verbose|v", "--verbose output to terminal", &opts["verbose"],
- "xhtml", "--xhtml process xhtml output", &opts["xhtml"],
- "xml-dom", "--xml-dom process xml dom output", &opts["xml-dom"],
- "xml-sax", "--xml-sax process xml sax output", &opts["xml-sax"],
- "section-toc", "--section-toc process table of contents (default)", &opts["section_toc"],
- "section-body", "--section-body process document body (default)", &opts["section_body"],
- "section-endnotes", "--section-endnotes process document endnotes (default)", &opts["section_endnotes"],
- "section-glossary", "--section-glossary process document glossary (default)", &opts["section_glossary"],
- "section-biblio", "--section-biblio process document biblio (default)", &opts["section_biblio"],
- "section-bookindex", "--section-bookindex process document bookindex (default)", &opts["section_bookindex"],
- "section-blurb", "--section-blurb process document blurb (default)", &opts["section_blurb"],
- "backmatter", "--section-backmatter process document backmatter (default)", &opts["backmatter"],
- "skip-output", "--skip-output", &opts["skip-output"],
- "output-dir", "--output-dir=[dir path]", &settings["output-dir"],
- "site-config-dir", "--site-config-dir=[dir path]", &settings["site-config-dir"],
- "sqlite-filename", "--sqlite-filename=[filename].sqlite", &settings["sqlite-filename"],
- "lang", "--lang=[lang code e.g. =en or =en,es]", &settings["lang"],
+ "abstraction", "--abstraction document abstraction ", &opts["abstraction"],
+ "assert", "--assert set optional assertions on", &opts["assertions"],
+ "concordance", "--concordance file for document", &opts["concordance"],
+ "debug", "--debug", &opts["debug"],
+ "digest", "--digest hash digest for each object", &opts["digest"],
+ "epub", "--epub process epub output", &opts["epub"],
+ "html", "--html process html output", &opts["html"],
+ "html-seg", "--html-seg process html output", &opts["html-seg"],
+ "html-scroll", "--html-seg process html output", &opts["html-scroll"],
+ "manifest", "--manifest process manifest output", &opts["manifest"],
+ "ocn", "--ocn object cite numbers (default)", &opts["ocn"],
+ "quiet", "--quiet output to terminal", &opts["quiet"],
+ "sisupod", "--sisupod sisupod source content bundled", &opts["sisupod"],
+ "source", "--source markup source text content", &opts["source"],
+ "sqlite-discrete", "--sqlite process discrete sqlite output", &opts["sqlite-discrete"],
+ "sqlite-db-create", "--sqlite-db-create create db, create tables", &opts["sqlite-db-create"],
+ "sqlite-db-drop", "--sqlite-db-drop drop tables & db", &opts["sqlite-db-drop"],
+ "sqlite-db-recreate", "--sqlite-db-recreate create db, create tables", &opts["sqlite-db-recreate"],
+ // "sqlite-db-populate", "--sqlite-db-populate create db & tables, insert specified", &opts["sqlite-db-populate"],
+ "sqlite-delete", "--sqlite process sqlite output", &opts["sqlite-delete"],
+ "sqlite-insert", "--sqlite process sqlite output", &opts["sqlite-insert"],
+ "sqlite-update", "--sqlite process sqlite output", &opts["sqlite-update"],
+ "text", "--text process text output", &opts["text"],
+ "txt", "--txt process text output", &opts["text"],
+ "verbose|v", "--verbose output to terminal", &opts["verbose"],
+ "very-verbose", "--very-verbose output to terminal", &opts["very-verbose"],
+ "xhtml", "--xhtml process xhtml output", &opts["xhtml"],
+ "section-toc", "--section-toc process table of contents (default)", &opts["section_toc"],
+ "section-body", "--section-body process document body (default)", &opts["section_body"],
+ "section-endnotes", "--section-endnotes process document endnotes (default)", &opts["section_endnotes"],
+ "section-glossary", "--section-glossary process document glossary (default)", &opts["section_glossary"],
+ "section-biblio", "--section-biblio process document biblio (default)", &opts["section_biblio"],
+ "section-bookindex", "--section-bookindex process document bookindex (default)", &opts["section_bookindex"],
+ "section-blurb", "--section-blurb process document blurb (default)", &opts["section_blurb"],
+ "backmatter", "--section-backmatter process document backmatter (default)", &opts["backmatter"],
+ "skip-output", "--skip-output", &opts["skip-output"],
+ "output-dir", "--output-dir=[dir path]", &settings["output-dir"],
+ "site-config-dir", "--site-config-dir=[dir path]", &settings["site-config-dir"],
+ "sqlite-filename", "--sqlite-filename=[filename].sqlite", &settings["sqlite-filename"],
+ "lang", "--lang=[lang code e.g. =en or =en,es]", &settings["lang"],
);
if (helpInfo.helpWanted) {
defaultGetoptPrinter("Some information about the program.", helpInfo.options);
@@ -345,41 +334,45 @@ struct OptActions {
auto digest() {
return opts["digest"];
}
- auto docbook() {
- return opts["docbook"];
- }
auto epub() {
return opts["epub"];
}
auto html() {
- bool _is;
- if (
+ bool _is = (
opts["html"]
|| opts["html-seg"]
|| opts["html-scroll"]
- ) {
- _is = true;
- } else { _is = false; }
+ )
+ ? true
+ : false;
return _is;
}
auto html_seg() {
- bool _is;
- if (
+ bool _is = (
opts["html"]
|| opts["html-seg"]
- ) {
- _is = true;
- } else { _is = false; }
+ )
+ ? true
+ : false;
return _is;
}
auto html_scroll() {
- bool _is;
- if (
+ bool _is = (
+ opts["html"]
+ || opts["html-scroll"]
+ )
+ ? true
+ : false;
+ return _is;
+ }
+ auto html_stuff() {
+ bool _is = (
opts["html"]
|| opts["html-scroll"]
- ) {
- _is = true;
- } else { _is = false; }
+ || opts["html-seg"]
+ )
+ ? true
+ : false;
return _is;
}
auto manifest() {
@@ -388,17 +381,8 @@ struct OptActions {
auto ocn() {
return opts["ocn"];
}
- auto odt() {
- return opts["odt"];
- }
- auto pdf() {
- return opts["pdf"];
- }
- auto postgresql() {
- return opts["postgresql"];
- }
- auto qrcode() {
- return opts["qrcode"];
+ auto quiet() {
+ return opts["quiet"];
}
auto sisupod() {
return opts["sisupod"];
@@ -410,23 +394,21 @@ struct OptActions {
return opts["sqlite-discrete"];
}
auto sqlite_db_drop() {
- bool _is;
- if (
+ bool _is = (
opts["sqlite-db-recreate"]
|| opts["sqlite-db-drop"]
- ) {
- _is = true;
- } else { _is = false; }
+ )
+ ? true
+ : false;
return _is;
}
auto sqlite_db_create() {
- bool _is;
- if (
+ bool _is = (
opts["sqlite-db-recreate"]
|| opts["sqlite-db-create"]
- ) {
- _is = true;
- } else { _is = false; }
+ )
+ ? true
+ : false;
return _is;
}
auto sqlite_insert() {
@@ -442,17 +424,20 @@ struct OptActions {
return opts["text"];
}
auto verbose() {
- return opts["verbose"];
+ bool _is = (
+ opts["verbose"]
+ || opts["very-verbose"]
+ )
+ ? true
+ : false;
+ return _is;
+ }
+ auto very_verbose() {
+ return opts["very-verbose"];
}
auto xhtml() {
return opts["xhtml"];
}
- auto xml_dom() {
- return opts["xml-dom"];
- }
- auto xml_sax() {
- return opts["xml-sax"];
- }
auto section_toc() {
return opts["section_toc"];
}
@@ -490,29 +475,21 @@ struct OptActions {
return settings["sqlite-filename"];
}
auto abstraction() {
- bool _is;
- if (
+ bool _is = (
opts["abstraction"]
|| concordance
- || docbook
|| epub
|| html
|| manifest
- || odt
- || pdf
- || postgresql
- || qrcode
|| sisupod
|| source
|| sqlite_discrete
|| sqlite_delete
|| sqlite_insert
|| sqlite_update
- || text
- || xhtml
- ) {
- _is = true;
- } else { _is = false; }
+ )
+ ? true
+ : false;
return _is;
}
}
@@ -600,7 +577,7 @@ foreach(arg; args[1..$]) {
_manifests ~= _manifest_matter;
}
} else if (arg.match(rgx.src_pth_zip)) {
- // fns_src ~= arg; // gather input markup source file names for processing
+ // fns_src ~= arg; // gather input markup source file names for processing
} else { // anything remaining, unused
arg_unrecognized ~= " " ~ arg;
}
@@ -639,7 +616,7 @@ if (!(_opt_action.skip_output)) {
#+NAME: sdp_each_file_do_scope
#+BEGIN_SRC d
scope(success) {
- debug(checkdoc) {
+ if (!(_opt_action.quiet)) {
writefln(
"%s\n%s",
"~ document complete, ok ~",
@@ -730,7 +707,7 @@ if (!(doc_matters.opt.action.skip_output)) {
#+NAME: sdp_each_file_do_scope_exit
#+BEGIN_SRC d
scope(exit) {
- debug(checkdoc) {
+ if (!(_opt_action.quiet)) {
writefln(
"processed file: %s",
manifest.src.filename
@@ -763,7 +740,7 @@ template SiSUabstraction() {
auto SiSUabstraction(E,O,M)(
E _env,
O _opt_action,
- M _manifest,
+ M _manifest
){
<<sdp_conf_files>>
<<sdp_each_file_do_read_and_split_sisu_markup_file_content_into_header_and_body>>
@@ -1265,7 +1242,7 @@ consider
**** ocn
|-------------+-----------------------+-----------------------+----------------+------|
-| *objects | section / part | ocn described | how used* | type |
+| objects | section / part | ocn described | how used | type |
|-------------+-----------------------+-----------------------+----------------+------|
| regular ocn | | | | |
|-------------+-----------------------+-----------------------+----------------+------|