aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRalph Amissah <ralph.amissah@gmail.com>2020-04-11 19:52:23 -0400
committerRalph Amissah <ralph.amissah@gmail.com>2020-05-20 11:27:25 -0400
commit4a7e51e00af7e195d276e9781394d23bf9265d9b (patch)
tree96ee6a2121bab5f295fbd2ba761f4d359388d01a
parentuid, select separator that works better with sqlite (diff)
opt_actions, re-arrangment, minor
-rw-r--r--org/spine.org135
-rwxr-xr-xsrc/doc_reform/spine.d134
2 files changed, 136 insertions, 133 deletions
diff --git a/org/spine.org b/org/spine.org
index f530703..8341b67 100644
--- a/org/spine.org
+++ b/org/spine.org
@@ -345,7 +345,6 @@ scope(failure) {
#+END_SRC
*** getopt args for loop :args:getopt:
-
**** set getopt options
- set getopt options
@@ -421,71 +420,71 @@ 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"],
- "cgi-search-form-codegen", "--cgi-search-form-codegen pre-compiled d code search of specified db", &opts["cgi-search-form-codegen"],
- "cgi-sqlite-search-filename", "--cgi-sqlite-search-filename=[filename]", &settings["cgi-sqlite-search-filename"],
- "concordance", "--concordance file for document", &opts["concordance"],
- "config", "--config=/path/to/config/file/including/filename", &settings["config"],
- "dark", "--dark alternative dark theme", &opts["dark"],
- "debug", "--debug", &opts["debug"],
- "digest", "--digest hash digest for each object", &opts["digest"],
- "epub", "--epub process epub output", &opts["epub"],
- "harvest", "--harvest extract info on authors & topics from document header metadata", &opts["harvest"],
- "harvest-authors", "--harvest-authors extract info on authors from document header metadata", &opts["harvest-authors"],
- "harvest-topics", "--harvest-topics extract info on topics from document header metadata", &opts["harvest-topics"],
- "html", "--html process html output", &opts["html"],
- "html-link-harvest", "--html-link-harvest place links back to harvest in segmented html", &opts["html-link-harvest"],
- "html-link-search", "--html-link-search html embedded search submission", &opts["html-link-search"],
- "html-seg", "--html-seg process html output", &opts["html-seg"],
- "html-scroll", "--html-seg process html output", &opts["html-scroll"],
- "lang", "--lang=[lang code e.g. =en or =en,es]", &settings["lang"],
- "latex", "--latex output for pdfs", &opts["latex"],
- "latex-color-links", "--latex-color-links mono or color links for pdfs", &opts["latex-color-links"],
- "light", "--light default light theme", &opts["light"],
- "manifest", "--manifest process manifest output", &opts["manifest"],
- "hide-ocn", "--hide-ocn object cite numbers", &opts["hide-ocn"],
- "ocn-off", "--ocn-off object cite numbers", &opts["ocn-off"],
- "odf", "--odf open document format text (--odt)", &opts["odf"],
- "odt", "--odt open document format text", &opts["odt"],
- "output", "--output=/path/to/output/dir specify where to place output", &settings["output"],
- "parallel", "--parallel parallelisation", &opts["parallel"],
- "parallel-subprocesses", "--parallel-subprocesses nested parallelisation", &opts["parallel-subprocesses"],
- "quiet|q", "--quiet output to terminal", &opts["quiet"],
- "pdf", "--pdf latex output for pdfs", &opts["pdf"],
- "pdf-color-links", "--pdf-color-links mono or color links for pdfs", &opts["pdf-color-links"],
- "pod", "--pod spine (doc reform) pod source content bundled", &opts["pod"],
- "serial", "--serial serial processing", &opts["serial"],
- "show-summary", "--show-summary", &opts["show-summary"],
- "show-make", "--show-make", &opts["show-make"],
- "show-metadata", "--show-metadata", &opts["show-metadata"],
- "show-config", "--show-config", &opts["show-config"],
- "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-delete process sqlite output", &opts["sqlite-delete"],
- "sqlite-insert", "--sqlite-insert process sqlite output", &opts["sqlite-insert"],
- "sqlite-update", "--sqlite-update 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"],
- "sqlite-db-filename", "--sqlite-db-filename=[filename].sql.db", &settings["sqlite-filename"],
- "backmatter", "--section-backmatter process document backmatter (default)", &opts["backmatter"],
- "skip-output", "--skip-output", &opts["skip-output"],
- "theme-dark", "--theme-dark alternative dark theme", &opts["theme-dark"],
- "theme-light", "--theme-light default light theme", &opts["theme-light"],
- "workon", "--workon (reserved for some matters under development & testing)", &opts["workon"],
+ "abstraction", "document abstraction ", &opts["abstraction"],
+ "assert", "set optional assertions on", &opts["assertions"],
+ "cgi-search-form-codegen", "generates (pre-compiled) d code for search of specified db", &opts["cgi-search-form-codegen"],
+ "cgi-sqlite-search-filename", "=[filename]", &settings["cgi-sqlite-search-filename"],
+ "concordance", "file for document", &opts["concordance"],
+ "config", "=/path/to/config/file/including/filename", &settings["config"],
+ "dark", "alternative dark theme", &opts["dark"],
+ "debug", "debug", &opts["debug"],
+ "digest", "hash digest for each object", &opts["digest"],
+ "epub", "process epub output", &opts["epub"],
+ "harvest", "extract info on authors & topics from document header metadata", &opts["harvest"],
+ "harvest-authors", "extract info on authors from document header metadata", &opts["harvest-authors"],
+ "harvest-topics", "extract info on topics from document header metadata", &opts["harvest-topics"],
+ "hide-ocn", "object cite numbers", &opts["hide-ocn"],
+ "html", "process html output", &opts["html"],
+ "html-link-harvest", "place links back to harvest in segmented html", &opts["html-link-harvest"],
+ "html-link-search", "html embedded search submission", &opts["html-link-search"],
+ "html-seg", "process html output", &opts["html-seg"],
+ "html-scroll", "process html output", &opts["html-scroll"],
+ "lang", "=[lang code e.g. =en or =en,es]", &settings["lang"],
+ "latex", "output for pdfs", &opts["latex"],
+ "latex-color-links", "mono or color links for pdfs", &opts["latex-color-links"],
+ "light", "default light theme", &opts["light"],
+ "manifest", "process manifest output", &opts["manifest"],
+ "ocn-off", "object cite numbers", &opts["ocn-off"],
+ "odf", "open document format text (--odt)", &opts["odf"],
+ "odt", "open document format text", &opts["odt"],
+ "output", "=/path/to/output/dir specify where to place output", &settings["output"],
+ "parallel", "parallelisation", &opts["parallel"],
+ "parallel-subprocesses", "nested parallelisation", &opts["parallel-subprocesses"],
+ "pdf", "latex output for pdfs", &opts["pdf"],
+ "pdf-color-links", "mono or color links for pdfs", &opts["pdf-color-links"],
+ "pod", "spine (doc reform) pod source content bundled", &opts["pod"],
+ "quiet|q", "output to terminal", &opts["quiet"],
+ "section-backmatter", "document backmatter (default)", &opts["backmatter"],
+ "section-biblio", "document biblio (default)", &opts["section_biblio"],
+ "section-blurb", "document blurb (default)", &opts["section_blurb"],
+ "section-body", "document body (default)", &opts["section_body"],
+ "section-bookindex", "document bookindex (default)", &opts["section_bookindex"],
+ "section-endnotes", "document endnotes (default)", &opts["section_endnotes"],
+ "section-glossary", "document glossary (default)", &opts["section_glossary"],
+ "section-toc", "table of contents (default)", &opts["section_toc"],
+ "serial", "serial processing", &opts["serial"],
+ "skip-output", "skip output", &opts["skip-output"],
+ "show-config", "show config", &opts["show-config"],
+ "show-make", "show make", &opts["show-make"],
+ "show-metadata", "show metadata", &opts["show-metadata"],
+ "show-summary", "show summary", &opts["show-summary"],
+ "source", "document markup source", &opts["source"],
+ "sqlite-discrete", "process discrete sqlite output", &opts["sqlite-discrete"],
+ "sqlite-db-create", "create db, create tables", &opts["sqlite-db-create"],
+ "sqlite-db-drop", "drop tables & db", &opts["sqlite-db-drop"],
+ "sqlite-db-recreate", "create db, create tables", &opts["sqlite-db-recreate"],
+ "sqlite-delete", "sqlite output", &opts["sqlite-delete"],
+ "sqlite-db-filename", "=[filename].sql.db", &settings["sqlite-db-filename"],
+ "sqlite-insert", "sqlite output", &opts["sqlite-insert"],
+ "sqlite-update", "sqlite output", &opts["sqlite-update"],
+ "text", "text output", &opts["text"],
+ "theme-dark", "alternative dark theme", &opts["theme-dark"],
+ "theme-light", "default light theme", &opts["theme-light"],
+ "txt", "text output", &opts["text"],
+ "verbose|v", "output to terminal", &opts["verbose"],
+ "very-verbose", "output to terminal", &opts["very-verbose"],
+ "workon", "(reserved for some matters under development & testing)", &opts["workon"],
+ "xhtml", "xhtml output", &opts["xhtml"],
);
if (helpInfo.helpWanted) {
defaultGetoptPrinter("Some information about the program.", helpInfo.options);
@@ -679,7 +678,9 @@ struct OptActions {
return settings["cgi-sqlite-search-filename"];
}
auto cgi_sqlite_search_filename_d() {
- return (settings["cgi-sqlite-search-filename"].translate(['-' : "_"]) ~ ".d");
+ return (settings["cgi-sqlite-search-filename"].length > 0)
+ ? (settings["cgi-sqlite-search-filename"].translate(['-' : "_"]) ~ ".d")
+ : "";
}
@trusted bool parallelise() {
bool _is;
diff --git a/src/doc_reform/spine.d b/src/doc_reform/spine.d
index 7539149..d6a2f07 100755
--- a/src/doc_reform/spine.d
+++ b/src/doc_reform/spine.d
@@ -181,71 +181,71 @@ string program_name = "spine";
];
auto helpInfo = getopt(args,
std.getopt.config.passThrough,
- "abstraction", "--abstraction document abstraction ", &opts["abstraction"],
- "assert", "--assert set optional assertions on", &opts["assertions"],
- "cgi-search-form-codegen", "--cgi-search-form-codegen pre-compiled d code search of specified db", &opts["cgi-search-form-codegen"],
- "cgi-sqlite-search-filename", "--cgi-sqlite-search-filename=[filename]", &settings["cgi-sqlite-search-filename"],
- "concordance", "--concordance file for document", &opts["concordance"],
- "config", "--config=/path/to/config/file/including/filename", &settings["config"],
- "dark", "--dark alternative dark theme", &opts["dark"],
- "debug", "--debug", &opts["debug"],
- "digest", "--digest hash digest for each object", &opts["digest"],
- "epub", "--epub process epub output", &opts["epub"],
- "harvest", "--harvest extract info on authors & topics from document header metadata", &opts["harvest"],
- "harvest-authors", "--harvest-authors extract info on authors from document header metadata", &opts["harvest-authors"],
- "harvest-topics", "--harvest-topics extract info on topics from document header metadata", &opts["harvest-topics"],
- "html", "--html process html output", &opts["html"],
- "html-link-harvest", "--html-link-harvest place links back to harvest in segmented html", &opts["html-link-harvest"],
- "html-link-search", "--html-link-search html embedded search submission", &opts["html-link-search"],
- "html-seg", "--html-seg process html output", &opts["html-seg"],
- "html-scroll", "--html-seg process html output", &opts["html-scroll"],
- "lang", "--lang=[lang code e.g. =en or =en,es]", &settings["lang"],
- "latex", "--latex output for pdfs", &opts["latex"],
- "latex-color-links", "--latex-color-links mono or color links for pdfs", &opts["latex-color-links"],
- "light", "--light default light theme", &opts["light"],
- "manifest", "--manifest process manifest output", &opts["manifest"],
- "hide-ocn", "--hide-ocn object cite numbers", &opts["hide-ocn"],
- "ocn-off", "--ocn-off object cite numbers", &opts["ocn-off"],
- "odf", "--odf open document format text (--odt)", &opts["odf"],
- "odt", "--odt open document format text", &opts["odt"],
- "output", "--output=/path/to/output/dir specify where to place output", &settings["output"],
- "parallel", "--parallel parallelisation", &opts["parallel"],
- "parallel-subprocesses", "--parallel-subprocesses nested parallelisation", &opts["parallel-subprocesses"],
- "quiet|q", "--quiet output to terminal", &opts["quiet"],
- "pdf", "--pdf latex output for pdfs", &opts["pdf"],
- "pdf-color-links", "--pdf-color-links mono or color links for pdfs", &opts["pdf-color-links"],
- "pod", "--pod spine (doc reform) pod source content bundled", &opts["pod"],
- "serial", "--serial serial processing", &opts["serial"],
- "show-summary", "--show-summary", &opts["show-summary"],
- "show-make", "--show-make", &opts["show-make"],
- "show-metadata", "--show-metadata", &opts["show-metadata"],
- "show-config", "--show-config", &opts["show-config"],
- "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-delete process sqlite output", &opts["sqlite-delete"],
- "sqlite-insert", "--sqlite-insert process sqlite output", &opts["sqlite-insert"],
- "sqlite-update", "--sqlite-update 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"],
- "sqlite-db-filename", "--sqlite-db-filename=[filename].sql.db", &settings["sqlite-filename"],
- "backmatter", "--section-backmatter process document backmatter (default)", &opts["backmatter"],
- "skip-output", "--skip-output", &opts["skip-output"],
- "theme-dark", "--theme-dark alternative dark theme", &opts["theme-dark"],
- "theme-light", "--theme-light default light theme", &opts["theme-light"],
- "workon", "--workon (reserved for some matters under development & testing)", &opts["workon"],
+ "abstraction", "document abstraction ", &opts["abstraction"],
+ "assert", "set optional assertions on", &opts["assertions"],
+ "cgi-search-form-codegen", "generates (pre-compiled) d code for search of specified db", &opts["cgi-search-form-codegen"],
+ "cgi-sqlite-search-filename", "=[filename]", &settings["cgi-sqlite-search-filename"],
+ "concordance", "file for document", &opts["concordance"],
+ "config", "=/path/to/config/file/including/filename", &settings["config"],
+ "dark", "alternative dark theme", &opts["dark"],
+ "debug", "debug", &opts["debug"],
+ "digest", "hash digest for each object", &opts["digest"],
+ "epub", "process epub output", &opts["epub"],
+ "harvest", "extract info on authors & topics from document header metadata", &opts["harvest"],
+ "harvest-authors", "extract info on authors from document header metadata", &opts["harvest-authors"],
+ "harvest-topics", "extract info on topics from document header metadata", &opts["harvest-topics"],
+ "hide-ocn", "object cite numbers", &opts["hide-ocn"],
+ "html", "process html output", &opts["html"],
+ "html-link-harvest", "place links back to harvest in segmented html", &opts["html-link-harvest"],
+ "html-link-search", "html embedded search submission", &opts["html-link-search"],
+ "html-seg", "process html output", &opts["html-seg"],
+ "html-scroll", "process html output", &opts["html-scroll"],
+ "lang", "=[lang code e.g. =en or =en,es]", &settings["lang"],
+ "latex", "output for pdfs", &opts["latex"],
+ "latex-color-links", "mono or color links for pdfs", &opts["latex-color-links"],
+ "light", "default light theme", &opts["light"],
+ "manifest", "process manifest output", &opts["manifest"],
+ "ocn-off", "object cite numbers", &opts["ocn-off"],
+ "odf", "open document format text (--odt)", &opts["odf"],
+ "odt", "open document format text", &opts["odt"],
+ "output", "=/path/to/output/dir specify where to place output", &settings["output"],
+ "parallel", "parallelisation", &opts["parallel"],
+ "parallel-subprocesses", "nested parallelisation", &opts["parallel-subprocesses"],
+ "pdf", "latex output for pdfs", &opts["pdf"],
+ "pdf-color-links", "mono or color links for pdfs", &opts["pdf-color-links"],
+ "pod", "spine (doc reform) pod source content bundled", &opts["pod"],
+ "quiet|q", "output to terminal", &opts["quiet"],
+ "section-backmatter", "document backmatter (default)", &opts["backmatter"],
+ "section-biblio", "document biblio (default)", &opts["section_biblio"],
+ "section-blurb", "document blurb (default)", &opts["section_blurb"],
+ "section-body", "document body (default)", &opts["section_body"],
+ "section-bookindex", "document bookindex (default)", &opts["section_bookindex"],
+ "section-endnotes", "document endnotes (default)", &opts["section_endnotes"],
+ "section-glossary", "document glossary (default)", &opts["section_glossary"],
+ "section-toc", "table of contents (default)", &opts["section_toc"],
+ "serial", "serial processing", &opts["serial"],
+ "skip-output", "skip output", &opts["skip-output"],
+ "show-config", "show config", &opts["show-config"],
+ "show-make", "show make", &opts["show-make"],
+ "show-metadata", "show metadata", &opts["show-metadata"],
+ "show-summary", "show summary", &opts["show-summary"],
+ "source", "document markup source", &opts["source"],
+ "sqlite-discrete", "process discrete sqlite output", &opts["sqlite-discrete"],
+ "sqlite-db-create", "create db, create tables", &opts["sqlite-db-create"],
+ "sqlite-db-drop", "drop tables & db", &opts["sqlite-db-drop"],
+ "sqlite-db-recreate", "create db, create tables", &opts["sqlite-db-recreate"],
+ "sqlite-delete", "sqlite output", &opts["sqlite-delete"],
+ "sqlite-db-filename", "=[filename].sql.db", &settings["sqlite-db-filename"],
+ "sqlite-insert", "sqlite output", &opts["sqlite-insert"],
+ "sqlite-update", "sqlite output", &opts["sqlite-update"],
+ "text", "text output", &opts["text"],
+ "theme-dark", "alternative dark theme", &opts["theme-dark"],
+ "theme-light", "default light theme", &opts["theme-light"],
+ "txt", "text output", &opts["text"],
+ "verbose|v", "output to terminal", &opts["verbose"],
+ "very-verbose", "output to terminal", &opts["very-verbose"],
+ "workon", "(reserved for some matters under development & testing)", &opts["workon"],
+ "xhtml", "xhtml output", &opts["xhtml"],
);
if (helpInfo.helpWanted) {
defaultGetoptPrinter("Some information about the program.", helpInfo.options);
@@ -432,7 +432,9 @@ string program_name = "spine";
return settings["cgi-sqlite-search-filename"];
}
auto cgi_sqlite_search_filename_d() {
- return (settings["cgi-sqlite-search-filename"].translate(['-' : "_"]) ~ ".d");
+ return (settings["cgi-sqlite-search-filename"].length > 0)
+ ? (settings["cgi-sqlite-search-filename"].translate(['-' : "_"]) ~ ".d")
+ : "";
}
@trusted bool parallelise() {
bool _is;