diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/sdp/meta/doc_debugs.d | 4 | ||||
| -rw-r--r-- | src/sdp/meta/metadoc.d | 13 | ||||
| -rw-r--r-- | src/sdp/meta/metadoc_from_src.d | 175 | ||||
| -rw-r--r-- | src/sdp/meta/metadoc_summary.d | 2 | ||||
| -rw-r--r-- | src/sdp/output/epub3.d | 20 | ||||
| -rw-r--r-- | src/sdp/output/html.d | 36 | ||||
| -rw-r--r-- | src/sdp/output/hub.d | 82 | ||||
| -rw-r--r-- | src/sdp/output/source_sisupod.d | 20 | ||||
| -rw-r--r-- | src/sdp/output/sqlite.d | 40 | ||||
| -rw-r--r-- | src/sdp/output/sqlite_discrete.d | 36 | ||||
| -rwxr-xr-x | src/sdp/sdp.d | 169 | 
11 files changed, 370 insertions, 227 deletions
| diff --git a/src/sdp/meta/doc_debugs.d b/src/sdp/meta/doc_debugs.d index e8ed3e3..2b274a3 100644 --- a/src/sdp/meta/doc_debugs.d +++ b/src/sdp/meta/doc_debugs.d @@ -458,10 +458,10 @@ template SiSUdebugs() {        ];      }      debug(checkdoc) { -      if ((doc_matters.opt_action["debug"])) { +      if ((doc_matters.opt_action.do_debug)) {          debug(checkdoc) {            if (auto mfn=match(doc_matters.source_filename, rgx.src_fn)) { -            if (doc_matters.opt_action["assertions"]) { +            if (doc_matters.opt_action.assertions) {                switch (mfn.captures[2]) {                // live manual:                case "live-manual.ssm": diff --git a/src/sdp/meta/metadoc.d b/src/sdp/meta/metadoc.d index 8d83340..f36af09 100644 --- a/src/sdp/meta/metadoc.d +++ b/src/sdp/meta/metadoc.d @@ -31,10 +31,9 @@ template SiSUabstraction() {    enum makeMeta { make, meta }    enum docAbst  { doc_abstraction, section_keys, segnames, segnames_0_4, images }    static auto rgx = Rgx(); -  auto SiSUabstraction(Fn,O,S,E)( +  auto SiSUabstraction(Fn,O,E)(      Fn fn_src, -    O opts, -    S settings, +    O _opt_action,      E env,    ){      auto sdl_root_config_share = configRead!()("config_share", env); @@ -73,7 +72,7 @@ template SiSUabstraction() {      auto da = SiSUdocAbstraction!()(        _header_body_inserts[headBody.body_content],        _make_and_meta_struct, -      opts +      _opt_action,      );      static assert(!isTypeTuple!(da));      static assert(da.length==5); @@ -116,11 +115,7 @@ template SiSUabstraction() {          return _k;        }        auto opt_action() { -        bool[string] _k = opts; -        return _k; -      } -      auto opt_settings() { -        string[string] _k = settings; +        auto _k = _opt_action;          return _k;        }        auto environment() { diff --git a/src/sdp/meta/metadoc_from_src.d b/src/sdp/meta/metadoc_from_src.d index 24c4699..917b66f 100644 --- a/src/sdp/meta/metadoc_from_src.d +++ b/src/sdp/meta/metadoc_from_src.d @@ -244,7 +244,6 @@ template SiSUdocAbstraction() {      static auto rgx = Rgx();      debug(asserts) {        static assert(is(typeof(markup_sourcefile_content) == char[][])); -      static assert(is(typeof(opt_action)                == bool[string]));      }      /+ ↓ abstraction init +/      scope(success) { @@ -410,7 +409,7 @@ template SiSUdocAbstraction() {            obj_type_status["glossary_section"] = State.off;            obj_type_status["biblio_section"]   = State.on;            obj_type_status["blurb_section"]    = State.off; -          if (opt_action["backmatter"] && opt_action["section_biblio"]) { +          if (opt_action.backmatter && opt_action.section_biblio) {              _biblio_block_(line, obj_type_status, bib_entry, biblio_entry_str_json, biblio_arr_json);              debug(bibliobuild) {                writeln("-  ", biblio_entry_str_json); @@ -431,7 +430,7 @@ template SiSUdocAbstraction() {            obj_type_status["glossary_section"] = State.on;            obj_type_status["biblio_section"]   = State.off;            obj_type_status["blurb_section"]    = State.off; -          if (opt_action["backmatter"] && opt_action["section_glossary"]) { +          if (opt_action.backmatter && opt_action.section_glossary) {              indent=[                "hang_position" : 0,                "base_position" : 0, @@ -513,7 +512,7 @@ template SiSUdocAbstraction() {            obj_type_status["glossary_section"] = State.off;            obj_type_status["biblio_section"]   = State.off;            obj_type_status["blurb_section"]    = State.on; -          if (opt_action["backmatter"] && opt_action["section_blurb"]) { +          if (opt_action.backmatter && opt_action.section_blurb) {              indent=[                "hang_position" : 0,                "base_position" : 0, @@ -563,7 +562,7 @@ template SiSUdocAbstraction() {                comp_obj_heading_.dom_collapsed         = [ 1, 1, 1, 0, 0, 0, 0, 0];                the_blurb_section                       ~= comp_obj_heading_;              } else if (line.matchFirst(rgx.heading) -            && (opt_action["backmatter"] && opt_action["section_blurb"])) { +            && (opt_action.backmatter && opt_action.section_blurb)) {                comp_obj_heading_                       = comp_obj_heading_.init;                comp_obj_heading_.of_part               = "backmatter";                comp_obj_heading_.of_section            = "blurb"; @@ -1374,13 +1373,13 @@ template SiSUdocAbstraction() {            obj.obj_cite_number_type = OCNtype.ocn;          }          /+ dom structure (marked up & collapsed) +/ -        if ((opt_action["html"]) -        || (opt_action["html-scroll"]) -        || (opt_action["html-seg"]) -        || (opt_action["epub"]) -        || (opt_action["sqlite-discrete"]) -        || (opt_action["sqlite-update"]) -        || (opt_action["postgresql"])) { +        if ((opt_action.html) +        || (opt_action.html_scroll) +        || (opt_action.html_seg) +        || (opt_action.epub) +        || (opt_action.sqlite_discrete) +        || (opt_action.sqlite_update) +        || (opt_action.postgresql)) {            obj = obj_dom_structure_set_markup_tags(obj, dom_markedup, obj.heading_lev_markup);            obj = obj_dom_set_collapsed_tags(obj, dom_collapsed, obj.heading_lev_collapsed);          } @@ -1401,13 +1400,13 @@ template SiSUdocAbstraction() {              }            }            /+ dom structure (marked up & collapsed) +/ -          if ((opt_action["html"]) -          || (opt_action["html-scroll"]) -          || (opt_action["html-seg"]) -          || (opt_action["epub"]) -          || (opt_action["sqlite-discrete"]) -          || (opt_action["sqlite-update"]) -          || (opt_action["postgresql"])) { +          if ((opt_action.html) +          || (opt_action.html_scroll) +          || (opt_action.html_seg) +          || (opt_action.epub) +          || (opt_action.sqlite_discrete) +          || (opt_action.sqlite_update) +          || (opt_action.postgresql)) {              obj = obj_dom_structure_set_markup_tags(obj, dom_markedup, obj.heading_lev_markup);              obj = obj_dom_set_collapsed_tags(obj, dom_collapsed, obj.heading_lev_collapsed);            } @@ -1429,10 +1428,10 @@ template SiSUdocAbstraction() {                assert(obj.segment_anchor_tag == html_segnames[obj.ptr_html_segnames]);              }            } -          if ((opt_action["html"]) -          || (opt_action["html-scroll"]) -          || (opt_action["html-seg"]) -          || (opt_action["epub"])) { +          if ((opt_action.html) +          || (opt_action.html_scroll) +          || (opt_action.html_seg) +          || (opt_action.epub)) {              obj = obj_dom_structure_set_markup_tags(obj, dom_markedup, obj.heading_lev_markup);              obj = obj_dom_set_collapsed_tags(obj, dom_collapsed, obj.heading_lev_collapsed);            } @@ -1459,13 +1458,13 @@ template SiSUdocAbstraction() {              }            }            /+ dom structure (marked up & collapsed) +/ -          if ((opt_action["html"]) -          || (opt_action["html-scroll"]) -          || (opt_action["html-seg"]) -          || (opt_action["epub"]) -          || (opt_action["sqlite-discrete"]) -          || (opt_action["sqlite-update"]) -          || (opt_action["postgresql"])) { +          if ((opt_action.html) +          || (opt_action.html_scroll) +          || (opt_action.html_seg) +          || (opt_action.epub) +          || (opt_action.sqlite_discrete) +          || (opt_action.sqlite_update) +          || (opt_action.postgresql)) {              obj = obj_dom_structure_set_markup_tags(obj, dom_markedup, obj.heading_lev_markup);              obj = obj_dom_set_collapsed_tags(obj, dom_collapsed, obj.heading_lev_collapsed);            } @@ -1501,13 +1500,13 @@ template SiSUdocAbstraction() {              }            }            /+ dom structure (marked up & collapsed) +/ -          if ((opt_action["html"]) -          || (opt_action["html-scroll"]) -          || (opt_action["html-seg"]) -          || (opt_action["epub"]) -          || (opt_action["sqlite-discrete"]) -          || (opt_action["sqlite-update"]) -          || (opt_action["postgresql"])) { +          if ((opt_action.html) +          || (opt_action.html_scroll) +          || (opt_action.html_seg) +          || (opt_action.epub) +          || (opt_action.sqlite_discrete) +          || (opt_action.sqlite_update) +          || (opt_action.postgresql)) {              obj = obj_dom_structure_set_markup_tags(obj, dom_markedup, obj.heading_lev_markup);              obj = obj_dom_set_collapsed_tags(obj, dom_collapsed, obj.heading_lev_collapsed);            } @@ -1536,13 +1535,13 @@ template SiSUdocAbstraction() {              }            }            /+ dom structure (marked up & collapsed) +/ -          if ((opt_action["html"]) -          || (opt_action["html-scroll"]) -          || (opt_action["html-seg"]) -          || (opt_action["epub"]) -          || (opt_action["sqlite-discrete"]) -          || (opt_action["sqlite-update"]) -          || (opt_action["postgresql"])) { +          if ((opt_action.html) +          || (opt_action.html_scroll) +          || (opt_action.html_seg) +          || (opt_action.epub) +          || (opt_action.sqlite_discrete) +          || (opt_action.sqlite_update) +          || (opt_action.postgresql)) {              obj = obj_dom_structure_set_markup_tags(obj, dom_markedup, obj.heading_lev_markup);              obj = obj_dom_set_collapsed_tags(obj, dom_collapsed, obj.heading_lev_collapsed);            } @@ -1575,13 +1574,13 @@ template SiSUdocAbstraction() {              }            }            /+ dom structure (marked up & collapsed) +/ -          if ((opt_action["html"]) -          || (opt_action["html-scroll"]) -          || (opt_action["html-seg"]) -          || (opt_action["epub"]) -          || (opt_action["sqlite-discrete"]) -          || (opt_action["sqlite-update"]) -          || (opt_action["postgresql"])) { +          if ((opt_action.html) +          || (opt_action.html_scroll) +          || (opt_action.html_seg) +          || (opt_action.epub) +          || (opt_action.sqlite_discrete) +          || (opt_action.sqlite_update) +          || (opt_action.postgresql)) {              obj = obj_dom_structure_set_markup_tags(obj, dom_markedup, obj.heading_lev_markup);              obj = obj_dom_set_collapsed_tags(obj, dom_collapsed, obj.heading_lev_collapsed);            } @@ -1619,13 +1618,13 @@ template SiSUdocAbstraction() {              }            }            /+ dom structure (marked up & collapsed) +/ -          if ((opt_action["html"]) -          || (opt_action["html-scroll"]) -          || (opt_action["html-seg"]) -          || (opt_action["epub"]) -          || (opt_action["sqlite-discrete"]) -          || (opt_action["sqlite-update"]) -          || (opt_action["postgresql"])) { +          if ((opt_action.html) +          || (opt_action.html_scroll) +          || (opt_action.html_seg) +          || (opt_action.epub) +          || (opt_action.sqlite_discrete) +          || (opt_action.sqlite_update) +          || (opt_action.postgresql)) {              obj = obj_dom_structure_set_markup_tags(obj, dom_markedup, obj.heading_lev_markup);              obj = obj_dom_set_collapsed_tags(obj, dom_collapsed, obj.heading_lev_collapsed);            } @@ -1658,13 +1657,13 @@ template SiSUdocAbstraction() {              }            }            /+ dom structure (marked up & collapsed) +/ -          if ((opt_action["html"]) -          || (opt_action["html-scroll"]) -          || (opt_action["html-seg"]) -          || (opt_action["epub"]) -          || (opt_action["sqlite-discrete"]) -          || (opt_action["sqlite-update"]) -          || (opt_action["postgresql"])) { +          if ((opt_action.html) +          || (opt_action.html_scroll) +          || (opt_action.html_seg) +          || (opt_action.epub) +          || (opt_action.sqlite_discrete) +          || (opt_action.sqlite_update) +          || (opt_action.postgresql)) {              obj = obj_dom_structure_set_markup_tags(obj, dom_markedup, obj.heading_lev_markup);              obj = obj_dom_set_collapsed_tags(obj, dom_collapsed, obj.heading_lev_collapsed);            } @@ -1701,13 +1700,13 @@ template SiSUdocAbstraction() {              }            }            /+ dom structure (marked up & collapsed) +/ -          if ((opt_action["html"]) -          || (opt_action["html-scroll"]) -          || (opt_action["html-seg"]) -          || (opt_action["epub"]) -          || (opt_action["sqlite-discrete"]) -          || (opt_action["sqlite-update"]) -          || (opt_action["postgresql"])) { +          if ((opt_action.html) +          || (opt_action.html_scroll) +          || (opt_action.html_seg) +          || (opt_action.epub) +          || (opt_action.sqlite_discrete) +          || (opt_action.sqlite_update) +          || (opt_action.postgresql)) {              obj = obj_dom_structure_set_markup_tags(obj, dom_markedup, obj.heading_lev_markup);              obj = obj_dom_set_collapsed_tags(obj, dom_collapsed, obj.heading_lev_collapsed);            } @@ -1793,10 +1792,10 @@ template SiSUdocAbstraction() {        document_section_keys_sequenced["scroll"] ~= "blurb";        document_section_keys_sequenced["sql"]    ~= "blurb";      } -    if ((opt_action["html"]) -    || (opt_action["html-scroll"]) -    || (opt_action["html-seg"]) -    || (opt_action["epub"])) { +    if ((opt_action.html) +    || (opt_action.html_scroll) +    || (opt_action.html_seg) +    || (opt_action.epub)) {        document_section_keys_sequenced["seg"]    ~= "tail";        document_section_keys_sequenced["scroll"] ~= "tail";      } @@ -3012,7 +3011,6 @@ template SiSUdocAbstraction() {        static assert(is(typeof(book_idx_tmp)    == string));        static assert(is(typeof(an_object)       == string[string]));        static assert(is(typeof(obj_type_status) == int[string])); -      static assert(is(typeof(opt_action)      == bool[string]));      }      static auto rgx = Rgx();      if (auto m = line.match(rgx.book_index)) { @@ -3027,7 +3025,7 @@ template SiSUdocAbstraction() {      } else if (auto m = line.match(rgx.book_index_open))  {        /+ match open book_index +/        obj_type_status["book_index"] = State.on; -      if (opt_action["backmatter"] && opt_action["section_bookindex"]) { +      if (opt_action.backmatter && opt_action.section_bookindex) {          book_idx_tmp = m.captures[1].to!string;          debug(bookindexmatch) {                       // book index            writefln( @@ -3040,8 +3038,8 @@ template SiSUdocAbstraction() {        /+ book_index flag set +/        if (auto m = line.match(rgx.book_index_close))  {          obj_type_status["book_index"] = State.off; -        if (opt_action["backmatter"] -        && opt_action["section_bookindex"]) { +        if (opt_action.backmatter +        && opt_action.section_bookindex) {            an_object["bookindex_nugget"] = book_idx_tmp ~ m.captures[1].to!string;            debug(bookindexmatch) {                     // book index              writefln( @@ -3052,8 +3050,8 @@ template SiSUdocAbstraction() {          }          book_idx_tmp = "";        } else { -        if (opt_action["backmatter"] -        && opt_action["section_bookindex"]) { +        if (opt_action.backmatter +        && opt_action.section_bookindex) {            book_idx_tmp ~= line;          }        } @@ -4870,7 +4868,6 @@ template SiSUdocAbstraction() {        debug(asserts) {          static assert(is(typeof(bookindex_unordered_hashes)                == string[][string][string]));          static assert(is(typeof(obj_cite_digits.on)                        == int)); -        static assert(is(typeof(opt_action)                                == bool[string]));        }        mixin SiSUnode;        mixin InternalMarkup; @@ -4887,8 +4884,8 @@ template SiSUdocAbstraction() {        auto node_para_int_ = node_metadata_para_int;        auto node_para_str_ = node_metadata_para_str;        if ((mainkeys.length > 0) -      && (opt_action["backmatter"] -      && opt_action["section_bookindex"])) { +      && (opt_action.backmatter +      && opt_action.section_bookindex)) {          string bi_tmp_seg, bi_tmp_scroll;          string[] bi_tmp_tags;          comp_obj_heading_                       = comp_obj_heading_.init; @@ -5104,9 +5101,9 @@ template SiSUdocAbstraction() {        }        return endnotes_;      } -    private auto endnote_objects(N)( +    private auto endnote_objects(N,O)(        N              obj_cite_digits, -      bool[string]   opt_action, +      O              opt_action,      )      in {      } @@ -5120,7 +5117,7 @@ template SiSUdocAbstraction() {        int[string] indent;        ObjGenericComposite comp_obj_heading_;        if ((endnotes_["notes"].length > 0) -      && (opt_action["backmatter"] && opt_action["section_endnotes"])) { +      && (opt_action.backmatter && opt_action.section_endnotes)) {          comp_obj_heading_                       = comp_obj_heading_.init;          comp_obj_heading_.of_part               = "backmatter";          comp_obj_heading_.of_section            = "endnotes"; @@ -5176,7 +5173,7 @@ template SiSUdocAbstraction() {          comp_obj_heading_.parent_lev_markup     = 0;          the_endnotes_section                    ~= comp_obj_heading_;        } -      if (opt_action["backmatter"] && opt_action["section_endnotes"]) { +      if (opt_action.backmatter && opt_action.section_endnotes) {          ObjGenericComposite comp_obj_endnote_;          comp_obj_endnote_                       = comp_obj_endnote_.init;          comp_obj_endnote_.of_part               = "backmatter"; diff --git a/src/sdp/meta/metadoc_summary.d b/src/sdp/meta/metadoc_summary.d index 45fd319..c1e3f76 100644 --- a/src/sdp/meta/metadoc_summary.d +++ b/src/sdp/meta/metadoc_summary.d @@ -20,7 +20,7 @@ template SiSUabstractionSummary() {        std.conv : to;      mixin InternalMarkup;      auto markup = InlineMarkup(); -    if (doc_matters.opt_action["verbose"]) { +    if (doc_matters.opt_action.verbose) {        string[string] check = [          "last_obj_cite_number" : "NA [debug \"checkdoc\" not run]",          "last_obj_cite_number_body"  : "0", diff --git a/src/sdp/output/epub3.d b/src/sdp/output/epub3.d index b6987ae..78603b2 100644 --- a/src/sdp/output/epub3.d +++ b/src/sdp/output/epub3.d @@ -356,13 +356,13 @@ template outputEPub3() {              doc_epub3_endnotes[segment_filename] ~= t[1];              break;            case 8: .. case 9: -            if ((doc_matters.opt_action["debug"])) { +            if ((doc_matters.opt_action.debug_do)) {                writeln(__FILE__, ":", __LINE__, ": ", obj.is_a, ": ", obj.heading_lev_markup);                writeln(__FILE__, ":", __LINE__, ": ", obj.text);              }              break;            default: -            if ((doc_matters.opt_action["debug"])) { +            if ((doc_matters.opt_action.debug_do)) {                writeln(__FILE__, ":", __LINE__, ": ", obj.is_a, ": ", obj.heading_lev_markup);              }              break; @@ -380,14 +380,14 @@ template outputEPub3() {                  doc_epub3_endnotes[segment_filename] ~= t[1];                  break;                default: -                if ((doc_matters.opt_action["debug"])) { +                if ((doc_matters.opt_action.debug_do)) {                    writeln(__FILE__, ":", __LINE__, ": ", obj.is_a);                  }                  break;                }                break;              default: -              if ((doc_matters.opt_action["debug"])) { +              if ((doc_matters.opt_action.debug_do)) {                  writeln(__FILE__, ":", __LINE__, ": ", obj.is_of);                }                break; @@ -403,7 +403,7 @@ template outputEPub3() {                  doc_epub3_endnotes[segment_filename] ~= t[1];                  break;                default: -                if ((doc_matters.opt_action["debug"])) { +                if ((doc_matters.opt_action.debug_do)) {                    writeln(__FILE__, ":", __LINE__, ": ", obj.is_a);                  }                  break; @@ -442,14 +442,14 @@ template outputEPub3() {                  doc_epub3_endnotes[segment_filename] ~= t[1];                  break;                default: -                if ((doc_matters.opt_action["debug"])) { +                if ((doc_matters.opt_action.debug_do)) {                    writeln(__FILE__, ":", __LINE__, ": ", obj.is_a);                  }                  break;                }                break;              default: -              if ((doc_matters.opt_action["debug"])) { +              if ((doc_matters.opt_action.debug_do)) {                  writeln(__FILE__, ":", __LINE__, ": ", obj.is_of);                }                break; @@ -485,14 +485,14 @@ template outputEPub3() {                  doc_epub3_endnotes[segment_filename] ~= t[1];                  break;                default: -                if ((doc_matters.opt_action["debug"])) { +                if ((doc_matters.opt_action.debug_do)) {                    writeln(__FILE__, ":", __LINE__, ": ", obj.is_a);                  }                  break;                }                break;              default: -              if ((doc_matters.opt_action["debug"])) { +              if ((doc_matters.opt_action.debug_do)) {                  writeln(__FILE__, ":", __LINE__, ": ", obj.is_of);                }                break; @@ -501,7 +501,7 @@ template outputEPub3() {            case "comment":              break;            default: -            if ((doc_matters.opt_action["debug"])) { +            if ((doc_matters.opt_action.debug_do)) {                writeln(__FILE__, ":", __LINE__, ": ", obj.of_part);              }              break; diff --git a/src/sdp/output/html.d b/src/sdp/output/html.d index 7ed649e..b0b0405 100644 --- a/src/sdp/output/html.d +++ b/src/sdp/output/html.d @@ -40,14 +40,14 @@ template outputHTML() {                doc_html ~= xhtml_format.para_scroll(obj, _txt, suffix);                break;              default: -              if ((doc_matters.opt_action["debug"])) { +              if ((doc_matters.opt_action.debug_do)) {                  writeln(__FILE__, ":", __LINE__, ": ", obj.is_a);                }                break;              }              break;            default: -            if ((doc_matters.opt_action["debug"])) { +            if ((doc_matters.opt_action.debug_do)) {                writeln(__FILE__, ":", __LINE__, ": ", obj.is_of);              }              break; @@ -64,7 +64,7 @@ template outputHTML() {                doc_html ~= xhtml_format.para_scroll(obj, _txt, suffix);                break;              default: -              if ((doc_matters.opt_action["debug"])) { +              if ((doc_matters.opt_action.debug_do)) {                  writeln(__FILE__, ":", __LINE__, ": ", obj.is_a);                }                break; @@ -93,14 +93,14 @@ template outputHTML() {                doc_html ~= xhtml_format.table(obj, _txt);                break;              default: -              if ((doc_matters.opt_action["debug"])) { +              if ((doc_matters.opt_action.debug_do)) {                  writeln(__FILE__, ":", __LINE__, ": ", obj.is_a);                }                break;              }              break;            default: -            if ((doc_matters.opt_action["debug"])) { +            if ((doc_matters.opt_action.debug_do)) {                writeln(__FILE__, ":", __LINE__, ": ", obj.is_of);              }              break; @@ -130,14 +130,14 @@ template outputHTML() {                doc_html ~= xhtml_format.para_scroll(obj, _txt, suffix);                break;              default: -              if ((doc_matters.opt_action["debug"])) { +              if ((doc_matters.opt_action.debug_do)) {                  writeln(__FILE__, ":", __LINE__, ": ", obj.is_a);                }                break;              }              break;            default: -            if ((doc_matters.opt_action["debug"])) { +            if ((doc_matters.opt_action.debug_do)) {                writeln(__FILE__, ":", __LINE__, ": ", obj.is_of);              }              break; @@ -146,7 +146,7 @@ template outputHTML() {          case "comment":            break;          default: -          if ((doc_matters.opt_action["debug"])) { +          if ((doc_matters.opt_action.debug_do)) {              writeln(__FILE__, ":", __LINE__, ": ", obj.of_part);              writeln(__FILE__, ":", __LINE__, ": ", obj.is_a);              writeln(__FILE__, ":", __LINE__, ": ", obj.text); @@ -254,13 +254,13 @@ template outputHTML() {              doc_html_endnotes[segment_filename] ~= t[1];              break;            case 8: .. case 9: -            if ((doc_matters.opt_action["debug"])) { +            if ((doc_matters.opt_action.debug_do)) {                writeln(__FILE__, ":", __LINE__, ": ", obj.is_a, ": ", obj.heading_lev_markup);                writeln(__FILE__, ":", __LINE__, ": ", obj.text);              }              break;            default: -            if ((doc_matters.opt_action["debug"])) { +            if ((doc_matters.opt_action.debug_do)) {                writeln(__FILE__, ":", __LINE__, ": ", obj.is_a, ": ", obj.heading_lev_markup);              }              break; @@ -277,14 +277,14 @@ template outputHTML() {                  doc_html[segment_filename] ~= to!string(t[0]);                  break;                default: -                if ((doc_matters.opt_action["debug"])) { +                if ((doc_matters.opt_action.debug_do)) {                    writeln(__FILE__, ":", __LINE__, ": ", obj.is_a);                  }                  break;                }                break;              default: -              if ((doc_matters.opt_action["debug"])) { +              if ((doc_matters.opt_action.debug_do)) {                  writeln(__FILE__, ":", __LINE__, ": ", obj.is_a);                }                break; @@ -300,7 +300,7 @@ template outputHTML() {                  doc_html_endnotes[segment_filename] ~= t[1];                  break;                default: -                if ((doc_matters.opt_action["debug"])) { +                if ((doc_matters.opt_action.debug_do)) {                    writeln(__FILE__, ":", __LINE__, ": ", obj.is_a);                  }                  break; @@ -338,14 +338,14 @@ template outputHTML() {                  doc_html_endnotes[segment_filename] ~= "";                  break;                default: -                if ((doc_matters.opt_action["debug"])) { +                if ((doc_matters.opt_action.debug_do)) {                    writeln(__FILE__, ":", __LINE__, ": ", obj.is_a);                  }                  break;                }                break;              default: -              if ((doc_matters.opt_action["debug"])) { +              if ((doc_matters.opt_action.debug_do)) {                  writeln(__FILE__, ":", __LINE__, ": ", obj.is_of);                }                break; @@ -381,14 +381,14 @@ template outputHTML() {                  doc_html_endnotes[segment_filename] ~= t[1];                  break;                default: -                if ((doc_matters.opt_action["debug"])) { +                if ((doc_matters.opt_action.debug_do)) {                    writeln(__FILE__, ":", __LINE__, ": ", obj.is_a);                  }                  break;                }                break;              default: -              if ((doc_matters.opt_action["debug"])) { +              if ((doc_matters.opt_action.debug_do)) {                  writeln(__FILE__, ":", __LINE__, ": ", obj.is_of);                }                break; @@ -397,7 +397,7 @@ template outputHTML() {            case "comment":              break;            default: -            if ((doc_matters.opt_action["debug"])) { +            if ((doc_matters.opt_action.debug_do)) {                writeln(__FILE__, ":", __LINE__, ": ", obj.of_part);              }              break; diff --git a/src/sdp/output/hub.d b/src/sdp/output/hub.d index 4f5a363..1600dd2 100644 --- a/src/sdp/output/hub.d +++ b/src/sdp/output/hub.d @@ -16,73 +16,73 @@ template outputHub() {    void outputHub(D,I)(D doc_abstraction, I doc_matters) {      mixin SiSUoutputRgxInit;      static auto rgx = Rgx(); -    if ((doc_matters.opt_action["verbose"])) { +    if ((doc_matters.opt_action.verbose)) {        writeln(doc_matters.keys_seq.seg);      } -    if ((doc_matters.opt_action["source"]) -    || (doc_matters.opt_action["sisupod"])) { -      if ((doc_matters.opt_action["verbose"]) -      && (doc_matters.opt_action["source"])) +    if ((doc_matters.opt_action.source) +    || (doc_matters.opt_action.sisupod)) { +      if ((doc_matters.opt_action.verbose) +      && (doc_matters.opt_action.source))          { writeln("sisu source processing... "); } -      if ((doc_matters.opt_action["verbose"]) -      && (doc_matters.opt_action["sisupod"])) +      if ((doc_matters.opt_action.verbose) +      && (doc_matters.opt_action.sisupod))          { writeln("sisupod source processing... "); }        SiSUpod!()(doc_matters); -      if ((doc_matters.opt_action["verbose"]) -      && (doc_matters.opt_action["debug"]) -      && (doc_matters.opt_action["source"])) +      if ((doc_matters.opt_action.verbose) +      && (doc_matters.opt_action.debug_do) +      && (doc_matters.opt_action.source))          { writeln("sisu source done"); } -      if ((doc_matters.opt_action["verbose"]) -      && (doc_matters.opt_action["debug"]) -      && (doc_matters.opt_action["sisupod"])) +      if ((doc_matters.opt_action.verbose) +      && (doc_matters.opt_action.debug_do) +      && (doc_matters.opt_action.sisupod))          { writeln("sisupod done"); }      } -    if (doc_matters.opt_action["text"]) { +    if (doc_matters.opt_action.text) {        /+ mixin outputText; +/ -      if ((doc_matters.opt_action["verbose"])) { writeln("text processing... "); } +      if ((doc_matters.opt_action.verbose)) { writeln("text processing... "); }      } -    if (doc_matters.opt_action["html"]) { -      if ((doc_matters.opt_action["verbose"])) { writeln("html scroll processing... "); } +    if (doc_matters.opt_action.html) { +      if ((doc_matters.opt_action.verbose)) { writeln("html scroll processing... "); }        outputHTML!().scroll(doc_abstraction, doc_matters); -      if ((doc_matters.opt_action["verbose"]) && (doc_matters.opt_action["debug"])) { writeln("html scroll done"); } -      if ((doc_matters.opt_action["verbose"])) { writeln("html seg processing... "); } +      if ((doc_matters.opt_action.verbose) && (doc_matters.opt_action.debug_do)) { writeln("html scroll done"); } +      if ((doc_matters.opt_action.verbose)) { writeln("html seg processing... "); }        outputHTML!().seg(doc_abstraction, doc_matters); -      if ((doc_matters.opt_action["verbose"]) && (doc_matters.opt_action["debug"])) { writeln("html seg done"); } +      if ((doc_matters.opt_action.verbose) && (doc_matters.opt_action.debug_do)) { writeln("html seg done"); }        outputHTML!().css(doc_matters); -    } else if (doc_matters.opt_action["html-seg"]) { -      if ((doc_matters.opt_action["verbose"])) { writeln("html seg processing... "); } +    } else if (doc_matters.opt_action.html_seg) { +      if ((doc_matters.opt_action.verbose)) { writeln("html seg processing... "); }        outputHTML!().seg(doc_abstraction, doc_matters); -      if ((doc_matters.opt_action["verbose"]) && (doc_matters.opt_action["debug"])) { writeln("html seg done"); } +      if ((doc_matters.opt_action.verbose) && (doc_matters.opt_action.debug_do)) { writeln("html seg done"); }        outputHTML!().css(doc_matters); -    } else if (doc_matters.opt_action["html-scroll"]) { -      if ((doc_matters.opt_action["verbose"])) { writeln("html scroll processing... "); } +    } else if (doc_matters.opt_action.html_scroll) { +      if ((doc_matters.opt_action.verbose)) { writeln("html scroll processing... "); }        outputHTML!().scroll(doc_abstraction, doc_matters); -      if ((doc_matters.opt_action["verbose"]) && (doc_matters.opt_action["debug"])) { writeln("html scroll done"); } +      if ((doc_matters.opt_action.verbose) && (doc_matters.opt_action.debug_do)) { writeln("html scroll done"); }        outputHTML!().css(doc_matters);      } -    if (doc_matters.opt_action["epub"]) { -      if ((doc_matters.opt_action["verbose"])) { writeln("epub3 processing... "); } +    if (doc_matters.opt_action.epub) { +      if ((doc_matters.opt_action.verbose)) { writeln("epub3 processing... "); }        outputEPub3!()(doc_abstraction, doc_matters);        // epub.css_write; -      if ((doc_matters.opt_action["verbose"]) && (doc_matters.opt_action["debug"])) { writeln("epub3 done"); } +      if ((doc_matters.opt_action.verbose) && (doc_matters.opt_action.debug_do)) { writeln("epub3 done"); }      } -    if (doc_matters.opt_action["pdf"]) { +    if (doc_matters.opt_action.pdf) {        /+ mixin outputPDF; +/        writeln("pdf processing");      } -    if (doc_matters.opt_action["odt"]) { +    if (doc_matters.opt_action.odt) {        /+ mixin outputODT; +/        writeln("odt processing");      } -    if (doc_matters.opt_action["sqlite-discrete"]) { -      if ((doc_matters.opt_action["verbose"])) { writeln("sqlite processing... "); } +    if (doc_matters.opt_action.sqlite_discrete) { +      if ((doc_matters.opt_action.verbose)) { writeln("sqlite processing... "); }        SQLiteDiscreteBuildTablesAndPopulate!()(doc_abstraction, doc_matters);      } -    if (doc_matters.opt_action["sqlite-update"]) { -      if ((doc_matters.opt_action["verbose"])) { writeln("sqlite processing... "); } +    if (doc_matters.opt_action.sqlite_update) { +      if ((doc_matters.opt_action.verbose)) { writeln("sqlite processing... "); }        SQLiteBuildTablesAndPopulate!()(doc_abstraction, doc_matters);      } -    if (doc_matters.opt_action["postgresql"]) { +    if (doc_matters.opt_action.postgresql) {        /+ mixin outputPostgreSQL; +/        writeln("pgsql processing");      } @@ -98,15 +98,15 @@ template outputHubOp() {      sdp.output.source_sisupod,      sdp.output.create_zip_file,      sdp.output.paths_output; -  void outputHubOp(C)(C config) { +  void outputHubOp(O)(O opt_action) {      mixin SiSUoutputRgxInit;      static auto rgx = Rgx(); -    if ((config["sqlite-create"])) { -      if ((config["verbose"])) { writeln("sqlite create table... "); } +    if ((opt_action.sqlite_create)) { +      if ((opt_action.verbose)) { writeln("sqlite create table... "); }        SQLiteTablesCreate!()();      } -    if ((config["sqlite-drop"])) { -      if ((config["verbose"])) { writeln("sqlite drop table... "); } +    if ((opt_action.sqlite_drop)) { +      if ((opt_action.verbose)) { writeln("sqlite drop table... "); }        SQLiteTablesDrop!()();      }    } diff --git a/src/sdp/output/source_sisupod.d b/src/sdp/output/source_sisupod.d index d83ae87..6e06667 100644 --- a/src/sdp/output/source_sisupod.d +++ b/src/sdp/output/source_sisupod.d @@ -30,7 +30,7 @@ template SiSUpod() {          // used both by sisupod zipped (& sisupod filesystem (unzipped) which makes its own recursive dirs)          pths_sisupod.sisupod_dir_().mkdirRecurse;        } -      if (doc_matters.opt_action["source"]) { +      if (doc_matters.opt_action.source) {          if (!exists(pths_sisupod.text_root(doc_matters.source_filename).filesystem_open_zpod)) {            pths_sisupod.text_root(doc_matters.source_filename).filesystem_open_zpod.mkdirRecurse;          } @@ -70,10 +70,10 @@ template SiSUpod() {            auto fn_src_out_sisupod_zip_base = pths_sisupod.image_root(doc_matters.source_filename).zpod.to!string ~ "/" ~ image;            auto fn_src_out_filesystem = pths_sisupod.image_root(doc_matters.source_filename).filesystem_open_zpod.to!string ~ "/" ~ image;            if (exists(fn_src_in)) { -            if (doc_matters.opt_action["source"]) { +            if (doc_matters.opt_action.source) {                fn_src_in.copy(fn_src_out_filesystem);              } -            if (doc_matters.opt_action["sisupod"]) { +            if (doc_matters.opt_action.sisupod) {                auto zip_arc_member_file = new ArchiveMember();                zip_arc_member_file.name = fn_src_out_sisupod_zip_base;                auto zip_data = new OutBuffer(); @@ -88,10 +88,10 @@ template SiSUpod() {          auto fn_src_out_sisupod_zip_base = pths_sisupod.conf_root(doc_matters.source_filename).zpod.to!string ~ "/" ~ "sisu_document_make";          auto fn_src_out_filesystem = pths_sisupod.conf_root(doc_matters.source_filename).filesystem_open_zpod.to!string ~ "/" ~ "sisu_document_make";          if (exists(fn_src_in)) { -          if (doc_matters.opt_action["source"]) { +          if (doc_matters.opt_action.source) {              fn_src_in.copy(fn_src_out_filesystem);            } -          if (doc_matters.opt_action["sisupod"]) { +          if (doc_matters.opt_action.sisupod) {              auto zip_arc_member_file = new ArchiveMember();              zip_arc_member_file.name = fn_src_out_sisupod_zip_base;              auto zip_data = new OutBuffer(); @@ -110,14 +110,14 @@ template SiSUpod() {          if (exists(fn_src_in)) {            filelist_src_out_sisupod_arr    ~= fn_src_out_sisupod_zip_base;            filelist_src_zpod_arr ~= fn_src_out_inside_pod; -          if (doc_matters.opt_action["source"]) { +          if (doc_matters.opt_action.source) {              auto filelist = File(pths_sisupod.fn_pod_filelist(doc_matters.source_filename).filesystem_open_zpod, "w");              foreach (source_pth_and_fn; filelist_src_zpod_arr) {                filelist.writeln(source_pth_and_fn);              }              fn_src_in.copy(fn_src_out_filesystem);            } -          if (doc_matters.opt_action["sisupod"]) { +          if (doc_matters.opt_action.sisupod) {              auto zip_arc_member_file = new ArchiveMember();              zip_arc_member_file.name = fn_src_out_sisupod_zip_base;              auto zip_data = new OutBuffer(); @@ -150,10 +150,10 @@ template SiSUpod() {                  insert_file,                ).filesystem_open_zpod.to!string;              if (exists(fn_src_in)) { -              if (doc_matters.opt_action["source"]) { +              if (doc_matters.opt_action.source) {                  fn_src_in.copy(fn_src_out_filesystem);                } -              if (doc_matters.opt_action["sisupod"]) { +              if (doc_matters.opt_action.sisupod) {                  auto zip_arc_member_file = new ArchiveMember();                  zip_arc_member_file.name = fn_src_out_sisupod_zip_base;                  auto zip_data = new OutBuffer(); @@ -168,7 +168,7 @@ template SiSUpod() {        } {          auto fn_src_in = doc_matters.source_filename;          if (exists(fn_src_in)) { -          if (doc_matters.opt_action["sisupod"]) { +          if (doc_matters.opt_action.sisupod) {              createZipFile!()(fn_sisupod, zip.build());            }          } diff --git a/src/sdp/output/sqlite.d b/src/sdp/output/sqlite.d index 6a9acd2..591b002 100644 --- a/src/sdp/output/sqlite.d +++ b/src/sdp/output/sqlite.d @@ -44,7 +44,7 @@ template SQLiteBuildTablesAndPopulate() {              if (_urls.length > 0) {                _txt ~= _urls;              } -            if (doc_matters.opt_action["debug"]) { +            if (doc_matters.opt_action.debug_do) {                writeln(_txt, "\n");              }              debug(sql_text_clean) { @@ -96,7 +96,7 @@ template SQLiteBuildTablesAndPopulate() {              if (_notes.length > 0) {                _txt ~= _notes;              } -            if (doc_matters.opt_action["debug"]) { +            if (doc_matters.opt_action.debug_do) {                writeln(_txt, "\n");              }              return _txt; @@ -303,7 +303,7 @@ template SQLiteBuildTablesAndPopulate() {                "text": generic_munge_sanitize_text_for_search(obj.text),                "html": html_heading(obj)              ]; -            if (doc_matters.opt_action["debug"]) { +            if (doc_matters.opt_action.debug_do) {                debug(sql_txt) {                  writeln(obj_txt["text"]);                } @@ -322,7 +322,7 @@ template SQLiteBuildTablesAndPopulate() {                "text": generic_munge_sanitize_text_for_search(obj.text),                "html": html_para(obj)              ]; -            if (doc_matters.opt_action["debug"]) { +            if (doc_matters.opt_action.debug_do) {                debug(sql_txt) {                  writeln(obj_txt["text"]);                } @@ -341,7 +341,7 @@ template SQLiteBuildTablesAndPopulate() {                "text": generic_munge_sanitize_text_for_search(obj.text),                "html": html_quote(obj)              ]; -            if (doc_matters.opt_action["debug"]) { +            if (doc_matters.opt_action.debug_do) {                debug(sql_txt) {                  writeln(obj_txt["text"]);                } @@ -360,7 +360,7 @@ template SQLiteBuildTablesAndPopulate() {                "text": generic_munge_sanitize_text_for_search(obj.text),                "html": html_group(obj)              ]; -            if (doc_matters.opt_action["debug"]) { +            if (doc_matters.opt_action.debug_do) {                debug(sql_txt) {                  writeln(obj_txt["text"]);                } @@ -379,7 +379,7 @@ template SQLiteBuildTablesAndPopulate() {                "text": generic_munge_sanitize_text_for_search(obj.text),                "html": html_block(obj)              ]; -            if (doc_matters.opt_action["debug"]) { +            if (doc_matters.opt_action.debug_do) {                debug(sql_txt) {                  writeln(obj_txt["text"]);                } @@ -398,7 +398,7 @@ template SQLiteBuildTablesAndPopulate() {                "text": generic_munge_sanitize_text_for_search(obj.text),                "html": html_verse(obj)              ]; -            if (doc_matters.opt_action["debug"]) { +            if (doc_matters.opt_action.debug_do) {                debug(sql_txt) {                  writeln(obj_txt["text"]);                } @@ -417,7 +417,7 @@ template SQLiteBuildTablesAndPopulate() {                "text": generic_munge_sanitize_text_for_search(obj.text),                "html": html_code(obj)              ]; -            if (doc_matters.opt_action["debug"]) { +            if (doc_matters.opt_action.debug_do) {                debug(sql_txt) {                  writeln(obj_txt["text"]);                } @@ -436,7 +436,7 @@ template SQLiteBuildTablesAndPopulate() {                "text": generic_munge_sanitize_text_for_search(obj.text),                "html": html_table(obj)              ]; -            if (doc_matters.opt_action["debug"]) { +            if (doc_matters.opt_action.debug_do) {                debug(sql_txt) {                  writeln(obj_txt["text"]);                } @@ -459,8 +459,8 @@ template SQLiteBuildTablesAndPopulate() {          auto pth_sqlite = SiSUpathsSQLite!()(doc_matters.src_path_info, doc_matters.language);          auto db = Database(pth_sqlite.sqlite_file(doc_matters.environment["pwd"].baseName));          // auto db = Database(":memory:"); // open database in memory -        if (doc_matters.opt_action["sqlite-create"]) { -          if ((doc_matters.opt_action["verbose"])) { writeln("sqlite create tables... "); } +        if (doc_matters.opt_action.sqlite_create) { +          if ((doc_matters.opt_action.verbose)) { writeln("sqlite create tables... "); }            db.run("            DROP TABLE IF EXISTS metadata_and_text;            DROP TABLE IF EXISTS doc_objects; @@ -911,14 +911,14 @@ template SQLiteBuildTablesAndPopulate() {                    obj_txt = format_and_sqlite_load.heading(obj);                    break;                  default: -                  if ((doc_matters.opt_action["debug"])) { +                  if ((doc_matters.opt_action.debug_do)) {                      writeln(__FILE__, ":", __LINE__, ": ", obj.is_a);                    }                    break;                  }                  break;                default: -                if ((doc_matters.opt_action["debug"])) { +                if ((doc_matters.opt_action.debug_do)) {                    writeln(__FILE__, ":", __LINE__, ": ", obj.is_of);                  }                  break; @@ -940,7 +940,7 @@ template SQLiteBuildTablesAndPopulate() {                    obj_txt = format_and_sqlite_load.para(obj);                    break;                  default: -                  if ((doc_matters.opt_action["debug"])) { +                  if ((doc_matters.opt_action.debug_do)) {                      writeln(__FILE__, ":", __LINE__, ": ", obj.is_a);                    }                    break; @@ -969,14 +969,14 @@ template SQLiteBuildTablesAndPopulate() {                    obj_txt = format_and_sqlite_load.table(obj);                    break;                  default: -                  if ((doc_matters.opt_action["debug"])) { +                  if ((doc_matters.opt_action.debug_do)) {                      writeln(__FILE__, ":", __LINE__, ": ", obj.is_a);                    }                    break;                  }                  break;                default: -                if ((doc_matters.opt_action["debug"])) { +                if ((doc_matters.opt_action.debug_do)) {                    writeln(__FILE__, ":", __LINE__, ": ", obj.is_of);                  }                  break; @@ -1006,14 +1006,14 @@ template SQLiteBuildTablesAndPopulate() {                    obj_txt = format_and_sqlite_load.para(obj);                    break;                  default: -                  if ((doc_matters.opt_action["debug"])) { +                  if ((doc_matters.opt_action.debug_do)) {                      writeln(__FILE__, ":", __LINE__, ": ", obj.is_a);                    }                    break;                  }                  break;                default: -                if ((doc_matters.opt_action["debug"])) { +                if ((doc_matters.opt_action.debug_do)) {                    writeln(__FILE__, ":", __LINE__, ": ", obj.is_of);                  }                  break; @@ -1022,7 +1022,7 @@ template SQLiteBuildTablesAndPopulate() {              case "comment":                break;              default: -              if ((doc_matters.opt_action["debug"])) { +              if ((doc_matters.opt_action.debug_do)) {                  writeln(__FILE__, ":", __LINE__, ": ", obj.of_part); // check where empty value could come from                  writeln(__FILE__, ":", __LINE__, ": ", obj.is_a);                  writeln(__FILE__, ":", __LINE__, ": ", obj.text); // check where empty value could come from diff --git a/src/sdp/output/sqlite_discrete.d b/src/sdp/output/sqlite_discrete.d index 132d312..7415f4c 100644 --- a/src/sdp/output/sqlite_discrete.d +++ b/src/sdp/output/sqlite_discrete.d @@ -44,7 +44,7 @@ template SQLiteDiscreteBuildTablesAndPopulate() {              if (_urls.length > 0) {                _txt ~= _urls;              } -            if (doc_matters.opt_action["debug"]) { +            if (doc_matters.opt_action.debug_do) {                writeln(_txt, "\n");              }              debug(sql_text_clean) { @@ -96,7 +96,7 @@ template SQLiteDiscreteBuildTablesAndPopulate() {              if (_notes.length > 0) {                _txt ~= _notes;              } -            if (doc_matters.opt_action["debug"]) { +            if (doc_matters.opt_action.debug_do) {                writeln(_txt, "\n");              }              return _txt; @@ -303,7 +303,7 @@ template SQLiteDiscreteBuildTablesAndPopulate() {                "text": generic_munge_sanitize_text_for_search(obj.text),                "html": html_heading(obj)              ]; -            if (doc_matters.opt_action["debug"]) { +            if (doc_matters.opt_action.debug_do) {                debug(sql_txt) {                  writeln(obj_txt["text"]);                } @@ -322,7 +322,7 @@ template SQLiteDiscreteBuildTablesAndPopulate() {                "text": generic_munge_sanitize_text_for_search(obj.text),                "html": html_para(obj)              ]; -            if (doc_matters.opt_action["debug"]) { +            if (doc_matters.opt_action.debug_do) {                debug(sql_txt) {                  writeln(obj_txt["text"]);                } @@ -341,7 +341,7 @@ template SQLiteDiscreteBuildTablesAndPopulate() {                "text": generic_munge_sanitize_text_for_search(obj.text),                "html": html_quote(obj)              ]; -            if (doc_matters.opt_action["debug"]) { +            if (doc_matters.opt_action.debug_do) {                debug(sql_txt) {                  writeln(obj_txt["text"]);                } @@ -360,7 +360,7 @@ template SQLiteDiscreteBuildTablesAndPopulate() {                "text": generic_munge_sanitize_text_for_search(obj.text),                "html": html_group(obj)              ]; -            if (doc_matters.opt_action["debug"]) { +            if (doc_matters.opt_action.debug_do) {                debug(sql_txt) {                  writeln(obj_txt["text"]);                } @@ -379,7 +379,7 @@ template SQLiteDiscreteBuildTablesAndPopulate() {                "text": generic_munge_sanitize_text_for_search(obj.text),                "html": html_block(obj)              ]; -            if (doc_matters.opt_action["debug"]) { +            if (doc_matters.opt_action.debug_do) {                debug(sql_txt) {                  writeln(obj_txt["text"]);                } @@ -398,7 +398,7 @@ template SQLiteDiscreteBuildTablesAndPopulate() {                "text": generic_munge_sanitize_text_for_search(obj.text),                "html": html_verse(obj)              ]; -            if (doc_matters.opt_action["debug"]) { +            if (doc_matters.opt_action.debug_do) {                debug(sql_txt) {                  writeln(obj_txt["text"]);                } @@ -417,7 +417,7 @@ template SQLiteDiscreteBuildTablesAndPopulate() {                "text": generic_munge_sanitize_text_for_search(obj.text),                "html": html_code(obj)              ]; -            if (doc_matters.opt_action["debug"]) { +            if (doc_matters.opt_action.debug_do) {                debug(sql_txt) {                  writeln(obj_txt["text"]);                } @@ -436,7 +436,7 @@ template SQLiteDiscreteBuildTablesAndPopulate() {                "text": generic_munge_sanitize_text_for_search(obj.text),                "html": html_table(obj)              ]; -            if (doc_matters.opt_action["debug"]) { +            if (doc_matters.opt_action.debug_do) {                debug(sql_txt) {                  writeln(obj_txt["text"]);                } @@ -908,14 +908,14 @@ template SQLiteDiscreteBuildTablesAndPopulate() {                    obj_txt = format_and_sqlite_load.heading(obj);                    break;                  default: -                  if ((doc_matters.opt_action["debug"])) { +                  if ((doc_matters.opt_action.debug_do)) {                      writeln(__FILE__, ":", __LINE__, ": ", obj.is_a);                    }                    break;                  }                  break;                default: -                if ((doc_matters.opt_action["debug"])) { +                if ((doc_matters.opt_action.debug_do)) {                    writeln(__FILE__, ":", __LINE__, ": ", obj.is_of);                  }                  break; @@ -937,7 +937,7 @@ template SQLiteDiscreteBuildTablesAndPopulate() {                    obj_txt = format_and_sqlite_load.para(obj);                    break;                  default: -                  if ((doc_matters.opt_action["debug"])) { +                  if ((doc_matters.opt_action.debug_do)) {                      writeln(__FILE__, ":", __LINE__, ": ", obj.is_a);                    }                    break; @@ -966,14 +966,14 @@ template SQLiteDiscreteBuildTablesAndPopulate() {                    obj_txt = format_and_sqlite_load.table(obj);                    break;                  default: -                  if ((doc_matters.opt_action["debug"])) { +                  if ((doc_matters.opt_action.debug_do)) {                      writeln(__FILE__, ":", __LINE__, ": ", obj.is_a);                    }                    break;                  }                  break;                default: -                if ((doc_matters.opt_action["debug"])) { +                if ((doc_matters.opt_action.debug_do)) {                    writeln(__FILE__, ":", __LINE__, ": ", obj.is_of);                  }                  break; @@ -1003,14 +1003,14 @@ template SQLiteDiscreteBuildTablesAndPopulate() {                    obj_txt = format_and_sqlite_load.para(obj);                    break;                  default: -                  if ((doc_matters.opt_action["debug"])) { +                  if ((doc_matters.opt_action.debug_do)) {                      writeln(__FILE__, ":", __LINE__, ": ", obj.is_a);                    }                    break;                  }                  break;                default: -                if ((doc_matters.opt_action["debug"])) { +                if ((doc_matters.opt_action.debug_do)) {                    writeln(__FILE__, ":", __LINE__, ": ", obj.is_of);                  }                  break; @@ -1019,7 +1019,7 @@ template SQLiteDiscreteBuildTablesAndPopulate() {              case "comment":                break;              default: -              if ((doc_matters.opt_action["debug"])) { +              if ((doc_matters.opt_action.debug_do)) {                  writeln(__FILE__, ":", __LINE__, ": ", obj.of_part); // check where empty value could come from                  writeln(__FILE__, ":", __LINE__, ": ", obj.is_a);                  writeln(__FILE__, ":", __LINE__, ": ", obj.text); // check where empty value could come from diff --git a/src/sdp/sdp.d b/src/sdp/sdp.d index 330fe7a..ac022ba 100755 --- a/src/sdp/sdp.d +++ b/src/sdp/sdp.d @@ -148,6 +148,157 @@ void main(string[] args) {    if (helpInfo.helpWanted) {      defaultGetoptPrinter("Some information about the program.", helpInfo.options);    } +  struct OptActions { +    auto assertions() { +      auto _k = opts["assertions"]; +      return _k; +    } +    auto concordance() { +      auto _k = opts["concordance"]; +      return _k; +    } +    auto debug_do() { +      auto _k = opts["debug"]; +      return _k; +    } +    auto digest() { +      auto _k = opts["digest"]; +      return _k; +    } +    auto docbook() { +      auto _k = opts["docbook"]; +      return _k; +    } +    auto epub() { +      auto _k = opts["epub"]; +      return _k; +    } +    auto html() { +      auto _k = opts["html"]; +      return _k; +    } +    auto html_seg() { +      auto _k = opts["html-seg"]; +      return _k; +    } +    auto html_scroll() { +      auto _k = opts["html-scroll"]; +      return _k; +    } +    auto manifest() { +      auto _k = opts["manifest"]; +      return _k; +    } +    auto ocn() { +      auto _k = opts["ocn"]; +      return _k; +    } +    auto odt() { +      auto _k = opts["odt"]; +      return _k; +    } +    auto pdf() { +      auto _k = opts["pdf"]; +      return _k; +    } +    auto postgresql() { +      auto _k = opts["postgresql"]; +      return _k; +    } +    auto qrcode() { +      auto _k = opts["qrcode"]; +      return _k; +    } +    auto sisupod() { +      auto _k = opts["sisupod"]; +      return _k; +    } +    auto source() { +      auto _k = opts["source"]; +      return _k; +    } +    auto sqlite_discrete() { +      auto _k = opts["sqlite-discrete"]; +      return _k; +    } +    auto sqlite_update() { +      auto _k = opts["sqlite-update"]; +      return _k; +    } +    auto sqlite_create() { +      auto _k = opts["sqlite-create"]; +      return _k; +    } +    auto sqlite_drop() { +      auto _k = opts["sqlite-drop"]; +      return _k; +    } +    auto text() { +      auto _k = opts["text"]; +      return _k; +    } +    auto verbose() { +      auto _k = opts["verbose"]; +      return _k; +    } +    auto xhtml() { +      auto _k = opts["xhtml"]; +      return _k; +    } +    auto xml_dom() { +      auto _k = opts["xml-dom"]; +      return _k; +    } +    auto xml_sax() { +      auto _k = opts["xml-sax"]; +      return _k; +    } +    auto section_toc() { +      auto _k = opts["section_toc"]; +      return _k; +    } +    auto section_body() { +      auto _k = opts["section_body"]; +      return _k; +    } +    auto section_endnotes() { +      auto _k = opts["section_endnotes"]; +      return _k; +    } +    auto section_glossary() { +      auto _k = opts["section_glossary"]; +      return _k; +    } +    auto section_biblio() { +      auto _k = opts["section_biblio"]; +      return _k; +    } +    auto section_bookindex() { +      auto _k = opts["section_bookindex"]; +      return _k; +    } +    auto section_blurb() { +      auto _k = opts["section_blurb"]; +      return _k; +    } +    auto backmatter() { +      auto _k = opts["backmatter"]; +      return _k; +    } +    auto skip_output() { +      auto _k = opts["skip-output"]; +      return _k; +    } +    auto languages_set() { +      auto _k = settings["lang"].split(","); +      return _k; +    } +    auto output_dir_set() { +      auto _k = settings["output-dir"]; +      return _k; +    } +  } +  auto _opt_action = OptActions();    foreach(arg; args[1..$]) {      if (arg.match(rgx.flag_action)) {        flag_action ~= " " ~ arg;   // flags not taken by getopt @@ -183,8 +334,8 @@ void main(string[] args) {            contents_location ~ "»"          );          auto contents_location_pth_ = (contents_location).to!string; -        auto lang_rgx_ = regex(r"/(" ~ settings["lang"].split(",").join("|") ~ ")/"); -        if (settings["lang"] == "all" +        auto lang_rgx_ = regex(r"/(" ~ _opt_action.languages_set.join("|") ~ ")/"); +        if (_opt_action.languages_set[0] == "all"            || (contents_location_pth_).match(lang_rgx_)          ) {            fns_src ~= (((tmp_dir_).chainPath(contents_location_pth_)).array).to!(char[]); @@ -200,8 +351,8 @@ void main(string[] args) {      "pwd" : environment["PWD"],      "home" : environment["HOME"],    ]; -  if (!(opts["skip-output"])) { -    outputHubOp!()(opts); +  if (!(_opt_action.skip_output)) { +    outputHubOp!()(_opt_action);    }    if (fns_src.length > 0) {      foreach(fn_src; fns_src) { @@ -229,23 +380,23 @@ void main(string[] args) {            "not a sisu markup filename: «" ~            fn_src ~ "»"          ); -        auto t = SiSUabstraction!()(fn_src, opts, settings, env); +        auto t = SiSUabstraction!()(fn_src, _opt_action, env);          static assert(!isTypeTuple!(t));          static assert(t.length==2);          auto doc_abstraction = t[dAM.abstraction];          auto doc_matters = t[dAM.matters];          /+ ↓ debugs +/ -        if (doc_matters.opt_action["verbose"]) { +        if (doc_matters.opt_action.verbose) {            SiSUabstractionSummary!()(doc_abstraction, doc_matters);          }          /+ ↓ debugs +/ -        if ((doc_matters.opt_action["debug"]) -        || (doc_matters.opt_action["verbose"]) +        if ((doc_matters.opt_action.debug_do) +        || (doc_matters.opt_action.verbose)          ) {            SiSUdebugs!()(doc_abstraction, doc_matters);          }          /+ ↓ output hub +/ -        if (!(opts["skip-output"])) { +        if (!(doc_matters.opt_action.skip_output)) {            outputHub!()(doc_abstraction, doc_matters);          }          scope(exit) { | 
