From 4a7e51e00af7e195d276e9781394d23bf9265d9b Mon Sep 17 00:00:00 2001
From: Ralph Amissah <ralph.amissah@gmail.com>
Date: Sat, 11 Apr 2020 19:52:23 -0400
Subject: opt_actions, re-arrangment, minor

---
 src/doc_reform/spine.d | 134 +++++++++++++++++++++++++------------------------
 1 file changed, 68 insertions(+), 66 deletions(-)

(limited to 'src')

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;
-- 
cgit v1.2.3