diff options
| -rw-r--r-- | org/ao_header_extract.org | 740 | ||||
| -rw-r--r-- | org/sdp.org | 2 | ||||
| -rw-r--r-- | src/sdp/ao_header_extract_sdlang.d | 734 | ||||
| -rw-r--r-- | views/version.txt | 2 | 
4 files changed, 48 insertions, 1430 deletions
| diff --git a/org/ao_header_extract.org b/org/ao_header_extract.org index 04ebdb6..ead930c 100644 --- a/org/ao_header_extract.org +++ b/org/ao_header_extract.org @@ -17,416 +17,39 @@  #+name: ao_header_extract_sdl  #+BEGIN_SRC d -private auto configSettingsSDLangToAAmake(Tag conf_sdlang) { -  /+ config settings +/ -  string hm; -  string hs; -  auto conf = conf_aa; -  hm = "webserv"; -  if (!(conf_sdlang.maybe.tags[hm].empty)) { -    hs = "url_root"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "path"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "images"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "cgi"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -  } -  hm = "webserv_cgi"; -  if (!(conf_sdlang.maybe.tags[hm].empty)) { -    hs = "host"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "base_path"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "port"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "user"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "file_links"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -  } -  hm = "processing"; -  if (!(conf_sdlang.maybe.tags[hm].empty)) { -    hs = "path"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "dir"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "concord_max"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -  } -  hm = "flag"; -  if (!(conf_sdlang.maybe.tags[hm].empty)) { -    hs = "act0"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "act0"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "act1"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "act2"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "act3"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "act4"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "act5"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "act6"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "act7"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "act8"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "act9"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -  } -  hm = "default"; -  if (!(conf_sdlang.maybe.tags[hm].empty)) { -    hs = "papersize"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "text_wrap"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "emphasis"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "language"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "digest"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -  } -  hm = "permission"; -  if (!(conf_sdlang.maybe.tags[hm].empty)) { -    hs = "share_source"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -  } -  hm = "program_select"; -  if (!(conf_sdlang.maybe.tags[hm].empty)) { -    hs = "editor"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "epub_viewer"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "html_viewer"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "odf_viewer"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "pdf_viewer"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "xml_viewer"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -  } -  hm = "search"; -  if (!(conf_sdlang.maybe.tags[hm].empty)) { -    hs = "flag"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "action"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "db"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "title"; -    if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -      conf[hm][hs] = -        to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); +private auto sdlangToAAmake(string[string][string] conf, Tag conf_sdlang) { +  foreach (maintag, subtags; conf) { +    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)) { +          writeln(conf_sdlang.tags[maintag][0].attributes[subtag][0].value); +          conf[maintag][subtag] = +            to!string(conf_sdlang.tags[maintag][0].attributes[subtag][0].value); +        } +      }      }    }    return conf;  }  #+END_SRC +* A. conf settings sdlang + +#+name: ao_header_extract_sdl +#+BEGIN_SRC d +private auto configSettingsSDLangToAAmake(Tag conf_sdlang) { +  auto conf = sdlangToAAmake(conf_aa, conf_sdlang); +  return conf; +} +#+END_SRC +  * B. conf make sdlang  #+name: ao_header_extract_sdl  #+BEGIN_SRC d  private auto documentMakeSDLangToAAmake(Tag document_make_sdlang) { -  /+ dochead +/ -  string hm; -  string hs; -  /+ make +/ -  auto dochead_make = make_aa; -  if (!(document_make_sdlang.maybe.tags["make"].empty)) { -    hm = "make"; -    hs = "bold"; -    if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -      dochead_make[hm][hs] = -        to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "breaks"; -    if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -      dochead_make[hm][hs] = -        to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "cover_image"; -    if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -      dochead_make[hm][hs] = -        to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "css"; -    if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -      dochead_make[hm][hs] = -        to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "emphasis"; -    if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -      dochead_make[hm][hs] = -        to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "footer"; -    if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -      dochead_make[hm][hs] = -        to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "headings"; -    if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -      dochead_make[hm][hs] = -        to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "home_button_image"; -    if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -      dochead_make[hm][hs] = -        to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "home_button_text"; -    if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -      dochead_make[hm][hs] = -        to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "italics"; -    if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -      dochead_make[hm][hs] = -        to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "num_top"; -    if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -      dochead_make[hm][hs] = -        to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "substitute"; -    if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -      dochead_make[hm][hs] = -        to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "texpdf_font"; -    if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -      dochead_make[hm][hs] = -        to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -    } -  } +  auto dochead_make = sdlangToAAmake(make_aa, document_make_sdlang);    /+    hm = "links";    if (!(document_make_sdlang.maybe.tags[hm].empty)) { @@ -844,104 +467,12 @@ private auto headerSDLangGet(in char[] src_header) {  #+name: ao_header_extract_sdl  #+BEGIN_SRC d  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; -  /+ make +/ -  if (!(header_sdlang.maybe.tags["make"].empty)) { -    hm = "make"; -    hs = "bold"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      dochead_make[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "breaks"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      dochead_make[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "cover_image"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      dochead_make[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "css"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      dochead_make[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "emphasis"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      dochead_make[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "footer"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      dochead_make[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "headings"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      dochead_make[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "home_button_image"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      dochead_make[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "home_button_text"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      dochead_make[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "italics"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      dochead_make[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "num_top"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      dochead_make[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "substitute"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      dochead_make[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -    hs = "texpdf_font"; -    if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -    && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -      writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -      dochead_make[hm][hs] = -        to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -    } -  }    /+ meta +/    auto dochead_meta = meta_aa;    hm = "title"; @@ -989,20 +520,6 @@ private auto headerSDLangToAAmake(Tag header_sdlang, string[string][string] doch        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)) { -      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)) { -      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)) { @@ -1019,141 +536,6 @@ private auto headerSDLangToAAmake(Tag header_sdlang, string[string][string] doch        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)) { -      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)) { -      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)) { -      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)) { -      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)) { -      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)) { -      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)) { -      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)) { -      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)) { -      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)) { -      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)) { -      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)) { -      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)) { -      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)) { -      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)) { -      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)) { -      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)) { -      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)) { -      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)) { @@ -1168,47 +550,6 @@ private auto headerSDLangToAAmake(Tag header_sdlang, string[string][string] doch      //     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)) { -      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)) { -      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)) { -      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)) { -      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)) { -      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"; @@ -1219,37 +560,8 @@ private auto headerSDLangToAAmake(Tag header_sdlang, string[string][string] doch          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)) { -      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)) { -      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)) { -      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)) { -      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/org/sdp.org b/org/sdp.org index c2a2642..ba5e04c 100644 --- a/org/sdp.org +++ b/org/sdp.org @@ -24,7 +24,7 @@ struct Version {    int minor;    int patch;  } -enum ver = Version(0, 6, 1); +enum ver = Version(0, 6, 2);  #+END_SRC  * sdp.d   sisu document parser                                       :sdp.d: diff --git a/src/sdp/ao_header_extract_sdlang.d b/src/sdp/ao_header_extract_sdlang.d index d4e9e36..16a36e9 100644 --- a/src/sdp/ao_header_extract_sdlang.d +++ b/src/sdp/ao_header_extract_sdlang.d @@ -10,410 +10,27 @@ template SiSUheaderExtractSDLang() {      mixin SiSUregisters;      mixin RgxInit;      auto rgx = Rgx(); -    private auto configSettingsSDLangToAAmake(Tag conf_sdlang) { -      /+ config settings +/ -      string hm; -      string hs; -      auto conf = conf_aa; -      hm = "webserv"; -      if (!(conf_sdlang.maybe.tags[hm].empty)) { -        hs = "url_root"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "path"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "images"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "cgi"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -      } -      hm = "webserv_cgi"; -      if (!(conf_sdlang.maybe.tags[hm].empty)) { -        hs = "host"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "base_path"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "port"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "user"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "file_links"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -      } -      hm = "processing"; -      if (!(conf_sdlang.maybe.tags[hm].empty)) { -        hs = "path"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "dir"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "concord_max"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -      } -      hm = "flag"; -      if (!(conf_sdlang.maybe.tags[hm].empty)) { -        hs = "act0"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "act0"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "act1"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "act2"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "act3"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "act4"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "act5"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "act6"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "act7"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "act8"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "act9"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -      } -      hm = "default"; -      if (!(conf_sdlang.maybe.tags[hm].empty)) { -        hs = "papersize"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "text_wrap"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "emphasis"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "language"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "digest"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -      } -      hm = "permission"; -      if (!(conf_sdlang.maybe.tags[hm].empty)) { -        hs = "share_source"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -      } -      hm = "program_select"; -      if (!(conf_sdlang.maybe.tags[hm].empty)) { -        hs = "editor"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "epub_viewer"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "html_viewer"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "odf_viewer"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "pdf_viewer"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "xml_viewer"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -      } -      hm = "search"; -      if (!(conf_sdlang.maybe.tags[hm].empty)) { -        hs = "flag"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "action"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "db"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "title"; -        if (!(conf_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (conf_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(conf_sdlang.tags[hm][0].attributes[hs][0].value); -          conf[hm][hs] = -            to!string(conf_sdlang.tags[hm][0].attributes[hs][0].value); +    private auto sdlangToAAmake(string[string][string] conf, Tag conf_sdlang) { +      foreach (maintag, subtags; conf) { +        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)) { +              writeln(conf_sdlang.tags[maintag][0].attributes[subtag][0].value); +              conf[maintag][subtag] = +                to!string(conf_sdlang.tags[maintag][0].attributes[subtag][0].value); +            } +          }          }        }        return conf;      } +    private auto configSettingsSDLangToAAmake(Tag conf_sdlang) { +      auto conf = sdlangToAAmake(conf_aa, conf_sdlang); +      return conf; +    }      private auto documentMakeSDLangToAAmake(Tag document_make_sdlang) { -      /+ dochead +/ -      string hm; -      string hs; -      /+ make +/ -      auto dochead_make = make_aa; -      if (!(document_make_sdlang.maybe.tags["make"].empty)) { -        hm = "make"; -        hs = "bold"; -        if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -          dochead_make[hm][hs] = -            to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "breaks"; -        if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -          dochead_make[hm][hs] = -            to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "cover_image"; -        if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -          dochead_make[hm][hs] = -            to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "css"; -        if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -          dochead_make[hm][hs] = -            to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "emphasis"; -        if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -          dochead_make[hm][hs] = -            to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "footer"; -        if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -          dochead_make[hm][hs] = -            to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "headings"; -        if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -          dochead_make[hm][hs] = -            to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "home_button_image"; -        if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -          dochead_make[hm][hs] = -            to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "home_button_text"; -        if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -          dochead_make[hm][hs] = -            to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "italics"; -        if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -          dochead_make[hm][hs] = -            to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "num_top"; -        if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -          dochead_make[hm][hs] = -            to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "substitute"; -        if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -          dochead_make[hm][hs] = -            to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "texpdf_font"; -        if (!(document_make_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (document_make_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -          dochead_make[hm][hs] = -            to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value); -        } -      } +      auto dochead_make = sdlangToAAmake(make_aa, document_make_sdlang);        /+        hm = "links";        if (!(document_make_sdlang.maybe.tags[hm].empty)) { @@ -483,104 +100,12 @@ template SiSUheaderExtractSDLang() {        return header_sdlang; // sdlang.ast.Tag      }      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; -      /+ make +/ -      if (!(header_sdlang.maybe.tags["make"].empty)) { -        hm = "make"; -        hs = "bold"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          dochead_make[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "breaks"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          dochead_make[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "cover_image"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          dochead_make[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "css"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          dochead_make[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "emphasis"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          dochead_make[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "footer"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          dochead_make[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "headings"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          dochead_make[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "home_button_image"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          dochead_make[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "home_button_text"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          dochead_make[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "italics"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          dochead_make[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "num_top"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          dochead_make[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "substitute"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          dochead_make[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -        hs = "texpdf_font"; -        if (!(header_sdlang.tags[hm][0].maybe.attributes[hs].empty) -        && (header_sdlang.tags[hm][0].attributes[hs][0].value.length > 1)) { -          writeln(header_sdlang.tags[hm][0].attributes[hs][0].value); -          dochead_make[hm][hs] = -            to!string(header_sdlang.tags[hm][0].attributes[hs][0].value); -        } -      }        /+ meta +/        auto dochead_meta = meta_aa;        hm = "title"; @@ -628,20 +153,6 @@ template SiSUheaderExtractSDLang() {            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)) { -          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)) { -          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)) { @@ -658,141 +169,6 @@ template SiSUheaderExtractSDLang() {            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)) { -          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)) { -          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)) { -          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)) { -          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)) { -          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)) { -          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)) { -          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)) { -          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)) { -          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)) { -          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)) { -          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)) { -          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)) { -          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)) { -          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)) { -          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)) { -          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)) { -          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)) { -          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)) { @@ -807,47 +183,6 @@ template SiSUheaderExtractSDLang() {          //     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)) { -          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)) { -          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)) { -          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)) { -          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)) { -          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"; @@ -858,37 +193,8 @@ template SiSUheaderExtractSDLang() {              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)) { -          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)) { -          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)) { -          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)) { -          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/views/version.txt b/views/version.txt index db886cd..cbd04bd 100644 --- a/views/version.txt +++ b/views/version.txt @@ -4,4 +4,4 @@ struct Version {    int minor;    int patch;  } -enum ver = Version(0, 6, 1); +enum ver = Version(0, 6, 2); | 
