diff options
| author | Ralph Amissah <ralph@amissah.com> | 2016-09-12 11:04:51 -0400 | 
|---|---|---|
| committer | Ralph Amissah <ralph@amissah.com> | 2019-04-10 15:14:13 -0400 | 
| commit | 650ab89ea68c7c9df94a035b7a8771c291489f30 (patch) | |
| tree | ff8bd3242316a29daa6b05576faf44ed38d164ea | |
| parent | heading debug info, moved (diff) | |
make header_make available in creating abstract objects
| -rw-r--r-- | org/ao_abstract_doc_source.org | 36 | ||||
| -rw-r--r-- | org/ao_conf_make_meta.org | 391 | ||||
| -rw-r--r-- | src/sdp/ao_abstract_doc_source.d | 36 | ||||
| -rw-r--r-- | src/sdp/ao_conf_make_meta_sdlang.d | 391 | 
4 files changed, 40 insertions, 814 deletions
| diff --git a/org/ao_abstract_doc_source.org b/org/ao_abstract_doc_source.org index 12fd0a5..020d9ed 100644 --- a/org/ao_abstract_doc_source.org +++ b/org/ao_abstract_doc_source.org @@ -295,7 +295,7 @@ if ((matchFirst(line, rgx.heading_biblio)  #+BEGIN_SRC d  } else if (type["poem"] == TriState.on) {    /+ within block object: poem +/ -  poem_block(line, an_object, type, counter, obj_cite_number_poem); +  poem_block(line, an_object, type, counter, obj_cite_number_poem, dochead_make_aa);    continue;  #+END_SRC @@ -514,7 +514,7 @@ if (matchFirst(line, rgx.block_open)) {  #+BEGIN_SRC d  } else if (type["blocks"] == TriState.closing) {    /+ line empty, with blocks flag +/ -  block_flag_line_empty(line, an_object, contents_the_objects, bookindex_unordered_hashes, obj_cite_number, node, counter, type, obj_cite_number_poem); // watch +  block_flag_line_empty(line, an_object, contents_the_objects, bookindex_unordered_hashes, obj_cite_number, node, counter, type, obj_cite_number_poem, dochead_make_aa); // watch  #+END_SRC  ****** line empty [+1] @@ -563,7 +563,7 @@ if ((type["heading"] == State.on)        an_object["is"]      ); // heading    an_object["substantive"] = -    obj_im.obj_inline_markup(an_object["is"], an_object["obj"]); +    obj_im.obj_inline_markup(an_object["is"], an_object["obj"], dochead_make_aa);    an_object["attrib"] =      obj_att.obj_attributes(an_object["is"], an_object["obj"], node);    ++heading_pointer; @@ -611,7 +611,7 @@ if ((type["heading"] == State.on)        an_object["is"]      );    an_object["substantive"] = -    obj_im.obj_inline_markup(an_object["is"], an_object["obj"]); +    obj_im.obj_inline_markup(an_object["is"], an_object["obj"], dochead_make_aa);    an_object["attrib"] =      obj_att.obj_attributes(an_object["is"], an_object["obj"], node);    contents_the_objects ~= @@ -700,7 +700,7 @@ debug(objectrelated2) { // check    * references / bibliography    * book index  +/ -obj_im.obj_inline_markup("doc_end_reset", ""); +obj_im.obj_inline_markup("doc_end_reset", "", dochead_make_aa);  #+END_SRC  *** [#B] endnotes                                                  :endnotes: @@ -1313,7 +1313,8 @@ auto poem_block(    ref string[string] an_object,    ref int[string] type,    ref long counter, -  string[string] obj_cite_number_poem +  string[string] obj_cite_number_poem, +  string[string][string] dochead_make_aa,  ) {    if (type["curly_poem"] == TriState.on) {      if (matchFirst(line, rgx.block_curly_poem_close)) { @@ -1346,7 +1347,7 @@ auto poem_block(          }          an_object["is"] = "verse";          an_object["substantive"] = -          obj_im.obj_inline_markup(an_object["is"], an_object["obj"]); +          obj_im.obj_inline_markup(an_object["is"], an_object["obj"], dochead_make_aa);          an_object["attrib"] =            obj_att.obj_attributes(an_object["is"], an_object["obj"], node);          contents_the_objects ~= @@ -1395,7 +1396,7 @@ auto poem_block(            an_object["is"]          );          an_object["substantive"] = -          obj_im.obj_inline_markup(an_object["is"], an_object["obj"]); +          obj_im.obj_inline_markup(an_object["is"], an_object["obj"], dochead_make_aa);          an_object["attrib"] =            obj_att.obj_attributes(an_object["is"], an_object["obj"], node);          contents_the_objects ~= @@ -1430,7 +1431,7 @@ auto poem_block(          processing.remove("verse");          an_object["is"] = "verse";          an_object["substantive"] = -          obj_im.obj_inline_markup(an_object["is"], an_object["obj"]); +          obj_im.obj_inline_markup(an_object["is"], an_object["obj"], dochead_make_aa);          an_object["attrib"] =            obj_att.obj_attributes(an_object["is"], an_object["obj"], node);          contents_the_objects ~= @@ -1479,7 +1480,7 @@ auto poem_block(              an_object["is"]            );          an_object["substantive"] = -          obj_im.obj_inline_markup(an_object["is"], an_object["obj"]); +          obj_im.obj_inline_markup(an_object["is"], an_object["obj"], dochead_make_aa);          an_object["attrib"] =            obj_att.obj_attributes(an_object["is"], an_object["obj"], node);          contents_the_objects ~= @@ -1672,7 +1673,8 @@ auto block_flag_line_empty(    ref string node,    ref long counter,    ref int[string] type, -  string[string] obj_cite_number_poem +  string[string] obj_cite_number_poem, +  string[string][string] dochead_make_aa,  ) {    // line.empty, post contents, empty variables ---------------    assert( @@ -1701,7 +1703,7 @@ auto block_flag_line_empty(          an_object["is"]        );      an_object["substantive"] = -      obj_im.obj_inline_markup(an_object["is"], an_object["obj"]); +      obj_im.obj_inline_markup(an_object["is"], an_object["obj"], dochead_make_aa);      an_object["attrib"] =        obj_att.obj_attributes(an_object["is"], an_object["obj"], node);      contents_the_objects ~= @@ -1761,7 +1763,7 @@ auto block_flag_line_empty(          an_object["is"]        );      an_object["substantive"] = -      obj_im.obj_inline_markup(an_object["is"], an_object["obj"]); +      obj_im.obj_inline_markup(an_object["is"], an_object["obj"], dochead_make_aa);      an_object["attrib"] =        obj_att.obj_attributes(an_object["is"], an_object["obj"], node);      contents_the_objects ~= @@ -1793,7 +1795,7 @@ auto block_flag_line_empty(          an_object["is"]        );      an_object["substantive"] = -      obj_im.obj_inline_markup(an_object["is"], an_object["obj"]); +      obj_im.obj_inline_markup(an_object["is"], an_object["obj"], dochead_make_aa);      an_object["attrib"] =        obj_att.obj_attributes(an_object["is"], an_object["obj"], node);      contents_the_objects ~= @@ -1824,7 +1826,7 @@ auto block_flag_line_empty(          an_object["is"]         );      an_object["substantive"] = -      obj_im.obj_inline_markup(an_object["is"], an_object["obj"]); +      obj_im.obj_inline_markup(an_object["is"], an_object["obj"], dochead_make_aa);      an_object["attrib"] =        obj_att.obj_attributes(an_object["is"], an_object["obj"], node);      contents_the_objects ~= @@ -1856,7 +1858,7 @@ auto block_flag_line_empty(          an_object["is"]        );      an_object["substantive"] = -      obj_im.obj_inline_markup(an_object["is"], an_object["obj"]); +      obj_im.obj_inline_markup(an_object["is"], an_object["obj"], dochead_make_aa);      an_object["attrib"] =        obj_att.obj_attributes(an_object["is"], an_object["obj"], node);      contents_the_objects ~= @@ -2676,7 +2678,7 @@ struct ObjInlineMarkup {  // struct ObjInlineMarkup : AssertObjInlineMarkup {    auto munge = ObjInlineMarkupMunge();    string[string] obj_txt; -  string obj_inline_markup(string obj_is_, string obj_raw) +  string obj_inline_markup(string obj_is_, string obj_raw, string[string][string] dochead_make_aa)    in { }    body {      obj_txt["munge"]=obj_raw.dup; diff --git a/org/ao_conf_make_meta.org b/org/ao_conf_make_meta.org index 6bb8ad4..a67910e 100644 --- a/org/ao_conf_make_meta.org +++ b/org/ao_conf_make_meta.org @@ -22,7 +22,7 @@ private auto sdlangToAAmake(string[string][string] conf, Tag conf_sdlang) {      foreach (subtag, content; subtags) {        if (!(conf_sdlang.maybe.tags[maintag].empty)) {          if (!(conf_sdlang.tags[maintag][0].maybe.attributes[subtag].empty) -        && (conf_sdlang.tags[maintag][0].attributes[subtag][0].value.length > 1)) { +        && (conf_sdlang.tags[maintag][0].attributes[subtag][0].value.length > 0)) {            debug(headersdlang) {              writeln(conf_sdlang.tags[maintag][0].attributes[subtag][0].value);            } @@ -604,395 +604,6 @@ private auto headerSDLangGet(in char[] src_header) {  private auto headerSDLangToAAmake(Tag header_sdlang, string[string][string] dochead_make) {    dochead_make = sdlangToAAmake(dochead_make, header_sdlang);    auto dochead_meta = sdlangToAAmake(meta_aa, header_sdlang); -  /+ -  /+ dochead +/ -  string hm; -  string hs; -  /+ meta +/ -  auto dochead_meta = meta_aa; -  hm = "title"; -  if (!(header_sdlang.maybe.tags[hm].empty)) { -    /+ TODO Title REQUIRED +/ -    hs = "main"; -    if (!(header_sdlang.tags[hm].empty) -    && (header_sdlang.tags[hm][0].values[0].length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].values[0]); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].values[0]); -        // to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } else if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } else { -      writeln("Required header metadata Title, missing"); -    } -    hs = "sub"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } else if (!(header_sdlang.tags[hm][0].maybe.attributes["subtitle"].empty) -    && (header_sdlang.tags[hm][0].attributes["subtitle"][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes["subtitle"][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes["subtitle"][0].value); -    } -    // full title composite (main + sub) -    // hs = "full"; -    // dochead_meta[hm][hs] = dochead_meta[hm]["main"] ~ dochead_meta[hm]["sub"]; -    hs = "language"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes["lang"].empty) -    && (header_sdlang.tags[hm][0].attributes["lang"][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes["lang"][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes["lang"][0].value); -    } else if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "edition"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "note"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -  } -  hm = "creator"; -  if (!(header_sdlang.maybe.tags[hm].empty)) { -    /+ Creator / Author REQUIRED +/ -    /+ TODO -    - decide on representation for & deal with multiple authors; -    - author(s) full name; -    - author(s) surname & other parts -    +/ -    hs = "author"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "author_email"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "illustrator"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "translator"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -  } -  hm = "classify"; -  if (!(header_sdlang.maybe.tags[hm].empty)) { -    hs = "dewey"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "keywords"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "loc"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "subject"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "topic_register"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -  } -  hm = "date"; -  if (!(header_sdlang.maybe.tags[hm].empty)) { -    hs = "added_to_site"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "available"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "created"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "issued"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "modified"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "published"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "valid"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -  } -  hm = "identifier"; -  if (!(header_sdlang.maybe.tags[hm].empty)) { -    hs = "isbn"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "oclc"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "pg"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -  } -  hm = "links"; -  if (!(header_sdlang.maybe.tags[hm].empty)) { -    /+ TODO -      stuff to fix -    +/ -    // hs = "link"; -    // if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    // && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -    //   debug(headersdlang) { -    //     writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -    //   } -    //   dochead_meta[hm][hs] = -    //     to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    // } -  } -  hm = "notes"; -  if (!(header_sdlang.maybe.tags[hm].empty)) { -    hs = "abstract"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "description"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -  } -  hm = "original"; -  if (!(header_sdlang.maybe.tags[hm].empty)) { -    hs = "language"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "source"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "title"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -  } -  hm = "publisher"; -  if (!(header_sdlang.maybe.tags[hm].empty)) { -    hs = "name"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -  } -  hm = "rights"; -  if (!(header_sdlang.maybe.tags[hm].empty)) { -    hs = "copyright"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "cover"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "illustrations"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "license"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      debug(headersdlang) { -        writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      } -      dochead_meta[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -  } -  +/    auto t = tuple(dochead_make, dochead_meta);    static assert(!isTypeTuple!(t));    return t; diff --git a/src/sdp/ao_abstract_doc_source.d b/src/sdp/ao_abstract_doc_source.d index 603c025..9851759 100644 --- a/src/sdp/ao_abstract_doc_source.d +++ b/src/sdp/ao_abstract_doc_source.d @@ -237,7 +237,7 @@ template SiSUdocAbstraction() {              continue;            } else if (type["poem"] == TriState.on) {              /+ within block object: poem +/ -            poem_block(line, an_object, type, counter, obj_cite_number_poem); +            poem_block(line, an_object, type, counter, obj_cite_number_poem, dochead_make_aa);              continue;            /+ within block object: group +/            } else if (type["group"] == TriState.on) { @@ -360,7 +360,7 @@ template SiSUdocAbstraction() {                }              } else if (type["blocks"] == TriState.closing) {                /+ line empty, with blocks flag +/ -              block_flag_line_empty(line, an_object, contents_the_objects, bookindex_unordered_hashes, obj_cite_number, node, counter, type, obj_cite_number_poem); // watch +              block_flag_line_empty(line, an_object, contents_the_objects, bookindex_unordered_hashes, obj_cite_number, node, counter, type, obj_cite_number_poem, dochead_make_aa); // watch              } else {                /+ line empty +/                /+ line.empty, post contents, empty variables: +/ @@ -391,7 +391,7 @@ template SiSUdocAbstraction() {                      an_object["is"]                    ); // heading                  an_object["substantive"] = -                  obj_im.obj_inline_markup(an_object["is"], an_object["obj"]); +                  obj_im.obj_inline_markup(an_object["is"], an_object["obj"], dochead_make_aa);                  an_object["attrib"] =                    obj_att.obj_attributes(an_object["is"], an_object["obj"], node);                  ++heading_pointer; @@ -433,7 +433,7 @@ template SiSUdocAbstraction() {                      an_object["is"]                    );                  an_object["substantive"] = -                  obj_im.obj_inline_markup(an_object["is"], an_object["obj"]); +                  obj_im.obj_inline_markup(an_object["is"], an_object["obj"], dochead_make_aa);                  an_object["attrib"] =                    obj_att.obj_attributes(an_object["is"], an_object["obj"], node);                  contents_the_objects ~= @@ -504,7 +504,7 @@ template SiSUdocAbstraction() {          * references / bibliography          * book index        +/ -      obj_im.obj_inline_markup("doc_end_reset", ""); +      obj_im.obj_inline_markup("doc_end_reset", "", dochead_make_aa);        auto en_tuple =          note_section.endnote_objects(obj_cite_number);        static assert(!isTypeTuple!(en_tuple)); @@ -935,7 +935,8 @@ template SiSUdocAbstraction() {        ref string[string] an_object,        ref int[string] type,        ref long counter, -      string[string] obj_cite_number_poem +      string[string] obj_cite_number_poem, +      string[string][string] dochead_make_aa,      ) {        if (type["curly_poem"] == TriState.on) {          if (matchFirst(line, rgx.block_curly_poem_close)) { @@ -968,7 +969,7 @@ template SiSUdocAbstraction() {              }              an_object["is"] = "verse";              an_object["substantive"] = -              obj_im.obj_inline_markup(an_object["is"], an_object["obj"]); +              obj_im.obj_inline_markup(an_object["is"], an_object["obj"], dochead_make_aa);              an_object["attrib"] =                obj_att.obj_attributes(an_object["is"], an_object["obj"], node);              contents_the_objects ~= @@ -1017,7 +1018,7 @@ template SiSUdocAbstraction() {                an_object["is"]              );              an_object["substantive"] = -              obj_im.obj_inline_markup(an_object["is"], an_object["obj"]); +              obj_im.obj_inline_markup(an_object["is"], an_object["obj"], dochead_make_aa);              an_object["attrib"] =                obj_att.obj_attributes(an_object["is"], an_object["obj"], node);              contents_the_objects ~= @@ -1052,7 +1053,7 @@ template SiSUdocAbstraction() {              processing.remove("verse");              an_object["is"] = "verse";              an_object["substantive"] = -              obj_im.obj_inline_markup(an_object["is"], an_object["obj"]); +              obj_im.obj_inline_markup(an_object["is"], an_object["obj"], dochead_make_aa);              an_object["attrib"] =                obj_att.obj_attributes(an_object["is"], an_object["obj"], node);              contents_the_objects ~= @@ -1101,7 +1102,7 @@ template SiSUdocAbstraction() {                  an_object["is"]                );              an_object["substantive"] = -              obj_im.obj_inline_markup(an_object["is"], an_object["obj"]); +              obj_im.obj_inline_markup(an_object["is"], an_object["obj"], dochead_make_aa);              an_object["attrib"] =                obj_att.obj_attributes(an_object["is"], an_object["obj"], node);              contents_the_objects ~= @@ -1264,7 +1265,8 @@ template SiSUdocAbstraction() {        ref string node,        ref long counter,        ref int[string] type, -      string[string] obj_cite_number_poem +      string[string] obj_cite_number_poem, +      string[string][string] dochead_make_aa,      ) {        // line.empty, post contents, empty variables ---------------        assert( @@ -1293,7 +1295,7 @@ template SiSUdocAbstraction() {              an_object["is"]            );          an_object["substantive"] = -          obj_im.obj_inline_markup(an_object["is"], an_object["obj"]); +          obj_im.obj_inline_markup(an_object["is"], an_object["obj"], dochead_make_aa);          an_object["attrib"] =            obj_att.obj_attributes(an_object["is"], an_object["obj"], node);          contents_the_objects ~= @@ -1353,7 +1355,7 @@ template SiSUdocAbstraction() {              an_object["is"]            );          an_object["substantive"] = -          obj_im.obj_inline_markup(an_object["is"], an_object["obj"]); +          obj_im.obj_inline_markup(an_object["is"], an_object["obj"], dochead_make_aa);          an_object["attrib"] =            obj_att.obj_attributes(an_object["is"], an_object["obj"], node);          contents_the_objects ~= @@ -1385,7 +1387,7 @@ template SiSUdocAbstraction() {              an_object["is"]            );          an_object["substantive"] = -          obj_im.obj_inline_markup(an_object["is"], an_object["obj"]); +          obj_im.obj_inline_markup(an_object["is"], an_object["obj"], dochead_make_aa);          an_object["attrib"] =            obj_att.obj_attributes(an_object["is"], an_object["obj"], node);          contents_the_objects ~= @@ -1416,7 +1418,7 @@ template SiSUdocAbstraction() {              an_object["is"]             );          an_object["substantive"] = -          obj_im.obj_inline_markup(an_object["is"], an_object["obj"]); +          obj_im.obj_inline_markup(an_object["is"], an_object["obj"], dochead_make_aa);          an_object["attrib"] =            obj_att.obj_attributes(an_object["is"], an_object["obj"], node);          contents_the_objects ~= @@ -1448,7 +1450,7 @@ template SiSUdocAbstraction() {              an_object["is"]            );          an_object["substantive"] = -          obj_im.obj_inline_markup(an_object["is"], an_object["obj"]); +          obj_im.obj_inline_markup(an_object["is"], an_object["obj"], dochead_make_aa);          an_object["attrib"] =            obj_att.obj_attributes(an_object["is"], an_object["obj"], node);          contents_the_objects ~= @@ -2213,7 +2215,7 @@ template SiSUdocAbstraction() {      // struct ObjInlineMarkup : AssertObjInlineMarkup {        auto munge = ObjInlineMarkupMunge();        string[string] obj_txt; -      string obj_inline_markup(string obj_is_, string obj_raw) +      string obj_inline_markup(string obj_is_, string obj_raw, string[string][string] dochead_make_aa)        in { }        body {          obj_txt["munge"]=obj_raw.dup; diff --git a/src/sdp/ao_conf_make_meta_sdlang.d b/src/sdp/ao_conf_make_meta_sdlang.d index 9369aef..9124697 100644 --- a/src/sdp/ao_conf_make_meta_sdlang.d +++ b/src/sdp/ao_conf_make_meta_sdlang.d @@ -15,7 +15,7 @@ template SiSUheaderExtractSDLang() {          foreach (subtag, content; subtags) {            if (!(conf_sdlang.maybe.tags[maintag].empty)) {              if (!(conf_sdlang.tags[maintag][0].maybe.attributes[subtag].empty) -            && (conf_sdlang.tags[maintag][0].attributes[subtag][0].value.length > 1)) { +            && (conf_sdlang.tags[maintag][0].attributes[subtag][0].value.length > 0)) {                debug(headersdlang) {                  writeln(conf_sdlang.tags[maintag][0].attributes[subtag][0].value);                } @@ -235,395 +235,6 @@ template SiSUheaderExtractSDLang() {      private auto headerSDLangToAAmake(Tag header_sdlang, string[string][string] dochead_make) {        dochead_make = sdlangToAAmake(dochead_make, header_sdlang);        auto dochead_meta = sdlangToAAmake(meta_aa, header_sdlang); -      /+ -      /+ dochead +/ -      string hm; -      string hs; -      /+ meta +/ -      auto dochead_meta = meta_aa; -      hm = "title"; -      if (!(header_sdlang.maybe.tags[hm].empty)) { -        /+ TODO Title REQUIRED +/ -        hs = "main"; -        if (!(header_sdlang.tags[hm].empty) -        && (header_sdlang.tags[hm][0].values[0].length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].values[0]); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].values[0]); -            // to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } else if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } else { -          writeln("Required header metadata Title, missing"); -        } -        hs = "sub"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } else if (!(header_sdlang.tags[hm][0].maybe.attributes["subtitle"].empty) -        && (header_sdlang.tags[hm][0].attributes["subtitle"][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes["subtitle"][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes["subtitle"][0].value); -        } -        // full title composite (main + sub) -        // hs = "full"; -        // dochead_meta[hm][hs] = dochead_meta[hm]["main"] ~ dochead_meta[hm]["sub"]; -        hs = "language"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes["lang"].empty) -        && (header_sdlang.tags[hm][0].attributes["lang"][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes["lang"][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes["lang"][0].value); -        } else if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "edition"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "note"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -      } -      hm = "creator"; -      if (!(header_sdlang.maybe.tags[hm].empty)) { -        /+ Creator / Author REQUIRED +/ -        /+ TODO -        - decide on representation for & deal with multiple authors; -        - author(s) full name; -        - author(s) surname & other parts -        +/ -        hs = "author"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "author_email"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "illustrator"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "translator"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -      } -      hm = "classify"; -      if (!(header_sdlang.maybe.tags[hm].empty)) { -        hs = "dewey"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "keywords"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "loc"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "subject"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "topic_register"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -      } -      hm = "date"; -      if (!(header_sdlang.maybe.tags[hm].empty)) { -        hs = "added_to_site"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "available"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "created"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "issued"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "modified"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "published"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "valid"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -      } -      hm = "identifier"; -      if (!(header_sdlang.maybe.tags[hm].empty)) { -        hs = "isbn"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "oclc"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "pg"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -      } -      hm = "links"; -      if (!(header_sdlang.maybe.tags[hm].empty)) { -        /+ TODO -          stuff to fix -        +/ -        // hs = "link"; -        // if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        // && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -        //   debug(headersdlang) { -        //     writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -        //   } -        //   dochead_meta[hm][hs] = -        //     to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        // } -      } -      hm = "notes"; -      if (!(header_sdlang.maybe.tags[hm].empty)) { -        hs = "abstract"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "description"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -      } -      hm = "original"; -      if (!(header_sdlang.maybe.tags[hm].empty)) { -        hs = "language"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "source"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "title"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -      } -      hm = "publisher"; -      if (!(header_sdlang.maybe.tags[hm].empty)) { -        hs = "name"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -      } -      hm = "rights"; -      if (!(header_sdlang.maybe.tags[hm].empty)) { -        hs = "copyright"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "cover"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "illustrations"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "license"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          debug(headersdlang) { -            writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          } -          dochead_meta[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -      } -      +/        auto t = tuple(dochead_make, dochead_meta);        static assert(!isTypeTuple!(t));        return t; | 
