diff options
| author | Ralph Amissah <ralph.amissah@gmail.com> | 2019-05-27 23:35:01 -0400 | 
|---|---|---|
| committer | Ralph Amissah <ralph.amissah@gmail.com> | 2019-10-17 19:06:37 -0400 | 
| commit | 3e3a1a76ce4d0abe75277afb2937539fc0e9a4e6 (patch) | |
| tree | f9dd8d19293c86d194b6a1e840f144e1819fb82c /org | |
| parent | review, reduce use of auto (diff) | |
remove ./data for now, else relatively minor
Diffstat (limited to 'org')
| -rw-r--r-- | org/default_misc.org | 1 | ||||
| -rw-r--r-- | org/default_paths.org | 29 | ||||
| -rw-r--r-- | org/doc_reform.org | 2 | ||||
| -rw-r--r-- | org/meta_abstraction.org | 518 | ||||
| -rw-r--r-- | org/meta_conf_make_meta.org | 182 | 
5 files changed, 377 insertions, 355 deletions
| diff --git a/org/default_misc.org b/org/default_misc.org index 8c901ca..b55e651 100644 --- a/org/default_misc.org +++ b/org/default_misc.org @@ -253,6 +253,7 @@ template InternalMarkup() {      string tc_c                   = "┚";      string tc_p                   = "┆";      string img                    = "☼"; +    string sep                    = "␣";      string on_o  = "「";       auto on_c  = "」";      string mk_bullet               = "● ";      static string indent_by_spaces_provided(int indent, string _indent_spaces ="░░") { diff --git a/org/default_paths.org b/org/default_paths.org index 26e28f5..eeed332 100644 --- a/org/default_paths.org +++ b/org/default_paths.org @@ -31,7 +31,9 @@ import std.array,    std.regex,    std.stdio,    std.conv : to; -import doc_reform.meta.rgx; +import +  doc_reform.meta.defaults, +  doc_reform.meta.rgx;  <<template_paths_src>>  <<template_paths_pod>>  <<template_paths_pod_shallow>> @@ -113,7 +115,9 @@ pod  #+BEGIN_SRC d  template PathMatters() {    mixin DocReformRgxInit; -  static auto rgx = Rgx(); +  mixin InternalMarkup; +  static auto rgx  = Rgx(); +  static auto mkup = InlineMarkup();    auto PathMatters(O,E)(      O        _opt_actions,      E        _env, @@ -206,7 +210,6 @@ template PathMatters() {          string _fns = _fns; // required here by dmd & not by ldc (for D:2078)          auto _opt_actions = _opt_actions;          auto _env = _env; -        string _sep = "␣";          struct SRC_ {            bool is_pod() {              return (_manifest.pod_manifest_path.length > 0) ? true : false; @@ -240,12 +243,12 @@ template PathMatters() {              string _uid;              if (is_pod && !(pod_name_with_path.empty)) {                if (pod_name_with_path.baseName == filename_base) { -                _uid = filename_base ~ "." ~ filename_extension ~ _sep ~ lng; +                _uid = filename_base ~ "." ~ filename_extension ~ mkup.sep ~ lng;                } else { -                _uid = pod_name_with_path.baseName ~ _sep ~ filename_base ~ "." ~ filename_extension ~ _sep ~ lng; +                _uid = pod_name_with_path.baseName ~ mkup.sep ~ filename_base ~ "." ~ filename_extension ~ mkup.sep ~ lng;                }              } else { -              _uid = _sep ~ filename_base ~ "." ~ filename_extension ~ _sep ~ lng; +              _uid = mkup.sep ~ filename_base ~ "." ~ filename_extension ~ mkup.sep ~ lng;              }              return _uid;            } @@ -259,18 +262,18 @@ template PathMatters() {            +/              string _fn;              if (pod_name_with_path.baseName == filename_base) { -              _fn = filename_base ~ _sep ~ filename_extension ~ _sep ~ lng; +              _fn = filename_base ~ mkup.sep ~ filename_extension ~ mkup.sep ~ lng;              } else if (!(pod_name_with_path.empty)) { -              _fn = pod_name_with_path.baseName ~ _sep ~ filename_base ~ _sep ~ filename_extension ~ _sep ~ lng; +              _fn = pod_name_with_path.baseName ~ mkup.sep ~ filename_base ~ mkup.sep ~ filename_extension ~ mkup.sep ~ lng;              } else { -              _fn = "_" ~ _sep ~ filename_base ~ _sep ~ filename_extension ~ _sep ~ lng; +              _fn = "_" ~ mkup.sep ~ filename_base ~ mkup.sep ~ filename_extension ~ mkup.sep ~ lng;              }              return _fn;            }            string docname_composite_unique_per_src_pod() {            /+              z pod name if any + src filename (without lng code) -             filename ~ _sep ~ lng +             filename ~ mkup.sep ~ lng               * unique per src pod               used by               - pod (multilingual collection) @@ -278,11 +281,11 @@ template PathMatters() {            +/              string _fn;              if (pod_name_with_path.baseName == filename_base) { -              _fn = filename_base ~ _sep ~ filename_extension; +              _fn = filename_base ~ mkup.sep ~ filename_extension;              } else if (!(pod_name_with_path.empty)) { -              _fn = pod_name_with_path.baseName ~ _sep ~ filename_base ~ _sep ~ filename_extension; +              _fn = pod_name_with_path.baseName ~ mkup.sep ~ filename_base ~ mkup.sep ~ filename_extension;              } else { -              _fn = "_" ~ _sep ~ filename_base ~ _sep ~ filename_extension; +              _fn = "_" ~ mkup.sep ~ filename_base ~ mkup.sep ~ filename_extension;              }              return _fn;            } diff --git a/org/doc_reform.org b/org/doc_reform.org index d805744..eb47d69 100644 --- a/org/doc_reform.org +++ b/org/doc_reform.org @@ -370,7 +370,7 @@ auto helpInfo = getopt(args,    "ocn",                "--ocn object cite numbers (default)",                                      &opts["ocn"],    "parallel",           "--parallel parallelisation",                                               &opts["parallel"],    "parallel-subprocesses", "--parallel-subprocesses nested parallelisation",                        &opts["parallel-subprocesses"], -  "quiet",              "--quiet output to terminal",                                               &opts["quiet"], +  "quiet|q",            "--quiet output to terminal",                                               &opts["quiet"],    "pod",                "--pod doc reform pod source content bundled",                              &opts["pod"],    "serial",             "--serial serial processing",                                               &opts["serial"],    "source",             "--source markup source text content",                                      &opts["source"], diff --git a/org/meta_abstraction.org b/org/meta_abstraction.org index 35d443f..7059b03 100644 --- a/org/meta_abstraction.org +++ b/org/meta_abstraction.org @@ -781,53 +781,57 @@ if there is a glossary section you need to:      line_occur["para"] = State.off;      an_object_key="glossary_nugget"; //      if (line.matchFirst(rgx.heading_glossary)) { -      comp_obj_heading_                                = comp_obj_heading_.init; -      comp_obj_heading_.metainfo.is_of_part            = "backmatter"; -      comp_obj_heading_.metainfo.is_of_section         = "glossary"; -      comp_obj_heading_.metainfo.is_of_type            = "para"; -      comp_obj_heading_.metainfo.is_a                  = "heading"; -      comp_obj_heading_.text                           = "Glossary"; -      comp_obj_heading_.metainfo.ocn                   = 0; -      comp_obj_heading_.metainfo.identifier            = ""; -      comp_obj_heading_.metainfo.dummy_heading         = false; -      comp_obj_heading_.metainfo.object_number_off     = true; -      comp_obj_heading_.metainfo.object_number_type    = 0; -      comp_obj_heading_.tags.segment_anchor_tag_epub   = "_part_glossary"; -      comp_obj_heading_.tags.anchor_tag_html           = comp_obj_heading_.tags.segment_anchor_tag_epub; -      comp_obj_heading_.tags.in_segment_html           = "glossary"; -      comp_obj_heading_.metainfo.heading_lev_markup    = 1; -      comp_obj_heading_.metainfo.heading_lev_collapsed = 1; -      comp_obj_heading_.metainfo.parent_ocn            = 1; -      comp_obj_heading_.metainfo.parent_lev_markup     = 0; -      comp_obj_heading_.metainfo.dom_structure_markedup_tags_status  = [ 1, 1, 0, 0, 0, 0, 0, 0]; -      comp_obj_heading_.metainfo.dom_structure_collapsed_tags_status = [ 1, 1, 0, 0, 0, 0, 0, 0]; -      the_glossary_section                             ~= comp_obj_heading_; -      tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; -      tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; -      comp_obj_heading_                                = comp_obj_heading_.init; -      comp_obj_heading_.metainfo.is_of_part            = "backmatter"; -      comp_obj_heading_.metainfo.is_of_section         = "glossary"; -      comp_obj_heading_.metainfo.is_of_type            = "para"; -      comp_obj_heading_.metainfo.is_a                  = "heading"; -      comp_obj_heading_.text                           = "Glossary"; -      comp_obj_heading_.metainfo.ocn                   = 0; -      comp_obj_heading_.metainfo.identifier            = ""; -      comp_obj_heading_.metainfo.dummy_heading         = true; -      comp_obj_heading_.metainfo.object_number_off     = true; -      comp_obj_heading_.metainfo.object_number_type    = 0; -      comp_obj_heading_.tags.segment_anchor_tag_epub   = "glossary"; -      comp_obj_heading_.tags.anchor_tag_html           = comp_obj_heading_.tags.segment_anchor_tag_epub; -      comp_obj_heading_.tags.in_segment_html           = comp_obj_heading_.tags.anchor_tag_html; -      comp_obj_heading_.metainfo.heading_lev_markup    = 4; -      comp_obj_heading_.metainfo.heading_lev_collapsed = 2; -      comp_obj_heading_.metainfo.parent_ocn            = 1; -      comp_obj_heading_.metainfo.parent_lev_markup     = 0; -      comp_obj_heading_.metainfo.dom_structure_markedup_tags_status  = [ 1, 1, 0, 0, 1, 0, 0, 0]; -      comp_obj_heading_.metainfo.dom_structure_collapsed_tags_status = [ 1, 1, 1, 0, 0, 0, 0, 0]; -      comp_obj_heading_.tags.anchor_tags               = ["glossary"]; -      the_glossary_section                             ~= comp_obj_heading_; -      tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; -      tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; +      { +        comp_obj_heading_                                = comp_obj_heading_.init; +        comp_obj_heading_.metainfo.is_of_part            = "backmatter"; +        comp_obj_heading_.metainfo.is_of_section         = "glossary"; +        comp_obj_heading_.metainfo.is_of_type            = "para"; +        comp_obj_heading_.metainfo.is_a                  = "heading"; +        comp_obj_heading_.text                           = "Glossary"; +        comp_obj_heading_.metainfo.ocn                   = 0; +        comp_obj_heading_.metainfo.identifier            = ""; +        comp_obj_heading_.metainfo.dummy_heading         = false; +        comp_obj_heading_.metainfo.object_number_off     = true; +        comp_obj_heading_.metainfo.object_number_type    = 0; +        comp_obj_heading_.tags.segment_anchor_tag_epub   = "_part_glossary"; +        comp_obj_heading_.tags.anchor_tag_html           = comp_obj_heading_.tags.segment_anchor_tag_epub; +        comp_obj_heading_.tags.in_segment_html           = "glossary"; +        comp_obj_heading_.metainfo.heading_lev_markup    = 1; +        comp_obj_heading_.metainfo.heading_lev_collapsed = 1; +        comp_obj_heading_.metainfo.parent_ocn            = 1; +        comp_obj_heading_.metainfo.parent_lev_markup     = 0; +        comp_obj_heading_.metainfo.dom_structure_markedup_tags_status  = [ 1, 1, 0, 0, 0, 0, 0, 0]; +        comp_obj_heading_.metainfo.dom_structure_collapsed_tags_status = [ 1, 1, 0, 0, 0, 0, 0, 0]; +        the_glossary_section                             ~= comp_obj_heading_; +        tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; +        tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; +      } +      { +        comp_obj_heading_                                = comp_obj_heading_.init; +        comp_obj_heading_.metainfo.is_of_part            = "backmatter"; +        comp_obj_heading_.metainfo.is_of_section         = "glossary"; +        comp_obj_heading_.metainfo.is_of_type            = "para"; +        comp_obj_heading_.metainfo.is_a                  = "heading"; +        comp_obj_heading_.text                           = "Glossary"; +        comp_obj_heading_.metainfo.ocn                   = 0; +        comp_obj_heading_.metainfo.identifier            = ""; +        comp_obj_heading_.metainfo.dummy_heading         = true; +        comp_obj_heading_.metainfo.object_number_off     = true; +        comp_obj_heading_.metainfo.object_number_type    = 0; +        comp_obj_heading_.tags.segment_anchor_tag_epub   = "glossary"; +        comp_obj_heading_.tags.anchor_tag_html           = comp_obj_heading_.tags.segment_anchor_tag_epub; +        comp_obj_heading_.tags.in_segment_html           = comp_obj_heading_.tags.anchor_tag_html; +        comp_obj_heading_.metainfo.heading_lev_markup    = 4; +        comp_obj_heading_.metainfo.heading_lev_collapsed = 2; +        comp_obj_heading_.metainfo.parent_ocn            = 1; +        comp_obj_heading_.metainfo.parent_lev_markup     = 0; +        comp_obj_heading_.metainfo.dom_structure_markedup_tags_status  = [ 1, 1, 0, 0, 1, 0, 0, 0]; +        comp_obj_heading_.metainfo.dom_structure_collapsed_tags_status = [ 1, 1, 1, 0, 0, 0, 0, 0]; +        comp_obj_heading_.tags.anchor_tags               = ["glossary"]; +        the_glossary_section                             ~= comp_obj_heading_; +        tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; +        tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; +      }      } else {        an_object = line.flow_para_match_(an_object, an_object_key, indent, bullet, obj_type_status, line_occur);        comp_obj_para                               = comp_obj_para.init; @@ -919,53 +923,57 @@ if there is a blurb section you need to:      line_occur["para"] = State.off;      an_object_key="blurb_nugget";      if (line.matchFirst(rgx.heading_blurb)) { -      comp_obj_heading_                                              = comp_obj_heading_.init; -      comp_obj_heading_.metainfo.is_of_part                          = "backmatter"; -      comp_obj_heading_.metainfo.is_of_section                       = "blurb"; -      comp_obj_heading_.metainfo.is_of_type                          = "para"; -      comp_obj_heading_.metainfo.is_a                                = "heading"; -      comp_obj_heading_.text                                         = "Blurb"; -      comp_obj_heading_.metainfo.ocn                                 = 0; -      comp_obj_heading_.metainfo.identifier                          = ""; -      comp_obj_heading_.metainfo.dummy_heading                       = false; -      comp_obj_heading_.metainfo.object_number_off                   = true; -      comp_obj_heading_.metainfo.object_number_type                  = 0; -      comp_obj_heading_.tags.segment_anchor_tag_epub                 = "_part_blurb"; -      comp_obj_heading_.tags.anchor_tag_html                         = comp_obj_heading_.tags.segment_anchor_tag_epub; -      comp_obj_heading_.tags.in_segment_html                         = "blurb"; -      comp_obj_heading_.metainfo.heading_lev_markup                  = 1; -      comp_obj_heading_.metainfo.heading_lev_collapsed               = 1; -      comp_obj_heading_.metainfo.parent_ocn                          = 1; -      comp_obj_heading_.metainfo.parent_lev_markup                   = 0; -      comp_obj_heading_.metainfo.dom_structure_markedup_tags_status  = [ 1, 1, 0, 0, 0, 0, 0, 0]; -      comp_obj_heading_.metainfo.dom_structure_collapsed_tags_status = [ 1, 1, 0, 0, 0, 0, 0, 0]; -      the_blurb_section                                              ~= comp_obj_heading_; -      tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; -      tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; -      comp_obj_heading_                                              = comp_obj_heading_.init; -      comp_obj_heading_.metainfo.is_of_part                          = "backmatter"; -      comp_obj_heading_.metainfo.is_of_section                       = "blurb"; -      comp_obj_heading_.metainfo.is_of_type                          = "para"; -      comp_obj_heading_.metainfo.is_a                                = "heading"; -      comp_obj_heading_.text                                         = "Blurb"; -      comp_obj_heading_.metainfo.ocn                                 = 0; -      comp_obj_heading_.metainfo.identifier                          = ""; -      comp_obj_heading_.metainfo.dummy_heading                       = true; -      comp_obj_heading_.metainfo.object_number_off                   = true; -      comp_obj_heading_.metainfo.object_number_type                  = 0; -      comp_obj_heading_.tags.segment_anchor_tag_epub                 = "blurb"; -      comp_obj_heading_.tags.anchor_tag_html                         = comp_obj_heading_.tags.segment_anchor_tag_epub; -      comp_obj_heading_.tags.in_segment_html                         = comp_obj_heading_.tags.anchor_tag_html; -      comp_obj_heading_.metainfo.heading_lev_markup                  = 4; -      comp_obj_heading_.metainfo.heading_lev_collapsed               = 2; -      comp_obj_heading_.metainfo.parent_ocn                          = 1; -      comp_obj_heading_.metainfo.parent_lev_markup                   = 0; -      comp_obj_heading_.tags.anchor_tags                             = ["blurb"]; -      comp_obj_heading_.metainfo.dom_structure_markedup_tags_status  = [ 1, 1, 0, 0, 1, 0, 0, 0]; -      comp_obj_heading_.metainfo.dom_structure_collapsed_tags_status = [ 1, 1, 1, 0, 0, 0, 0, 0]; -      the_blurb_section                                              ~= comp_obj_heading_; -      tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; -      tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; +      { +        comp_obj_heading_                                              = comp_obj_heading_.init; +        comp_obj_heading_.metainfo.is_of_part                          = "backmatter"; +        comp_obj_heading_.metainfo.is_of_section                       = "blurb"; +        comp_obj_heading_.metainfo.is_of_type                          = "para"; +        comp_obj_heading_.metainfo.is_a                                = "heading"; +        comp_obj_heading_.text                                         = "Blurb"; +        comp_obj_heading_.metainfo.ocn                                 = 0; +        comp_obj_heading_.metainfo.identifier                          = ""; +        comp_obj_heading_.metainfo.dummy_heading                       = false; +        comp_obj_heading_.metainfo.object_number_off                   = true; +        comp_obj_heading_.metainfo.object_number_type                  = 0; +        comp_obj_heading_.tags.segment_anchor_tag_epub                 = "_part_blurb"; +        comp_obj_heading_.tags.anchor_tag_html                         = comp_obj_heading_.tags.segment_anchor_tag_epub; +        comp_obj_heading_.tags.in_segment_html                         = "blurb"; +        comp_obj_heading_.metainfo.heading_lev_markup                  = 1; +        comp_obj_heading_.metainfo.heading_lev_collapsed               = 1; +        comp_obj_heading_.metainfo.parent_ocn                          = 1; +        comp_obj_heading_.metainfo.parent_lev_markup                   = 0; +        comp_obj_heading_.metainfo.dom_structure_markedup_tags_status  = [ 1, 1, 0, 0, 0, 0, 0, 0]; +        comp_obj_heading_.metainfo.dom_structure_collapsed_tags_status = [ 1, 1, 0, 0, 0, 0, 0, 0]; +        the_blurb_section                                              ~= comp_obj_heading_; +        tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; +        tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; +      } +      { +        comp_obj_heading_                                              = comp_obj_heading_.init; +        comp_obj_heading_.metainfo.is_of_part                          = "backmatter"; +        comp_obj_heading_.metainfo.is_of_section                       = "blurb"; +        comp_obj_heading_.metainfo.is_of_type                          = "para"; +        comp_obj_heading_.metainfo.is_a                                = "heading"; +        comp_obj_heading_.text                                         = "Blurb"; +        comp_obj_heading_.metainfo.ocn                                 = 0; +        comp_obj_heading_.metainfo.identifier                          = ""; +        comp_obj_heading_.metainfo.dummy_heading                       = true; +        comp_obj_heading_.metainfo.object_number_off                   = true; +        comp_obj_heading_.metainfo.object_number_type                  = 0; +        comp_obj_heading_.tags.segment_anchor_tag_epub                 = "blurb"; +        comp_obj_heading_.tags.anchor_tag_html                         = comp_obj_heading_.tags.segment_anchor_tag_epub; +        comp_obj_heading_.tags.in_segment_html                         = comp_obj_heading_.tags.anchor_tag_html; +        comp_obj_heading_.metainfo.heading_lev_markup                  = 4; +        comp_obj_heading_.metainfo.heading_lev_collapsed               = 2; +        comp_obj_heading_.metainfo.parent_ocn                          = 1; +        comp_obj_heading_.metainfo.parent_lev_markup                   = 0; +        comp_obj_heading_.tags.anchor_tags                             = ["blurb"]; +        comp_obj_heading_.metainfo.dom_structure_markedup_tags_status  = [ 1, 1, 0, 0, 1, 0, 0, 0]; +        comp_obj_heading_.metainfo.dom_structure_collapsed_tags_status = [ 1, 1, 1, 0, 0, 0, 0, 0]; +        the_blurb_section                                              ~= comp_obj_heading_; +        tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; +        tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; +      }      } else if (line.matchFirst(rgx.heading)      && (opt_action.backmatter && opt_action.section_blurb)) {        comp_obj_heading_                                              = comp_obj_heading_.init; @@ -1596,49 +1604,53 @@ auto biblio_ordered  #+name: abs_post  #+BEGIN_SRC d  if (biblio_ordered.length > 0) { -  comp_obj_heading_                                 = comp_obj_heading_.init; -  comp_obj_heading_.metainfo.is_of_part             = "backmatter"; -  comp_obj_heading_.metainfo.is_of_section          = "bibliography"; -  comp_obj_heading_.metainfo.is_of_type             = "para"; -  comp_obj_heading_.metainfo.is_a                   = "heading"; -  comp_obj_heading_.text                            = "Bibliography"; -  comp_obj_heading_.metainfo.ocn                    = 0; -  comp_obj_heading_.metainfo.identifier             = ""; -  comp_obj_heading_.metainfo.dummy_heading          = true; -  comp_obj_heading_.metainfo.object_number_off      = true; -  comp_obj_heading_.metainfo.object_number_type     = 0; -  comp_obj_heading_.tags.segment_anchor_tag_epub    = "_part_bibliography"; -  comp_obj_heading_.tags.anchor_tag_html            = comp_obj_heading_.tags.segment_anchor_tag_epub; -  comp_obj_heading_.tags.in_segment_html            = "bibliography"; -  comp_obj_heading_.metainfo.heading_lev_markup     = 1; -  comp_obj_heading_.metainfo.heading_lev_collapsed  = 1; -  comp_obj_heading_.metainfo.parent_ocn             = 1; -  comp_obj_heading_.metainfo.parent_lev_markup      = 0; -  the_bibliography_section                          ~= comp_obj_heading_; -  tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; -  tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; -  comp_obj_heading_                                 = comp_obj_heading_.init; -  comp_obj_heading_.metainfo.is_of_part             = "backmatter"; -  comp_obj_heading_.metainfo.is_of_section          = "bibliography"; -  comp_obj_heading_.metainfo.is_of_type             = "para"; -  comp_obj_heading_.metainfo.is_a                   = "heading"; -  comp_obj_heading_.text                            = "Bibliography"; -  comp_obj_heading_.metainfo.ocn                    = 0; -  comp_obj_heading_.metainfo.identifier             = ""; -  comp_obj_heading_.metainfo.dummy_heading          = true; -  comp_obj_heading_.metainfo.object_number_off      = true; -  comp_obj_heading_.metainfo.object_number_type     = 0; -  comp_obj_heading_.tags.segment_anchor_tag_epub    = "bibliography"; -  comp_obj_heading_.tags.anchor_tag_html            = comp_obj_heading_.tags.segment_anchor_tag_epub; -  comp_obj_heading_.tags.in_segment_html            = comp_obj_heading_.tags.anchor_tag_html; -  comp_obj_heading_.metainfo.heading_lev_markup     = 4; -  comp_obj_heading_.metainfo.heading_lev_collapsed  = 2; -  comp_obj_heading_.metainfo.parent_ocn             = 1; -  comp_obj_heading_.metainfo.parent_lev_markup      = 0; -  comp_obj_heading_.tags.anchor_tags                = ["bibliography"]; -  the_bibliography_section                          ~= comp_obj_heading_; -  tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; -  tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; +  { +    comp_obj_heading_                                 = comp_obj_heading_.init; +    comp_obj_heading_.metainfo.is_of_part             = "backmatter"; +    comp_obj_heading_.metainfo.is_of_section          = "bibliography"; +    comp_obj_heading_.metainfo.is_of_type             = "para"; +    comp_obj_heading_.metainfo.is_a                   = "heading"; +    comp_obj_heading_.text                            = "Bibliography"; +    comp_obj_heading_.metainfo.ocn                    = 0; +    comp_obj_heading_.metainfo.identifier             = ""; +    comp_obj_heading_.metainfo.dummy_heading          = true; +    comp_obj_heading_.metainfo.object_number_off      = true; +    comp_obj_heading_.metainfo.object_number_type     = 0; +    comp_obj_heading_.tags.segment_anchor_tag_epub    = "_part_bibliography"; +    comp_obj_heading_.tags.anchor_tag_html            = comp_obj_heading_.tags.segment_anchor_tag_epub; +    comp_obj_heading_.tags.in_segment_html            = "bibliography"; +    comp_obj_heading_.metainfo.heading_lev_markup     = 1; +    comp_obj_heading_.metainfo.heading_lev_collapsed  = 1; +    comp_obj_heading_.metainfo.parent_ocn             = 1; +    comp_obj_heading_.metainfo.parent_lev_markup      = 0; +    the_bibliography_section                          ~= comp_obj_heading_; +    tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; +    tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; +  } +  { +    comp_obj_heading_                                 = comp_obj_heading_.init; +    comp_obj_heading_.metainfo.is_of_part             = "backmatter"; +    comp_obj_heading_.metainfo.is_of_section          = "bibliography"; +    comp_obj_heading_.metainfo.is_of_type             = "para"; +    comp_obj_heading_.metainfo.is_a                   = "heading"; +    comp_obj_heading_.text                            = "Bibliography"; +    comp_obj_heading_.metainfo.ocn                    = 0; +    comp_obj_heading_.metainfo.identifier             = ""; +    comp_obj_heading_.metainfo.dummy_heading          = true; +    comp_obj_heading_.metainfo.object_number_off      = true; +    comp_obj_heading_.metainfo.object_number_type     = 0; +    comp_obj_heading_.tags.segment_anchor_tag_epub    = "bibliography"; +    comp_obj_heading_.tags.anchor_tag_html            = comp_obj_heading_.tags.segment_anchor_tag_epub; +    comp_obj_heading_.tags.in_segment_html            = comp_obj_heading_.tags.anchor_tag_html; +    comp_obj_heading_.metainfo.heading_lev_markup     = 4; +    comp_obj_heading_.metainfo.heading_lev_collapsed  = 2; +    comp_obj_heading_.metainfo.parent_ocn             = 1; +    comp_obj_heading_.metainfo.parent_lev_markup      = 0; +    comp_obj_heading_.tags.anchor_tags                = ["bibliography"]; +    the_bibliography_section                          ~= comp_obj_heading_; +    tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; +    tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; +  }  } else {    comp_obj_heading_                                 = comp_obj_heading_.init;    comp_obj_heading_.metainfo.is_of_part             = "empty"; @@ -1709,7 +1721,7 @@ debug(bibliosection) {  ***** bibliography components  JSONValue biblio_entry_tags_jsonstr =  `{ -  "is"                   : "", +  "is"                               : "",    "sortby_deemed_author_year_title"  : "",    "deemed_author"                    : "",    "author_raw"                       : "", @@ -3579,20 +3591,20 @@ void flow_txt_block_code()(  #+BEGIN_SRC d  final string biblio_tag_map()(string abr) {    auto btm = [ -    "au"                               : "author_raw", -    "ed"                               : "editor_raw", -    "ti"                               : "fulltitle", -    "lng"                              : "language", -    "jo"                               : "journal", -    "vol"                              : "volume", -    "edn"                              : "edition", -    "yr"                               : "year", -    "pl"                               : "place", -    "pb"                               : "publisher", -    "pub"                              : "publisher", -    "pg"                               : "pages", -    "pgs"                              : "pages", -    "sn"                               : "short_name" +    "au"           : "author_raw", +    "ed"           : "editor_raw", +    "ti"           : "fulltitle", +    "lng"          : "language", +    "jo"           : "journal", +    "vol"          : "volume", +    "edn"          : "edition", +    "yr"           : "year", +    "pl"           : "place", +    "pb"           : "publisher", +    "pub"          : "publisher", +    "pg"           : "pages", +    "pgs"          : "pages", +    "sn"           : "short_name"    ];    return btm[abr];  } @@ -6483,8 +6495,7 @@ struct BookIndexNuggetHash {    string main_term, sub_term, sub_term_bits;    int object_number_offset, object_number_endpoint;    string[] object_numbers; -  string[][string][string] bi; -  string[][string][string] hash_nugget; +  string[][string][string] bi_hash_nugget;    string[] bi_main_terms_split_arr;    string[][string][string] bookindex_nugget_hash(N,S)(      string bookindex_section, @@ -6526,7 +6537,7 @@ struct BookIndexNuggetHash {            main_term = bi_main_term_and_rest[0].strip;            object_numbers ~= obj_cite_digits.object_number.to!string;          } -        bi[main_term]["_a"] ~= object_numbers; +        bi_hash_nugget[main_term]["_a"] ~= object_numbers;          object_numbers = null;          if (bi_main_term_and_rest.length > 1) {            auto bi_sub_terms_split_arr @@ -6545,15 +6556,14 @@ struct BookIndexNuggetHash {                object_numbers ~= obj_cite_digits.object_number.to!string;              }              if (!empty(sub_term)) { -              bi[main_term][sub_term] ~= object_numbers; +              bi_hash_nugget[main_term][sub_term] ~= object_numbers;              }              object_numbers=null;            }          }        }      } -    hash_nugget = bi; -    return hash_nugget; +    return bi_hash_nugget;    }    invariant() {    } @@ -6670,53 +6680,57 @@ struct BookIndexReportSection {      && opt_action.section_bookindex)) {        string bi_tmp;        string[] bi_tmp_tags; -      comp_obj_heading_                                = comp_obj_heading_.init; -      comp_obj_heading_.metainfo.is_of_part            = "backmatter"; -      comp_obj_heading_.metainfo.is_of_section         = "bookindex"; -      comp_obj_heading_.metainfo.is_of_type            = "para"; -      comp_obj_heading_.metainfo.is_a                  = "heading"; -      comp_obj_heading_.text                           = "Book Index"; -      comp_obj_heading_.metainfo.ocn                   = 0; -      comp_obj_heading_.metainfo.identifier            = ""; -      comp_obj_heading_.metainfo.dummy_heading         = false; -      comp_obj_heading_.metainfo.object_number_off     = true; -      comp_obj_heading_.metainfo.object_number_type    = 0; -      comp_obj_heading_.tags.segment_anchor_tag_epub   = "_part_book_index"; -      comp_obj_heading_.tags.anchor_tag_html           = comp_obj_heading_.tags.segment_anchor_tag_epub; -      comp_obj_heading_.tags.in_segment_html           = "bookindex"; -      comp_obj_heading_.metainfo.heading_lev_markup    = 1; -      comp_obj_heading_.metainfo.heading_lev_collapsed = 1; -      comp_obj_heading_.metainfo.parent_ocn            = 1; -      comp_obj_heading_.metainfo.parent_lev_markup     = 0; -      comp_obj_heading.has.inline_links                = true; -      bookindex_section                                ~= comp_obj_heading_; -      tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; -      tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; -      ++mkn; -      comp_obj_heading_                                = comp_obj_heading_.init; -      comp_obj_heading_.metainfo.is_of_part            = "backmatter"; -      comp_obj_heading_.metainfo.is_of_section         = "bookindex"; -      comp_obj_heading_.metainfo.is_of_type            = "para"; -      comp_obj_heading_.metainfo.is_a                  = "heading"; -      comp_obj_heading_.text                           = "Index"; -      comp_obj_heading_.metainfo.ocn                   = 0; -      comp_obj_heading_.metainfo.identifier            = ""; -      comp_obj_heading_.metainfo.dummy_heading         = true; -      comp_obj_heading_.metainfo.object_number_off     = true; -      comp_obj_heading_.metainfo.object_number_type    = 0; -      comp_obj_heading_.tags.segment_anchor_tag_epub   = "bookindex"; -      comp_obj_heading_.tags.anchor_tag_html           = comp_obj_heading_.tags.segment_anchor_tag_epub; -      comp_obj_heading_.tags.in_segment_html           = comp_obj_heading_.tags.anchor_tag_html; -      comp_obj_heading_.metainfo.heading_lev_markup    = 4; -      comp_obj_heading_.metainfo.heading_lev_collapsed = 2; -      comp_obj_heading_.metainfo.parent_ocn            = 1; -      comp_obj_heading_.metainfo.parent_lev_markup     = 0; -      comp_obj_heading.has.inline_links                = false; -      comp_obj_heading_.tags.anchor_tags               = ["bookindex"]; -      bookindex_section                                ~= comp_obj_heading_; -      tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; -      tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; -      ++mkn; +      { +        comp_obj_heading_                                = comp_obj_heading_.init; +        comp_obj_heading_.metainfo.is_of_part            = "backmatter"; +        comp_obj_heading_.metainfo.is_of_section         = "bookindex"; +        comp_obj_heading_.metainfo.is_of_type            = "para"; +        comp_obj_heading_.metainfo.is_a                  = "heading"; +        comp_obj_heading_.text                           = "Book Index"; +        comp_obj_heading_.metainfo.ocn                   = 0; +        comp_obj_heading_.metainfo.identifier            = ""; +        comp_obj_heading_.metainfo.dummy_heading         = false; +        comp_obj_heading_.metainfo.object_number_off     = true; +        comp_obj_heading_.metainfo.object_number_type    = 0; +        comp_obj_heading_.tags.segment_anchor_tag_epub   = "_part_book_index"; +        comp_obj_heading_.tags.anchor_tag_html           = comp_obj_heading_.tags.segment_anchor_tag_epub; +        comp_obj_heading_.tags.in_segment_html           = "bookindex"; +        comp_obj_heading_.metainfo.heading_lev_markup    = 1; +        comp_obj_heading_.metainfo.heading_lev_collapsed = 1; +        comp_obj_heading_.metainfo.parent_ocn            = 1; +        comp_obj_heading_.metainfo.parent_lev_markup     = 0; +        comp_obj_heading.has.inline_links                = true; +        bookindex_section                                ~= comp_obj_heading_; +        tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; +        tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; +        ++mkn; +      } +      { +        comp_obj_heading_                                = comp_obj_heading_.init; +        comp_obj_heading_.metainfo.is_of_part            = "backmatter"; +        comp_obj_heading_.metainfo.is_of_section         = "bookindex"; +        comp_obj_heading_.metainfo.is_of_type            = "para"; +        comp_obj_heading_.metainfo.is_a                  = "heading"; +        comp_obj_heading_.text                           = "Index"; +        comp_obj_heading_.metainfo.ocn                   = 0; +        comp_obj_heading_.metainfo.identifier            = ""; +        comp_obj_heading_.metainfo.dummy_heading         = true; +        comp_obj_heading_.metainfo.object_number_off     = true; +        comp_obj_heading_.metainfo.object_number_type    = 0; +        comp_obj_heading_.tags.segment_anchor_tag_epub   = "bookindex"; +        comp_obj_heading_.tags.anchor_tag_html           = comp_obj_heading_.tags.segment_anchor_tag_epub; +        comp_obj_heading_.tags.in_segment_html           = comp_obj_heading_.tags.anchor_tag_html; +        comp_obj_heading_.metainfo.heading_lev_markup    = 4; +        comp_obj_heading_.metainfo.heading_lev_collapsed = 2; +        comp_obj_heading_.metainfo.parent_ocn            = 1; +        comp_obj_heading_.metainfo.parent_lev_markup     = 0; +        comp_obj_heading.has.inline_links                = false; +        comp_obj_heading_.tags.anchor_tags               = ["bookindex"]; +        bookindex_section                                ~= comp_obj_heading_; +        tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; +        tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; +        ++mkn; +      }        import std.array : appender;        auto buffer = appender!(char[])();        string[dchar] transTable = [' ' : "_"]; @@ -6915,51 +6929,55 @@ struct NotesSection {      ObjGenericComposite comp_obj_heading_;      if ((endnotes_["notes"].length > 0)      && (opt_action.backmatter && opt_action.section_endnotes)) { -      comp_obj_heading_                                = comp_obj_heading_.init; -      comp_obj_heading_.metainfo.is_of_part            = "backmatter"; -      comp_obj_heading_.metainfo.is_of_section         = "endnotes"; -      comp_obj_heading_.metainfo.is_of_type            = "para"; -      comp_obj_heading_.metainfo.is_a                  = "heading"; -      comp_obj_heading_.text                           = "Endnotes"; -      comp_obj_heading_.metainfo.ocn                   = 0; -      comp_obj_heading_.metainfo.identifier            = ""; -      comp_obj_heading_.metainfo.dummy_heading         = false; -      comp_obj_heading_.metainfo.object_number_off     = true; -      comp_obj_heading_.metainfo.object_number_type    = 0; -      comp_obj_heading_.tags.segment_anchor_tag_epub   = "_part_endnotes"; -      comp_obj_heading_.tags.anchor_tag_html           = comp_obj_heading_.tags.segment_anchor_tag_epub; -      comp_obj_heading_.tags.in_segment_html           = "endnotes"; -      comp_obj_heading_.metainfo.heading_lev_markup    = 1; -      comp_obj_heading_.metainfo.heading_lev_collapsed = 1; -      comp_obj_heading_.metainfo.parent_ocn            = 1; -      comp_obj_heading_.metainfo.parent_lev_markup     = 0; -      the_endnotes_section                             ~= comp_obj_heading_; -      tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; -      tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; -      ++mkn; -      comp_obj_heading_                                = comp_obj_heading_.init; -      comp_obj_heading_.metainfo.is_of_part            = "backmatter"; -      comp_obj_heading_.metainfo.is_of_section         = "endnotes"; -      comp_obj_heading_.metainfo.is_of_type            = "para"; -      comp_obj_heading_.metainfo.is_a                  = "heading"; -      comp_obj_heading_.text                           = "Endnotes"; -      comp_obj_heading_.metainfo.ocn                   = 0; -      comp_obj_heading_.metainfo.identifier            = ""; -      comp_obj_heading_.metainfo.dummy_heading         = true; -      comp_obj_heading_.metainfo.object_number_off     = true; -      comp_obj_heading_.metainfo.object_number_type    = 0; -      comp_obj_heading_.tags.segment_anchor_tag_epub   = "endnotes"; -      comp_obj_heading_.tags.anchor_tag_html           = comp_obj_heading_.tags.segment_anchor_tag_epub; -      comp_obj_heading_.tags.in_segment_html           = comp_obj_heading_.tags.anchor_tag_html; -      comp_obj_heading_.metainfo.heading_lev_markup    = 4; -      comp_obj_heading_.metainfo.heading_lev_collapsed = 2; -      comp_obj_heading_.metainfo.parent_ocn            = 1; -      comp_obj_heading_.metainfo.parent_lev_markup     = 0; -      comp_obj_heading_.tags.anchor_tags               = ["endnotes"]; -      the_endnotes_section                             ~= comp_obj_heading_; -      tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; -      tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; -      ++mkn; +      { +        comp_obj_heading_                                = comp_obj_heading_.init; +        comp_obj_heading_.metainfo.is_of_part            = "backmatter"; +        comp_obj_heading_.metainfo.is_of_section         = "endnotes"; +        comp_obj_heading_.metainfo.is_of_type            = "para"; +        comp_obj_heading_.metainfo.is_a                  = "heading"; +        comp_obj_heading_.text                           = "Endnotes"; +        comp_obj_heading_.metainfo.ocn                   = 0; +        comp_obj_heading_.metainfo.identifier            = ""; +        comp_obj_heading_.metainfo.dummy_heading         = false; +        comp_obj_heading_.metainfo.object_number_off     = true; +        comp_obj_heading_.metainfo.object_number_type    = 0; +        comp_obj_heading_.tags.segment_anchor_tag_epub   = "_part_endnotes"; +        comp_obj_heading_.tags.anchor_tag_html           = comp_obj_heading_.tags.segment_anchor_tag_epub; +        comp_obj_heading_.tags.in_segment_html           = "endnotes"; +        comp_obj_heading_.metainfo.heading_lev_markup    = 1; +        comp_obj_heading_.metainfo.heading_lev_collapsed = 1; +        comp_obj_heading_.metainfo.parent_ocn            = 1; +        comp_obj_heading_.metainfo.parent_lev_markup     = 0; +        the_endnotes_section                             ~= comp_obj_heading_; +        tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; +        tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; +        ++mkn; +      } +      { +        comp_obj_heading_                                = comp_obj_heading_.init; +        comp_obj_heading_.metainfo.is_of_part            = "backmatter"; +        comp_obj_heading_.metainfo.is_of_section         = "endnotes"; +        comp_obj_heading_.metainfo.is_of_type            = "para"; +        comp_obj_heading_.metainfo.is_a                  = "heading"; +        comp_obj_heading_.text                           = "Endnotes"; +        comp_obj_heading_.metainfo.ocn                   = 0; +        comp_obj_heading_.metainfo.identifier            = ""; +        comp_obj_heading_.metainfo.dummy_heading         = true; +        comp_obj_heading_.metainfo.object_number_off     = true; +        comp_obj_heading_.metainfo.object_number_type    = 0; +        comp_obj_heading_.tags.segment_anchor_tag_epub   = "endnotes"; +        comp_obj_heading_.tags.anchor_tag_html           = comp_obj_heading_.tags.segment_anchor_tag_epub; +        comp_obj_heading_.tags.in_segment_html           = comp_obj_heading_.tags.anchor_tag_html; +        comp_obj_heading_.metainfo.heading_lev_markup    = 4; +        comp_obj_heading_.metainfo.heading_lev_collapsed = 2; +        comp_obj_heading_.metainfo.parent_ocn            = 1; +        comp_obj_heading_.metainfo.parent_lev_markup     = 0; +        comp_obj_heading_.tags.anchor_tags               = ["endnotes"]; +        the_endnotes_section                             ~= comp_obj_heading_; +        tag_assoc[comp_obj_heading_.tags.anchor_tag_html]["seg_lv4"]              = comp_obj_heading_.tags.in_segment_html; +        tag_assoc[comp_obj_heading_.tags.segment_anchor_tag_epub]["seg_lv1_to_4"] = comp_obj_heading_.tags.segment_anchor_tag_epub; +        ++mkn; +      }      } else {        comp_obj_heading_                                = comp_obj_heading_.init;        comp_obj_heading_.metainfo.is_of_part            = "empty"; diff --git a/org/meta_conf_make_meta.org b/org/meta_conf_make_meta.org index a27a18a..853134f 100644 --- a/org/meta_conf_make_meta.org +++ b/org/meta_conf_make_meta.org @@ -67,9 +67,9 @@ import    doc_reform.meta.defaults,    doc_reform.meta.rgx;  mixin DocReformRgxInit; -static auto _rgx = Rgx(); +static auto rgx = Rgx();  mixin InternalMarkup; -auto _mkup = InlineMarkup(); +auto mkup = InlineMarkup();  #+END_SRC  ** struct Generic ConfComposite @@ -79,43 +79,43 @@ auto _mkup = InlineMarkup();  string url_markup(string line) {    string line_ = line      .replaceAll( -      _rgx.smid_inline_link_markup_regular, +      rgx.smid_inline_link_markup_regular,        ("$1" -        ~ _mkup.lnk_o ~ "$2" ~ _mkup.lnk_c -        ~ _mkup.url_o ~ "$3" ~ _mkup.url_c +        ~ mkup.lnk_o ~ "$2" ~ mkup.lnk_c +        ~ mkup.url_o ~ "$3" ~ mkup.url_c        ) // ("$1{ $2 }$3$4")      )      .replaceAll( -        _rgx.smid_inline_link_naked_url, +        rgx.smid_inline_link_naked_url,          ("$1" -          ~ _mkup.lnk_o ~ "$2" ~ _mkup.lnk_c -          ~ _mkup.url_o ~ "$2" ~ _mkup.url_c +          ~ mkup.lnk_o ~ "$2" ~ mkup.lnk_c +          ~ mkup.url_o ~ "$2" ~ mkup.url_c          ) // ("$1{ $2 }$2$3")      )      .replaceAll( -       _rgx.arr_delimiter, -       _mkup.br_line +       rgx.arr_delimiter, +       mkup.br_line      );    return line_;  }  struct ConfCompositeMakeStr { -  string bold; -  string breaks; -  string cover_image; -  string css; -  string emphasis; -  string[] footer; -  string[] headings; -  string[] home_button_image; -  string home_button_text = "{Doc Reform}http://www.doc-reform.org;" +  string     bold; +  string     breaks; +  string     cover_image; +  string     css; +  string     emphasis; +  string[]   footer; +  string[]   headings; +  string[]   home_button_image; +  string     home_button_text = "{Doc Reform}http://www.doc-reform.org;"      ~ " {www.doc-reform.org}http://www.doc-reform.org;"      ~ " {sources / git}https://git.doc-reform.org/software/doc-reform"; -  string italics; -  string auto_num_top_at_level; -  int auto_num_top_lv               = 9; -  int auto_num_depth                = 2; +  string     italics; +  string     auto_num_top_at_level; +  int        auto_num_top_lv           = 9; +  int        auto_num_depth            = 2;    string[][] substitute; -  string texpdf_font; +  string     texpdf_font;  }  struct confCompositeMakeBuild {    string[] bold(string _mk) { @@ -189,23 +189,23 @@ struct confCompositeMakeBuild {  #+name: meta_defaults_template_structs  #+BEGIN_SRC d  struct ConfCompositeMakeInit { -  string[] bold; -  string breaks; -  string cover_image; -  string css; -  string[] emphasis; -  string[] footer; -  string[] headings; -  string[] home_button_image; -  string home_button_text = "{Doc Reform}http://www.doc-reform.org;" +  string[]   bold; +  string     breaks; +  string     cover_image; +  string     css; +  string[]   emphasis; +  string[]   footer; +  string[]   headings; +  string[]   home_button_image; +  string     home_button_text = "{Doc Reform}http://www.doc-reform.org;"      ~ " {www.doc-reform.org}http://www.doc-reform.org;"      ~ " {sources / git}https://git.doc-reform.org/software/doc-reform";    string[] italics; -  string auto_num_top_at_level; -  int auto_num_top_lv               = 9; -  int auto_num_depth                = 2; +  string     auto_num_top_at_level; +  int        auto_num_top_lv               = 9; +  int        auto_num_depth                = 2;    string[][] substitute; -  string texpdf_font; +  string     texpdf_font;  }  #+END_SRC @@ -255,53 +255,53 @@ struct ConfCompositeSiteLocal {  #+name: meta_defaults_template_structs  #+BEGIN_SRC d  struct MetaComposite { -  string classify_dewey; -  string classify_keywords; -  string classify_loc; -  string classify_subject; -  string classify_topic_register; -  string creator_author; -  string creator_author_email; -  string creator_illustrator; -  string creator_translator; -  string date_added_to_site; -  string date_available; -  string date_created; -  string date_issued; -  string date_modified; -  string date_published; -  string date_valid; -  string identifier_isbn; -  string identifier_oclc; -  string identifier_pg; -  string language_document; -  string language_document_char; -  string links; -  string notes_abstract; -  string notes_description; -  string original_language; -  string original_language_char; -  string original_publisher; -  string original_source; -  string original_title; -  string publisher; -  string rights_copyright; -  string rights_copyright_audio; -  string rights_copyright_cover; -  string rights_copyright_illustrations; -  string rights_copyright_photographs; -  string rights_copyright_text; -  string rights_copyright_translation; -  string rights_copyright_video; -  string rights_license; -  string title_edition; -  string title_full; -  string title_language; -  string title_main; -  string title_note; -  string title_short; -  string title_sub; -  string title_subtitle; +  string   classify_dewey; +  string   classify_keywords; +  string   classify_loc; +  string   classify_subject; +  string   classify_topic_register; +  string   creator_author; +  string   creator_author_email; +  string   creator_illustrator; +  string   creator_translator; +  string   date_added_to_site; +  string   date_available; +  string   date_created; +  string   date_issued; +  string   date_modified; +  string   date_published; +  string   date_valid; +  string   identifier_isbn; +  string   identifier_oclc; +  string   identifier_pg; +  string   language_document; +  string   language_document_char; +  string   links; +  string   notes_abstract; +  string   notes_description; +  string   original_language; +  string   original_language_char; +  string   original_publisher; +  string   original_source; +  string   original_title; +  string   publisher; +  string   rights_copyright; +  string   rights_copyright_audio; +  string   rights_copyright_cover; +  string   rights_copyright_illustrations; +  string   rights_copyright_photographs; +  string   rights_copyright_text; +  string   rights_copyright_translation; +  string   rights_copyright_video; +  string   rights_license; +  string   title_edition; +  string   title_full; +  string   title_language; +  string   title_main; +  string   title_note; +  string   title_short; +  string   title_sub; +  string   title_subtitle;  }  #+END_SRC @@ -446,7 +446,7 @@ static template contentJSONtoDocReformStruct() {    ConfCompositePlus _struct_composite;    auto contentJSONtoDocReformStruct(C,J)(C _struct_composite, J _json, string _identifier) {      mixin DocReformRgxInit; -    static auto _rgx = Rgx(); +    static auto rgx = Rgx();      debug (json) {        writeln(">> --------------------------- >>");        foreach (tag0; _json.object.byKeyValue) { @@ -503,7 +503,7 @@ if ("make" in _json.object) {      if (_json.object["make"]["footer"].type().to!string == "string") {        char[][] __match_footer_array          = (cast(char[]) _json.object["make"]["footer"].str) -          .split(_rgx.make_heading_delimiter); +          .split(rgx.make_heading_delimiter);        _struct_composite.make_str.footer = __match_footer_array.to!(string[]);      } else if (_json.object["make"]["footer"].type().to!string == "array") {        string[] _match_footer_array; @@ -517,7 +517,7 @@ if ("make" in _json.object) {      if (_json.object["make"]["headings"].type().to!string == "string") {       char[][] __match_headings_array          = (cast(char[]) _json.object["make"]["headings"].str) -          .split(_rgx.make_heading_delimiter); +          .split(rgx.make_heading_delimiter);        _struct_composite.make_str.headings = __match_headings_array.to!(string[]);      } else if (_json.object["make"]["headings"].type().to!string == "array") {        string[] _match_headings_array; @@ -531,7 +531,7 @@ if ("make" in _json.object) {      if (_json.object["make"]["home_button_image"].type().to!string == "string") {       char[][] __match_home_button_image_array          = (cast(char[]) _json.object["make"]["home_button_image"].str) -          .split(_rgx.make_heading_delimiter); +          .split(rgx.make_heading_delimiter);        _struct_composite.make_str.home_button_image = __match_home_button_image_array.to!(string[]);      } else if (_json.object["make"]["home_button_image"].type().to!string == "array") {        string[] _match_home_button_image_array; @@ -643,7 +643,7 @@ if ("webserv" in _json.object) {      && (_json.object["webserv"]["url_root"].type().to!string == "string")    ) {      _struct_composite.conf.webserv_url_doc_root = _json.object["webserv"]["url_root"].str; -    if (auto m = _struct_composite.conf.webserv_url_doc_root.match(_rgx.webserv_url_doc_root)) { +    if (auto m = _struct_composite.conf.webserv_url_doc_root.match(rgx.webserv_url_doc_root)) {        _struct_composite.conf.webserv_url_domain = m.captures[2].to!string;        _struct_composite.conf.webserv_url_doc_path = m.captures[3].to!string;      } @@ -981,9 +981,9 @@ if (_struct_composite.meta.creator_author.empty) {    }    string[] authors_arr;    string[] authors_raw_arr -    = _struct_composite.meta.creator_author.split(_rgx.arr_delimiter); +    = _struct_composite.meta.creator_author.split(rgx.arr_delimiter);    foreach (author_raw; authors_raw_arr) { -    authors_arr ~= author_raw.replace(_rgx.raw_author_munge, "$2 $1"); +    authors_arr ~= author_raw.replace(rgx.raw_author_munge, "$2 $1");    }    _struct_composite.meta.creator_author = join(authors_arr, ", ").chomp.chomp;  } | 
