aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--org/ao_abstract_doc_source.org6
-rw-r--r--org/ao_defaults.org238
-rw-r--r--org/ao_header_extract.org576
-rw-r--r--org/sdp.org33
-rwxr-xr-xsrc/sdp.d31
-rw-r--r--src/sdp/ao_abstract_doc_source.d6
-rw-r--r--src/sdp/ao_defaults.d229
-rw-r--r--src/sdp/ao_header_extract.d10
-rw-r--r--src/sdp/ao_header_extract_native.d78
-rw-r--r--src/sdp/ao_header_extract_sdlang.d463
-rw-r--r--views/version.txt2
11 files changed, 1197 insertions, 475 deletions
diff --git a/org/ao_abstract_doc_source.org b/org/ao_abstract_doc_source.org
index 6c150e1..1942b5e 100644
--- a/org/ao_abstract_doc_source.org
+++ b/org/ao_abstract_doc_source.org
@@ -2165,7 +2165,7 @@ auto heading_matched(
ref int[string] lv,
ref int[string] collapsed_lev,
ref int[string] type,
- ref JSONValue[string] dochead_meta_json
+ ref string[string][string] dochead_meta_json
) {
if (auto m = match(line, rgx.heading)) {
/+ heading match +/
@@ -4039,8 +4039,8 @@ template SiSUdocAbstraction() {
/+ ↓ abstract marked up document +/
auto abstract_doc_source(
char[][] markup_sourcefile_content,
- JSONValue[string] dochead_make_json,
- JSONValue[string] dochead_meta_json
+ string[string][string] dochead_make_json,
+ string[string][string] dochead_meta_json
) {
/+ ↓ abstraction init +/
<<abs_init_rest>>
diff --git a/org/ao_defaults.org b/org/ao_defaults.org
index ec007b0..3412ae8 100644
--- a/org/ao_defaults.org
+++ b/org/ao_defaults.org
@@ -16,93 +16,157 @@
* default templates :template:defaults:
[[./sdp.org][sdp]] [[./][org/]]
-** template: header :header:
+** template: settings metadata associative array indexes :settings:
+
#+name: ao_defaults_templates
#+BEGIN_SRC d
template SiSUregisters() {
- string make_jsonstr = `{
- "make": {
- "bold" : "",
- "breaks" : "",
- "cover_image" : "",
- "css" : "",
- "emphasis" : "",
- "footer" : "",
- "headings" : "",
- "home_button_image" : "",
- "home_button_text" : "",
- "italics" : "",
- "num_top" : "",
- "substitute" : "",
- "texpdf_font" : ""
- }
- }`;
- auto meta_jsonstr = `{
- "classify": {
- "dewey" : "",
- "keywords" : "",
- "loc" : "",
- "subject" : "",
- "topic_register" : ""
- },
- "creator": {
- "author" : "",
- "author_email" : "",
- "illustrator" : "",
- "translator" : ""
- },
- "date": {
- "added_to_site" : "",
- "available" : "",
- "created" : "",
- "issued" : "",
- "modified" : "",
- "published" : "",
- "valid" : ""
- },
- "identifier": {
- "isbn" : "",
- "oclc" : "",
- "pg" : ""
- },
- "links": {
- "link" : ""
- },
- "notes": {
- "abstract" : "",
- "description" : ""
- },
- "original": {
- "language" : "",
- "source" : "",
- "title" : ""
- },
- "publisher": {
- "name" : ""
- },
- "rights": {
- "copyright" : "",
- "cover" : "",
- "illustrations" : "",
- "license" : ""
- },
- "title": {
- "edition" : "",
- "full" : "",
- "language" : "",
- "main" : "",
- "note" : "",
- "sub" : ""
- }
- }`; // links
- auto pointer_head_sub_classify =
- [
- "dewey",
- "keywords", //
- "loc",
- "subject",
- "topic_register"
+ string[string][string] conf_aa() {
+ auto conf_ = [
+ "webserv": [
+ "url_root" : "",
+ "path" : "~/sdp_www" ,
+ "images" : "" ,
+ "cgi" : "/usr/local/lib/sdp-cgi"
+ ],
+ "webserv_cgi": [
+ "host" : "localhost",
+ "base_path" : "",
+ "port" : "8081",
+ "user" : "",
+ "file_links" : "www.sisudoc.org"
+ ],
+ "processing": [
+ "path" : "~",
+ "dir" : "_sisu_processing",
+ "concord_max" : "400000"
+ ],
+ "flag": [
+ "act0" : "--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --sqlite --manifest --verbose",
+ "act1" : "--digest --text --html --manifest",
+ "act2" : "--digest --text --html --epub --pdf --manifest",
+ "act3" : "--digest --qrcode --text --html --epub --concordance --pdf --manifest",
+ "act4" : "--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --manifest",
+ "act5" : "--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --sqlite --manifest",
+ "act6" : "--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --sqlite --manifest",
+ "act7" : "--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --sqlite --source --sisupod --manifest",
+ "act8" : "--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --pg --update --manifest",
+ "act9" : "--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --pg --update --source --sisupod --manifest"
+ ],
+ "default": [
+ "papersize" : "a4,letter",
+ "text_wrap" : "78",
+ "emphasis" : "bold",
+ "language" : "en",
+ "digest" : "sha256"
+ ],
+ "permission": [
+ "share_source" : ""
+ ],
+ "program_select": [
+ "editor" : "vim",
+ "epub_viewer" : "ebook-viewer",
+ "html_viewer" : "xombrero",
+ "odf_viewer" : "lowriter",
+ "pdf_viewer" : "evince",
+ "xml_viewer" : "xml-viewer"
+ ],
+ "search": [
+ "flag" : "",
+ "action" : "",
+ "db" : "",
+ "title" : ""
+ ]
+ ];
+ return conf_;
+ }
+ string[string][string] make_aa() {
+ auto make_ = [
+ "make": [
+ "bold" : "",
+ "breaks" : "",
+ "cover_image" : "",
+ "css" : "",
+ "emphasis" : "",
+ "footer" : "",
+ "headings" : "",
+ "home_button_image" : "",
+ "home_button_text" : "",
+ "italics" : "",
+ "num_top" : "",
+ "substitute" : "",
+ "texpdf_font" : ""
+ ]
];
+ return make_;
+ }
+ string[string][string] meta_aa() {
+ auto meta_ = [
+ "classify": [
+ "dewey" : "",
+ "keywords" : "",
+ "loc" : "",
+ "subject" : "",
+ "topic_register" : ""
+ ],
+ "creator": [
+ "author" : "",
+ "author_email" : "",
+ "illustrator" : "",
+ "translator" : ""
+ ],
+ "date": [
+ "added_to_site" : "",
+ "available" : "",
+ "created" : "",
+ "issued" : "",
+ "modified" : "",
+ "published" : "",
+ "valid" : ""
+ ],
+ "identifier": [
+ "isbn" : "",
+ "oclc" : "",
+ "pg" : ""
+ ],
+ "links": [
+ "link" : ""
+ ],
+ "notes": [
+ "abstract" : "",
+ "description" : ""
+ ],
+ "original": [
+ "language" : "",
+ "source" : "",
+ "title" : ""
+ ],
+ "publisher": [
+ "name" : ""
+ ],
+ "rights": [
+ "copyright" : "",
+ "cover" : "",
+ "illustrations" : "",
+ "license" : ""
+ ],
+ "title": [
+ "edition" : "",
+ "full" : "",
+ "language" : "",
+ "main" : "",
+ "note" : "",
+ "sub" : ""
+ ]
+ ];
+ return meta_;
+ }
+#+END_SRC
+
+** template: metadata associative array indexes :header:
+
+#+name: ao_defaults_templates
+#+BEGIN_SRC d
auto pointer_head_main =
[
"classify",
@@ -116,6 +180,14 @@ template SiSUregisters() {
"rights",
"title"
];
+ auto pointer_head_sub_classify =
+ [
+ "dewey",
+ "keywords",
+ "loc",
+ "subject",
+ "topic_register"
+ ];
auto pointer_head_sub_creator =
[
"author",
diff --git a/org/ao_header_extract.org b/org/ao_header_extract.org
index a0b87d4..04ebdb6 100644
--- a/org/ao_header_extract.org
+++ b/org/ao_header_extract.org
@@ -13,107 +13,417 @@
#+TAGS: assert(a) class(c) debug(d) mixin(m) sdp(s) tangle(T) template(t) WEB(W) noexport(n)
[[./sdp.org][sdp]] [[./][org/]]
-* conf make sdlang
+* 0. sdlang to AA
#+name: ao_header_extract_sdl
#+BEGIN_SRC d
-private auto documentMakeSDLangToJSONmake(Tag document_make_sdlang) {
+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);
+ }
+ }
+ 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 = parseJSON(make_jsonstr).object;
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ dochead_make[hm][hs] =
to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value);
}
}
@@ -127,7 +437,7 @@ private auto documentMakeSDLangToJSONmake(Tag document_make_sdlang) {
// 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_meta[hm][hs].str =
+ // dochead_meta[hm][hs] =
// to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value);
// }
}
@@ -137,19 +447,19 @@ private auto documentMakeSDLangToJSONmake(Tag document_make_sdlang) {
}
#+END_SRC
-* header native :header:native:
+* C.a. header native :header:native:
// mixin SiSUheader;
-// auto set_header = HeaderDocMetadataAndMakeNativeToJson(); // reintroduce
+// auto set_header = HeaderDocMetadataAndMakeNativeToAA(); // reintroduce
-** native header document metadata in json :json:
+** native header document metadata in associative array :aa:
#+name: ao_markup_header_extract_native
#+BEGIN_SRC d
-auto header_metadata_and_make_jsonstr(
+auto header_metadata_and_make_aa(
string header,
- JSONValue[string] dochead_meta,
- JSONValue[string] dochead_make
+ string[string][string] dochead_meta,
+ string[string][string] dochead_make
)
in { }
body {
@@ -169,13 +479,13 @@ body {
if (auto m = match(line, rgx.native_header_main)) {
if (!empty(m.captures[2])) {
if (hm == "creator") {
- dochead_meta[hm]["author"].str =
+ dochead_meta[hm]["author"] =
to!string(m.captures[2]);
} else if (hm == "title") {
- dochead_meta[hm]["main"].str =
+ dochead_meta[hm]["main"] =
to!string(m.captures[2]);
} else if (hm == "publisher") {
- dochead_meta[hm]["name"].str =
+ dochead_meta[hm]["name"] =
to!string(m.captures[2]);
}
}
@@ -183,12 +493,12 @@ body {
if (!empty(s.captures[2])) {
auto hs = to!string(s.captures[1]);
if ((hm == "make" )
- && (dochead_make[hm].type() == JSON_TYPE.OBJECT)) {
+ && (dochead_make[hm])) {
switch (hm) {
case "make":
if (match(hs, rgx.native_subhead_make)) {
- if (dochead_make[hm][hs].type() == JSON_TYPE.STRING) {
- dochead_make[hm][hs].str = to!string(s.captures[2]);
+ if (dochead_make[hm][hs]) {
+ dochead_make[hm][hs] = to!string(s.captures[2]);
}
} else {
writeln("not a valid header type:", hm, ":", hs);
@@ -199,12 +509,12 @@ body {
default:
break;
}
- } else if (dochead_meta[hm].type() == JSON_TYPE.OBJECT) {
+ } else if (dochead_meta[hm]) {
switch (hm) {
case "creator":
if (match(hs, rgx.native_subhead_creator)) {
- if (dochead_meta[hm][hs].type() == JSON_TYPE.STRING) {
- dochead_meta[hm][hs].str =
+ if (dochead_meta[hm][hs]) {
+ dochead_meta[hm][hs] =
to!string(s.captures[2]);
}
} else {
@@ -216,11 +526,11 @@ body {
case "title":
if (match(hs, rgx.native_subhead_title)) {
if ((hs == "subtitle")
- && (dochead_meta[hm]["sub"].type() == JSON_TYPE.STRING)) {
- dochead_meta[hm]["sub"].str =
+ && (dochead_meta[hm]["sub"])) {
+ dochead_meta[hm]["sub"] =
to!string(s.captures[2]);
- } else if (dochead_meta[hm][hs].type() == JSON_TYPE.STRING) {
- dochead_meta[hm][hs].str =
+ } else if (dochead_meta[hm][hs]) {
+ dochead_meta[hm][hs] =
to!string(s.captures[2]);
}
} else {
@@ -231,8 +541,8 @@ body {
break;
case "rights":
if (match(hs, rgx.native_subhead_rights)) {
- if (dochead_meta[hm][hs].type() == JSON_TYPE.STRING) {
- dochead_meta[hm][hs].str =
+ if (dochead_meta[hm][hs]) {
+ dochead_meta[hm][hs] =
to!string(s.captures[2]);
}
} else {
@@ -243,8 +553,8 @@ body {
break;
case "date":
if (match(hs, rgx.native_subhead_date)) {
- if (dochead_meta[hm][hs].type() == JSON_TYPE.STRING) {
- dochead_meta[hm][hs].str =
+ if (dochead_meta[hm][hs]) {
+ dochead_meta[hm][hs] =
to!string(s.captures[2]);
}
} else {
@@ -255,8 +565,8 @@ body {
break;
case "original":
if (match(hs, rgx.native_subhead_original)) {
- if (dochead_meta[hm][hs].type() == JSON_TYPE.STRING) {
- dochead_meta[hm][hs].str =
+ if (dochead_meta[hm][hs]) {
+ dochead_meta[hm][hs] =
to!string(s.captures[2]);
}
} else {
@@ -267,8 +577,8 @@ body {
break;
case "classify":
if (match(hs, rgx.native_subhead_classify)) {
- if (dochead_meta[hm][hs].type() == JSON_TYPE.STRING) {
- dochead_meta[hm][hs].str =
+ if (dochead_meta[hm][hs]) {
+ dochead_meta[hm][hs] =
to!string(s.captures[2]);
}
} else {
@@ -279,8 +589,8 @@ body {
break;
case "identifier":
if (match(hs, rgx.native_subhead_identifier)) {
- if (dochead_meta[hm][hs].type() == JSON_TYPE.STRING) {
- dochead_meta[hm][hs].str =
+ if (dochead_meta[hm][hs]) {
+ dochead_meta[hm][hs] =
to!string(s.captures[2]);
}
} else {
@@ -291,8 +601,8 @@ body {
break;
case "notes":
if (match(hs, rgx.native_subhead_notes)) {
- if (dochead_meta[hm][hs].type() == JSON_TYPE.STRING) {
- dochead_meta[hm][hs].str =
+ if (dochead_meta[hm][hs]) {
+ dochead_meta[hm][hs] =
to!string(s.captures[2]);
}
} else {
@@ -303,8 +613,8 @@ body {
break;
case "publisher":
if (match(hs, rgx.native_subhead_publisher)) {
- if (dochead_meta[hm][hs].type() == JSON_TYPE.STRING) {
- dochead_meta[hm][hs].str =
+ if (dochead_meta[hm][hs]) {
+ dochead_meta[hm][hs] =
to!string(s.captures[2]);
}
} else {
@@ -317,8 +627,8 @@ body {
destroy(hm);
destroy(hs);
// if (match(hs, rgx.native_subhead_links)) {
- // if (dochead_meta[hm][hs].type() == JSON_TYPE.STRING) {
- // dochead_meta[hm][hs].str = to!string(s.captures[2]);
+ // if (dochead_meta[hm][hs]) {
+ // dochead_meta[hm][hs] = to!string(s.captures[2]);
// }
// } else {
// writeln("not a valid header type:", hm, ":", hs);
@@ -412,7 +722,7 @@ auto header_reset_states_common(
#+name: ao_markup_header_extract_native
#+BEGIN_SRC d
-private auto headerNativeToJSON(in char[] src_header) {
+private auto headerNativeToAA(in char[] src_header) {
auto type = flags_type_init;
type = [
"header" : State.off,
@@ -421,9 +731,9 @@ private auto headerNativeToJSON(in char[] src_header) {
];
string[string] an_object;
int[string] line_occur;
- auto dochead_make = parseJSON(make_jsonstr).object;
- auto dochead_meta = parseJSON(meta_jsonstr).object;
- auto set_header = HeaderDocMetadataAndMakeNativeToJson();
+ auto dochead_make = make_aa;
+ auto dochead_meta = meta_aa;
+ auto set_header = HeaderDocMetadataAndMakeNativeToAA();
char[][] source_header_arr =
split(cast(char[]) src_header, rgx.line_delimiter);
foreach(header_line; source_header_arr) {
@@ -443,7 +753,7 @@ private auto headerNativeToJSON(in char[] src_header) {
if (header_line.length == 0) {
/+ header_make instructions (current line empty) +/
auto dochead_metadata_and_make =
- set_header.header_metadata_and_make_jsonstr(strip(an_object["obj"]), dochead_meta, dochead_make);
+ set_header.header_metadata_and_make_aa(strip(an_object["obj"]), dochead_meta, dochead_make);
static assert(!isTypeTuple!(dochead_metadata_and_make));
dochead_meta = dochead_metadata_and_make[0];
dochead_make = dochead_metadata_and_make[1];
@@ -466,7 +776,7 @@ private auto headerNativeToJSON(in char[] src_header) {
}
#+END_SRC
-* header sdlang :header:sdl:
+* C.b. header sdlang :header:sdl:
** sdlang header parse and extract root Tag :sdlang:root:tag:
#+name: ao_header_extract_sdl
@@ -529,24 +839,11 @@ private auto headerSDLangGet(in char[] src_header) {
}
#+END_SRC
-** sdlang header to json make sdlTag in :sdlang:json:
+** sdlang header to associative array make sdlTag in :sdlang:aa:
#+name: ao_header_extract_sdl
#+BEGIN_SRC d
-private auto headerSDLangToJSONmake(Tag header_sdlang, JSONValue[string] dochead_make) {
- /+ TODO json next +/
- /+ TODO
- auto dochead_make = parseJSON(make_jsonstr).object;
- auto dochead_meta = parseJSON(meta_jsonstr).object;
- auto hm = to!string(t.captures[1]);
- auto hs = to!string(s.captures[1]);
- if (dochead_make[hm][hs].type() == JSON_TYPE.STRING) {
- dochead_make[hm][hs].str = to!string(s.captures[2]);
- }
- if (dochead_meta[hm][hs].type() == JSON_TYPE.STRING) {
- dochead_meta[hm][hs].str = to!string(s.captures[2]);
- }
- +/
+private auto headerSDLangToAAmake(Tag header_sdlang, string[string][string] dochead_make) {
/+ dochead +/
string hm;
string hs;
@@ -557,96 +854,96 @@ private auto headerSDLangToJSONmake(Tag header_sdlang, JSONValue[string] dochead
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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ dochead_make[hm][hs] =
to!string(header_sdlang.tags[hm][0].attributes[hs][0].value);
}
}
/+ meta +/
- auto dochead_meta = parseJSON(meta_jsonstr).object;
+ auto dochead_meta = meta_aa;
hm = "title";
if (!(header_sdlang.maybe.tags[hm].empty)) {
/+ TODO Title REQUIRED +/
@@ -654,13 +951,13 @@ private auto headerSDLangToJSONmake(Tag header_sdlang, JSONValue[string] dochead
if (!(header_sdlang.tags[hm].empty)
&& (header_sdlang.tags[hm][0].values[0].length > 1)) {
writeln(header_sdlang.tags[hm][0].values[0]);
- dochead_meta[hm][hs].str =
+ 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)) {
writeln(header_sdlang.tags[hm][0].attributes[hs][0].value);
- dochead_meta[hm][hs].str =
+ dochead_meta[hm][hs] =
to!string(header_sdlang.tags[hm][0].attributes[hs][0].value);
} else {
writeln("Required header metadata Title, missing");
@@ -669,12 +966,12 @@ private auto headerSDLangToJSONmake(Tag header_sdlang, JSONValue[string] dochead
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].str =
+ 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)) {
writeln(header_sdlang.tags[hm][0].attributes["subtitle"][0].value);
- dochead_meta[hm][hs].str =
+ dochead_meta[hm][hs] =
to!string(header_sdlang.tags[hm][0].attributes["subtitle"][0].value);
}
// full title composite (main + sub)
@@ -684,26 +981,26 @@ private auto headerSDLangToJSONmake(Tag header_sdlang, JSONValue[string] dochead
if (!(header_sdlang.tags[hm][0].maybe.attributes["lang"].empty)
&& (header_sdlang.tags[hm][0].attributes["lang"][0].value.length > 1)) {
writeln(header_sdlang.tags[hm][0].attributes["lang"][0].value);
- dochead_meta[hm][hs].str =
+ 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)) {
writeln(header_sdlang.tags[hm][0].attributes[hs][0].value);
- dochead_meta[hm][hs].str =
+ 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].str =
+ 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].str =
+ dochead_meta[hm][hs] =
to!string(header_sdlang.tags[hm][0].attributes[hs][0].value);
}
}
@@ -719,28 +1016,28 @@ private auto headerSDLangToJSONmake(Tag header_sdlang, JSONValue[string] dochead
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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ dochead_meta[hm][hs] =
to!string(header_sdlang.tags[hm][0].attributes[hs][0].value);
}
}
@@ -750,35 +1047,35 @@ private auto headerSDLangToJSONmake(Tag header_sdlang, JSONValue[string] dochead
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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ dochead_meta[hm][hs] =
to!string(header_sdlang.tags[hm][0].attributes[hs][0].value);
}
}
@@ -788,49 +1085,49 @@ private auto headerSDLangToJSONmake(Tag header_sdlang, JSONValue[string] dochead
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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ dochead_meta[hm][hs] =
to!string(header_sdlang.tags[hm][0].attributes[hs][0].value);
}
}
@@ -840,21 +1137,21 @@ private auto headerSDLangToJSONmake(Tag header_sdlang, JSONValue[string] dochead
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].str =
+ 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].str =
+ 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].str =
+ dochead_meta[hm][hs] =
to!string(header_sdlang.tags[hm][0].attributes[hs][0].value);
}
}
@@ -867,7 +1164,7 @@ private auto headerSDLangToJSONmake(Tag header_sdlang, JSONValue[string] dochead
// 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].str =
+ // dochead_meta[hm][hs] =
// to!string(header_sdlang.tags[hm][0].attributes[hs][0].value);
// }
}
@@ -877,14 +1174,14 @@ private auto headerSDLangToJSONmake(Tag header_sdlang, JSONValue[string] dochead
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].str =
+ 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].str =
+ dochead_meta[hm][hs] =
to!string(header_sdlang.tags[hm][0].attributes[hs][0].value);
}
}
@@ -894,21 +1191,21 @@ private auto headerSDLangToJSONmake(Tag header_sdlang, JSONValue[string] dochead
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].str =
+ 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].str =
+ 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].str =
+ dochead_meta[hm][hs] =
to!string(header_sdlang.tags[hm][0].attributes[hs][0].value);
}
}
@@ -918,7 +1215,7 @@ private auto headerSDLangToJSONmake(Tag header_sdlang, JSONValue[string] dochead
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].str =
+ dochead_meta[hm][hs] =
to!string(header_sdlang.tags[hm][0].attributes[hs][0].value);
}
}
@@ -928,47 +1225,45 @@ private auto headerSDLangToJSONmake(Tag header_sdlang, JSONValue[string] dochead
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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ dochead_meta[hm][hs] =
to!string(header_sdlang.tags[hm][0].attributes[hs][0].value);
}
}
- // writeln(dochead_make);
- // writeln(dochead_meta);
auto t = tuple(dochead_make, dochead_meta);
static assert(!isTypeTuple!(t));
return t;
}
#+END_SRC
-** hub: get sdlang header and convert to json :hub:sdlang:json:
+** hub: get sdlang header and convert to associative array :hub:sdlang:aa:
#+name: ao_header_extract_sdl
#+BEGIN_SRC d
-private auto headerSDLangToJSON(char[] header_sdlang_src, JSONValue[string] conf_doc_make_json) {
+private auto headerSDLangToAA(char[] header_sdlang_src, string[string][string] conf_doc_make_aa) {
auto header_sdlang_tag = headerSDLangGet(header_sdlang_src); // sdlang.ast.Tag
- auto header_json_tuple = headerSDLangToJSONmake(header_sdlang_tag, conf_doc_make_json);
- return header_json_tuple;
+ auto header_aa_tuple = headerSDLangToAAmake(header_sdlang_tag, conf_doc_make_aa);
+ return header_aa_tuple;
}
#+END_SRC
@@ -980,11 +1275,11 @@ required first heading ^A~), determine whether is a native header or sdlang one
with a regex check if whether it contains the "native header" required tag/field
@title: then process accordingly as a "native header" or "sdlang header"
converting the metadata and make instructions to a common json format used by
-program internally.
+program internally. Moved to associative array.
#+BEGIN_SRC d :tangle ../src/sdp/ao_header_extract.d
/+
- extract native/orig header return json
+ extract native/orig header return associative array
+/
template SiSUheaderExtractHub() {
private import
@@ -995,13 +1290,13 @@ template SiSUheaderExtractHub() {
mixin SiSUheaderExtractNative;
mixin SiSUheaderExtractSDLang;
auto rgx = Rgx();
- private auto headerContentJSON(char[] header_src, JSONValue[string] conf_doc_make_json) {
- auto head_native = HeaderDocMetadataAndMakeNativeToJson();
+ private auto headerContentAA(char[] header_src, string[string][string] conf_doc_make_aa) {
+ auto head_native = HeaderDocMetadataAndMakeNativeToAA();
auto head_sdlang = HeaderExtractSDL();
writeln(__LINE__);
auto header_make_and_meta_tuple = (match(header_src, rgx.native_header_meta_title))
- ? (head_native.headerNativeToJSON(header_src))
- : (head_sdlang.headerSDLangToJSON(header_src, conf_doc_make_json));
+ ? (head_native.headerNativeToAA(header_src))
+ : (head_sdlang.headerSDLangToAA(header_src, conf_doc_make_aa));
writeln(__LINE__);
static assert(!isTypeTuple!(header_make_and_meta_tuple));
return header_make_and_meta_tuple;
@@ -1010,12 +1305,11 @@ template SiSUheaderExtractHub() {
}
#+END_SRC
-// Tuple!(JSONValue[string], JSONValue[string]) header_make_and_meta_tuple;
** 2a. Header Native :ao_markup_header_extract_native:
#+BEGIN_SRC d :tangle ../src/sdp/ao_header_extract_native.d
/+
- extract native/orig header return json
+ extract native/orig header return associative array
+/
template SiSUheaderExtractNative() {
private import
@@ -1025,7 +1319,7 @@ template SiSUheaderExtractNative() {
std.conv : to;
private import
ao_rgx;
- struct HeaderDocMetadataAndMakeNativeToJson {
+ struct HeaderDocMetadataAndMakeNativeToAA {
mixin SiSUregisters;
mixin SiSUrgxInitFlags;
mixin RgxInit;
@@ -1053,7 +1347,7 @@ template SiSUheaderExtractSDLang() {
mixin RgxInit;
auto rgx = Rgx();
<<ao_header_extract_sdl>>
- <<ao_header_extract_sdl_to_json>>
+ <<ao_header_extract_sdl_to_aa>>
}
}
#+END_SRC
diff --git a/org/sdp.org b/org/sdp.org
index 014cb0c..73882c6 100644
--- a/org/sdp.org
+++ b/org/sdp.org
@@ -28,7 +28,7 @@ struct Version {
int minor;
int patch;
}
-enum ver = Version(0, 6, 0);
+enum ver = Version(0, 6, 1);
#+END_SRC
** pre loop init
@@ -140,7 +140,7 @@ struct SDPoutput {
auto html=SDPoutputHTML();
html.css_write;
html.scroll(contents, bookindex_unordered_hashes, biblio, fn_src, opt_action_bool);
- // html.scroll(contents, bookindex_unordered_hashes, biblio, dochead_make_json, dochead_meta_json, fn_src, opt_action_bool);
+ // html.scroll(contents, bookindex_unordered_hashes, biblio, dochead_make_aa, dochead_meta_aa, fn_src, opt_action_bool);
}
if (opt_action_bool["epub"]) {
writeln("epub processing");
@@ -198,8 +198,8 @@ auto output = SDPoutput();
/+
struct DocumentParts {
string[string][] contents;
- JSONValue[string] meta_json;
- JSONValue[string] make_json;
+ string[string][string] meta_aa;
+ string[string][string] make_aa;
string[][string][string] bookindex_unordered_hashes;
JSONValue[] biblio;
}
@@ -312,9 +312,10 @@ foreach(arg; args) {
#+BEGIN_SRC d
auto conf = ConfigHub();
auto sdl_root_configuration = conf.configSDLang("conf.sdl");
-auto sdl_root_document_make = conf.configSDLang("sisu_document_make");
+auto sdl_root_doc_make = conf.configSDLang("sisu_document_make");
auto confsdl = HeaderExtractSDL();
-auto conf_doc_make_json = confsdl.documentMakeSDLangToJSONmake(sdl_root_document_make);
+auto conf_settings_aa = confsdl.configSettingsSDLangToAAmake(sdl_root_configuration);
+auto conf_doc_make_aa = confsdl.documentMakeSDLangToAAmake(sdl_root_doc_make);
#+END_SRC
** each file (loop) [+2] :loop:files:
@@ -365,17 +366,17 @@ debug(header_and_content) {
**** [#A] read doc header: metadata & make :doc:header:metadata:make:
#+NAME: sdp_each_file_do
#+BEGIN_SRC d
-auto header_make_and_meta_tuple = head.headerContentJSON(header, conf_doc_make_json);
+auto header_make_and_meta_tuple = head.headerContentAA(header, conf_doc_make_aa);
static assert(!isTypeTuple!(header_make_and_meta_tuple));
-JSONValue[string] dochead_make_json = header_make_and_meta_tuple[0];
-JSONValue[string] dochead_meta_json = header_make_and_meta_tuple[1];
+string[string][string] dochead_make_aa = header_make_and_meta_tuple[0];
+string[string][string] dochead_meta_aa = header_make_and_meta_tuple[1];
#+END_SRC
**** [#A] processing: document abstraction, tuple :processing:
#+NAME: sdp_each_file_do
#+BEGIN_SRC d
/+ ↓ process document, return abstraction as tuple +/
-auto t = abs.abstract_doc_source(sourcefile_content, dochead_make_json, dochead_meta_json);
+auto t = abs.abstract_doc_source(sourcefile_content, dochead_make_aa, dochead_meta_aa);
static assert(!isTypeTuple!(t));
auto doc_ao_contents = t[0]; // contents ~ endnotes ~ bookindex;
// static assert(!isIterable!(doc_ao_contents));
@@ -394,8 +395,8 @@ debug(checkdoc) { // checkbook & dumpdoc
doc_ao_contents,
doc_ao_bookindex_unordered_hashes,
doc_ao_biblio,
- dochead_make_json,
- dochead_meta_json,
+ dochead_make_aa,
+ dochead_meta_aa,
fn_src,
opt_action_bool
);
@@ -411,8 +412,8 @@ output.hub(
doc_ao_contents,
doc_ao_bookindex_unordered_hashes,
doc_ao_biblio,
- // doc_ao_make_json,
- // doc_ao_meta_json,
+ // doc_ao_make_aa,
+ // doc_ao_meta_aa,
fn_src,
opt_action_bool
);
@@ -431,8 +432,8 @@ scope(exit) {
destroy(sourcefile_content);
destroy(t);
destroy(doc_ao_contents);
- // destroy(doc_ao_make_json);
- // destroy(doc_ao_meta_json);
+ // destroy(doc_ao_make_aa);
+ // destroy(doc_ao_meta_aa);
// destroy(doc_ao_bookindex_unordered_hashes);
destroy(doc_ao_biblio);
destroy(fn_src);
diff --git a/src/sdp.d b/src/sdp.d
index c032607..c8be571 100755
--- a/src/sdp.d
+++ b/src/sdp.d
@@ -72,7 +72,7 @@ struct SDPoutput {
auto html=SDPoutputHTML();
html.css_write;
html.scroll(contents, bookindex_unordered_hashes, biblio, fn_src, opt_action_bool);
- // html.scroll(contents, bookindex_unordered_hashes, biblio, dochead_make_json, dochead_meta_json, fn_src, opt_action_bool);
+ // html.scroll(contents, bookindex_unordered_hashes, biblio, dochead_make_aa, dochead_meta_aa, fn_src, opt_action_bool);
}
if (opt_action_bool["epub"]) {
writeln("epub processing");
@@ -116,8 +116,8 @@ void main(string[] args) {
/+
struct DocumentParts {
string[string][] contents;
- JSONValue[string] meta_json;
- JSONValue[string] make_json;
+ string[string][string] meta_aa;
+ string[string][string] make_aa;
string[][string][string] bookindex_unordered_hashes;
JSONValue[] biblio;
}
@@ -208,9 +208,10 @@ void main(string[] args) {
}
auto conf = ConfigHub();
auto sdl_root_configuration = conf.configSDLang("conf.sdl");
- auto sdl_root_document_make = conf.configSDLang("sisu_document_make");
+ auto sdl_root_doc_make = conf.configSDLang("sisu_document_make");
auto confsdl = HeaderExtractSDL();
- auto conf_doc_make_json = confsdl.documentMakeSDLangToJSONmake(sdl_root_document_make);
+ auto conf_settings_aa = confsdl.configSettingsSDLangToAAmake(sdl_root_configuration);
+ auto conf_doc_make_aa = confsdl.documentMakeSDLangToAAmake(sdl_root_doc_make);
foreach(fn_src; fns_src) {
// foreach(fn_src; fns_src) {
if (!empty(fn_src)) {
@@ -245,12 +246,12 @@ void main(string[] args) {
writeln(header_and_content_tuple.length);
writeln(sourcefile_content[0]);
}
- auto header_make_and_meta_tuple = head.headerContentJSON(header, conf_doc_make_json);
+ auto header_make_and_meta_tuple = head.headerContentAA(header, conf_doc_make_aa);
static assert(!isTypeTuple!(header_make_and_meta_tuple));
- JSONValue[string] dochead_make_json = header_make_and_meta_tuple[0];
- JSONValue[string] dochead_meta_json = header_make_and_meta_tuple[1];
+ string[string][string] dochead_make_aa = header_make_and_meta_tuple[0];
+ string[string][string] dochead_meta_aa = header_make_and_meta_tuple[1];
/+ ↓ process document, return abstraction as tuple +/
- auto t = abs.abstract_doc_source(sourcefile_content, dochead_make_json, dochead_meta_json);
+ auto t = abs.abstract_doc_source(sourcefile_content, dochead_make_aa, dochead_meta_aa);
static assert(!isTypeTuple!(t));
auto doc_ao_contents = t[0]; // contents ~ endnotes ~ bookindex;
// static assert(!isIterable!(doc_ao_contents));
@@ -263,8 +264,8 @@ void main(string[] args) {
doc_ao_contents,
doc_ao_bookindex_unordered_hashes,
doc_ao_biblio,
- dochead_make_json,
- dochead_meta_json,
+ dochead_make_aa,
+ dochead_meta_aa,
fn_src,
opt_action_bool
);
@@ -274,8 +275,8 @@ void main(string[] args) {
doc_ao_contents,
doc_ao_bookindex_unordered_hashes,
doc_ao_biblio,
- // doc_ao_make_json,
- // doc_ao_meta_json,
+ // doc_ao_make_aa,
+ // doc_ao_meta_aa,
fn_src,
opt_action_bool
);
@@ -289,8 +290,8 @@ void main(string[] args) {
destroy(sourcefile_content);
destroy(t);
destroy(doc_ao_contents);
- // destroy(doc_ao_make_json);
- // destroy(doc_ao_meta_json);
+ // destroy(doc_ao_make_aa);
+ // destroy(doc_ao_meta_aa);
// destroy(doc_ao_bookindex_unordered_hashes);
destroy(doc_ao_biblio);
destroy(fn_src);
diff --git a/src/sdp/ao_abstract_doc_source.d b/src/sdp/ao_abstract_doc_source.d
index 8c19bf3..27a78b7 100644
--- a/src/sdp/ao_abstract_doc_source.d
+++ b/src/sdp/ao_abstract_doc_source.d
@@ -122,8 +122,8 @@ template SiSUdocAbstraction() {
/+ ↓ abstract marked up document +/
auto abstract_doc_source(
char[][] markup_sourcefile_content,
- JSONValue[string] dochead_make_json,
- JSONValue[string] dochead_meta_json
+ string[string][string] dochead_make_json,
+ string[string][string] dochead_meta_json
) {
/+ ↓ abstraction init +/
scope(success) {
@@ -1768,7 +1768,7 @@ template SiSUdocAbstraction() {
ref int[string] lv,
ref int[string] collapsed_lev,
ref int[string] type,
- ref JSONValue[string] dochead_meta_json
+ ref string[string][string] dochead_meta_json
) {
if (auto m = match(line, rgx.heading)) {
/+ heading match +/
diff --git a/src/sdp/ao_defaults.d b/src/sdp/ao_defaults.d
index dda08f7..f344fe7 100644
--- a/src/sdp/ao_defaults.d
+++ b/src/sdp/ao_defaults.d
@@ -3,89 +3,146 @@
ao_defaults.d
+/
template SiSUregisters() {
- string make_jsonstr = `{
- "make": {
- "bold" : "",
- "breaks" : "",
- "cover_image" : "",
- "css" : "",
- "emphasis" : "",
- "footer" : "",
- "headings" : "",
- "home_button_image" : "",
- "home_button_text" : "",
- "italics" : "",
- "num_top" : "",
- "substitute" : "",
- "texpdf_font" : ""
- }
- }`;
- auto meta_jsonstr = `{
- "classify": {
- "dewey" : "",
- "keywords" : "",
- "loc" : "",
- "subject" : "",
- "topic_register" : ""
- },
- "creator": {
- "author" : "",
- "author_email" : "",
- "illustrator" : "",
- "translator" : ""
- },
- "date": {
- "added_to_site" : "",
- "available" : "",
- "created" : "",
- "issued" : "",
- "modified" : "",
- "published" : "",
- "valid" : ""
- },
- "identifier": {
- "isbn" : "",
- "oclc" : "",
- "pg" : ""
- },
- "links": {
- "link" : ""
- },
- "notes": {
- "abstract" : "",
- "description" : ""
- },
- "original": {
- "language" : "",
- "source" : "",
- "title" : ""
- },
- "publisher": {
- "name" : ""
- },
- "rights": {
- "copyright" : "",
- "cover" : "",
- "illustrations" : "",
- "license" : ""
- },
- "title": {
- "edition" : "",
- "full" : "",
- "language" : "",
- "main" : "",
- "note" : "",
- "sub" : ""
- }
- }`; // links
- auto pointer_head_sub_classify =
- [
- "dewey",
- "keywords", //
- "loc",
- "subject",
- "topic_register"
+ string[string][string] conf_aa() {
+ auto conf_ = [
+ "webserv": [
+ "url_root" : "",
+ "path" : "~/sdp_www" ,
+ "images" : "" ,
+ "cgi" : "/usr/local/lib/sdp-cgi"
+ ],
+ "webserv_cgi": [
+ "host" : "localhost",
+ "base_path" : "",
+ "port" : "8081",
+ "user" : "",
+ "file_links" : "www.sisudoc.org"
+ ],
+ "processing": [
+ "path" : "~",
+ "dir" : "_sisu_processing",
+ "concord_max" : "400000"
+ ],
+ "flag": [
+ "act0" : "--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --sqlite --manifest --verbose",
+ "act1" : "--digest --text --html --manifest",
+ "act2" : "--digest --text --html --epub --pdf --manifest",
+ "act3" : "--digest --qrcode --text --html --epub --concordance --pdf --manifest",
+ "act4" : "--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --manifest",
+ "act5" : "--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --sqlite --manifest",
+ "act6" : "--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --sqlite --manifest",
+ "act7" : "--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --sqlite --source --sisupod --manifest",
+ "act8" : "--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --pg --update --manifest",
+ "act9" : "--digest --qrcode --text --html --epub --concordance --pdf --odf --docbook --xhtml --xml-sax --xml-dom --pg --update --source --sisupod --manifest"
+ ],
+ "default": [
+ "papersize" : "a4,letter",
+ "text_wrap" : "78",
+ "emphasis" : "bold",
+ "language" : "en",
+ "digest" : "sha256"
+ ],
+ "permission": [
+ "share_source" : ""
+ ],
+ "program_select": [
+ "editor" : "vim",
+ "epub_viewer" : "ebook-viewer",
+ "html_viewer" : "xombrero",
+ "odf_viewer" : "lowriter",
+ "pdf_viewer" : "evince",
+ "xml_viewer" : "xml-viewer"
+ ],
+ "search": [
+ "flag" : "",
+ "action" : "",
+ "db" : "",
+ "title" : ""
+ ]
];
+ return conf_;
+ }
+ string[string][string] make_aa() {
+ auto make_ = [
+ "make": [
+ "bold" : "",
+ "breaks" : "",
+ "cover_image" : "",
+ "css" : "",
+ "emphasis" : "",
+ "footer" : "",
+ "headings" : "",
+ "home_button_image" : "",
+ "home_button_text" : "",
+ "italics" : "",
+ "num_top" : "",
+ "substitute" : "",
+ "texpdf_font" : ""
+ ]
+ ];
+ return make_;
+ }
+ string[string][string] meta_aa() {
+ auto meta_ = [
+ "classify": [
+ "dewey" : "",
+ "keywords" : "",
+ "loc" : "",
+ "subject" : "",
+ "topic_register" : ""
+ ],
+ "creator": [
+ "author" : "",
+ "author_email" : "",
+ "illustrator" : "",
+ "translator" : ""
+ ],
+ "date": [
+ "added_to_site" : "",
+ "available" : "",
+ "created" : "",
+ "issued" : "",
+ "modified" : "",
+ "published" : "",
+ "valid" : ""
+ ],
+ "identifier": [
+ "isbn" : "",
+ "oclc" : "",
+ "pg" : ""
+ ],
+ "links": [
+ "link" : ""
+ ],
+ "notes": [
+ "abstract" : "",
+ "description" : ""
+ ],
+ "original": [
+ "language" : "",
+ "source" : "",
+ "title" : ""
+ ],
+ "publisher": [
+ "name" : ""
+ ],
+ "rights": [
+ "copyright" : "",
+ "cover" : "",
+ "illustrations" : "",
+ "license" : ""
+ ],
+ "title": [
+ "edition" : "",
+ "full" : "",
+ "language" : "",
+ "main" : "",
+ "note" : "",
+ "sub" : ""
+ ]
+ ];
+ return meta_;
+ }
auto pointer_head_main =
[
"classify",
@@ -99,6 +156,14 @@ template SiSUregisters() {
"rights",
"title"
];
+ auto pointer_head_sub_classify =
+ [
+ "dewey",
+ "keywords",
+ "loc",
+ "subject",
+ "topic_register"
+ ];
auto pointer_head_sub_creator =
[
"author",
diff --git a/src/sdp/ao_header_extract.d b/src/sdp/ao_header_extract.d
index cf6dca1..f78d7c4 100644
--- a/src/sdp/ao_header_extract.d
+++ b/src/sdp/ao_header_extract.d
@@ -1,5 +1,5 @@
/+
- extract native/orig header return json
+ extract native/orig header return associative array
+/
template SiSUheaderExtractHub() {
private import
@@ -10,13 +10,13 @@ template SiSUheaderExtractHub() {
mixin SiSUheaderExtractNative;
mixin SiSUheaderExtractSDLang;
auto rgx = Rgx();
- private auto headerContentJSON(char[] header_src, JSONValue[string] conf_doc_make_json) {
- auto head_native = HeaderDocMetadataAndMakeNativeToJson();
+ private auto headerContentAA(char[] header_src, string[string][string] conf_doc_make_aa) {
+ auto head_native = HeaderDocMetadataAndMakeNativeToAA();
auto head_sdlang = HeaderExtractSDL();
writeln(__LINE__);
auto header_make_and_meta_tuple = (match(header_src, rgx.native_header_meta_title))
- ? (head_native.headerNativeToJSON(header_src))
- : (head_sdlang.headerSDLangToJSON(header_src, conf_doc_make_json));
+ ? (head_native.headerNativeToAA(header_src))
+ : (head_sdlang.headerSDLangToAA(header_src, conf_doc_make_aa));
writeln(__LINE__);
static assert(!isTypeTuple!(header_make_and_meta_tuple));
return header_make_and_meta_tuple;
diff --git a/src/sdp/ao_header_extract_native.d b/src/sdp/ao_header_extract_native.d
index 2f86d89..7bcf965 100644
--- a/src/sdp/ao_header_extract_native.d
+++ b/src/sdp/ao_header_extract_native.d
@@ -1,5 +1,5 @@
/+
- extract native/orig header return json
+ extract native/orig header return associative array
+/
template SiSUheaderExtractNative() {
private import
@@ -9,17 +9,17 @@ template SiSUheaderExtractNative() {
std.conv : to;
private import
ao_rgx;
- struct HeaderDocMetadataAndMakeNativeToJson {
+ struct HeaderDocMetadataAndMakeNativeToAA {
mixin SiSUregisters;
mixin SiSUrgxInitFlags;
mixin RgxInit;
auto rgx = Rgx();
enum State { off, on }
string hm, hs;
- auto header_metadata_and_make_jsonstr(
+ auto header_metadata_and_make_aa(
string header,
- JSONValue[string] dochead_meta,
- JSONValue[string] dochead_make
+ string[string][string] dochead_meta,
+ string[string][string] dochead_make
)
in { }
body {
@@ -39,13 +39,13 @@ template SiSUheaderExtractNative() {
if (auto m = match(line, rgx.native_header_main)) {
if (!empty(m.captures[2])) {
if (hm == "creator") {
- dochead_meta[hm]["author"].str =
+ dochead_meta[hm]["author"] =
to!string(m.captures[2]);
} else if (hm == "title") {
- dochead_meta[hm]["main"].str =
+ dochead_meta[hm]["main"] =
to!string(m.captures[2]);
} else if (hm == "publisher") {
- dochead_meta[hm]["name"].str =
+ dochead_meta[hm]["name"] =
to!string(m.captures[2]);
}
}
@@ -53,12 +53,12 @@ template SiSUheaderExtractNative() {
if (!empty(s.captures[2])) {
auto hs = to!string(s.captures[1]);
if ((hm == "make" )
- && (dochead_make[hm].type() == JSON_TYPE.OBJECT)) {
+ && (dochead_make[hm])) {
switch (hm) {
case "make":
if (match(hs, rgx.native_subhead_make)) {
- if (dochead_make[hm][hs].type() == JSON_TYPE.STRING) {
- dochead_make[hm][hs].str = to!string(s.captures[2]);
+ if (dochead_make[hm][hs]) {
+ dochead_make[hm][hs] = to!string(s.captures[2]);
}
} else {
writeln("not a valid header type:", hm, ":", hs);
@@ -69,12 +69,12 @@ template SiSUheaderExtractNative() {
default:
break;
}
- } else if (dochead_meta[hm].type() == JSON_TYPE.OBJECT) {
+ } else if (dochead_meta[hm]) {
switch (hm) {
case "creator":
if (match(hs, rgx.native_subhead_creator)) {
- if (dochead_meta[hm][hs].type() == JSON_TYPE.STRING) {
- dochead_meta[hm][hs].str =
+ if (dochead_meta[hm][hs]) {
+ dochead_meta[hm][hs] =
to!string(s.captures[2]);
}
} else {
@@ -86,11 +86,11 @@ template SiSUheaderExtractNative() {
case "title":
if (match(hs, rgx.native_subhead_title)) {
if ((hs == "subtitle")
- && (dochead_meta[hm]["sub"].type() == JSON_TYPE.STRING)) {
- dochead_meta[hm]["sub"].str =
+ && (dochead_meta[hm]["sub"])) {
+ dochead_meta[hm]["sub"] =
to!string(s.captures[2]);
- } else if (dochead_meta[hm][hs].type() == JSON_TYPE.STRING) {
- dochead_meta[hm][hs].str =
+ } else if (dochead_meta[hm][hs]) {
+ dochead_meta[hm][hs] =
to!string(s.captures[2]);
}
} else {
@@ -101,8 +101,8 @@ template SiSUheaderExtractNative() {
break;
case "rights":
if (match(hs, rgx.native_subhead_rights)) {
- if (dochead_meta[hm][hs].type() == JSON_TYPE.STRING) {
- dochead_meta[hm][hs].str =
+ if (dochead_meta[hm][hs]) {
+ dochead_meta[hm][hs] =
to!string(s.captures[2]);
}
} else {
@@ -113,8 +113,8 @@ template SiSUheaderExtractNative() {
break;
case "date":
if (match(hs, rgx.native_subhead_date)) {
- if (dochead_meta[hm][hs].type() == JSON_TYPE.STRING) {
- dochead_meta[hm][hs].str =
+ if (dochead_meta[hm][hs]) {
+ dochead_meta[hm][hs] =
to!string(s.captures[2]);
}
} else {
@@ -125,8 +125,8 @@ template SiSUheaderExtractNative() {
break;
case "original":
if (match(hs, rgx.native_subhead_original)) {
- if (dochead_meta[hm][hs].type() == JSON_TYPE.STRING) {
- dochead_meta[hm][hs].str =
+ if (dochead_meta[hm][hs]) {
+ dochead_meta[hm][hs] =
to!string(s.captures[2]);
}
} else {
@@ -137,8 +137,8 @@ template SiSUheaderExtractNative() {
break;
case "classify":
if (match(hs, rgx.native_subhead_classify)) {
- if (dochead_meta[hm][hs].type() == JSON_TYPE.STRING) {
- dochead_meta[hm][hs].str =
+ if (dochead_meta[hm][hs]) {
+ dochead_meta[hm][hs] =
to!string(s.captures[2]);
}
} else {
@@ -149,8 +149,8 @@ template SiSUheaderExtractNative() {
break;
case "identifier":
if (match(hs, rgx.native_subhead_identifier)) {
- if (dochead_meta[hm][hs].type() == JSON_TYPE.STRING) {
- dochead_meta[hm][hs].str =
+ if (dochead_meta[hm][hs]) {
+ dochead_meta[hm][hs] =
to!string(s.captures[2]);
}
} else {
@@ -161,8 +161,8 @@ template SiSUheaderExtractNative() {
break;
case "notes":
if (match(hs, rgx.native_subhead_notes)) {
- if (dochead_meta[hm][hs].type() == JSON_TYPE.STRING) {
- dochead_meta[hm][hs].str =
+ if (dochead_meta[hm][hs]) {
+ dochead_meta[hm][hs] =
to!string(s.captures[2]);
}
} else {
@@ -173,8 +173,8 @@ template SiSUheaderExtractNative() {
break;
case "publisher":
if (match(hs, rgx.native_subhead_publisher)) {
- if (dochead_meta[hm][hs].type() == JSON_TYPE.STRING) {
- dochead_meta[hm][hs].str =
+ if (dochead_meta[hm][hs]) {
+ dochead_meta[hm][hs] =
to!string(s.captures[2]);
}
} else {
@@ -187,8 +187,8 @@ template SiSUheaderExtractNative() {
destroy(hm);
destroy(hs);
// if (match(hs, rgx.native_subhead_links)) {
- // if (dochead_meta[hm][hs].type() == JSON_TYPE.STRING) {
- // dochead_meta[hm][hs].str = to!string(s.captures[2]);
+ // if (dochead_meta[hm][hs]) {
+ // dochead_meta[hm][hs] = to!string(s.captures[2]);
// }
// } else {
// writeln("not a valid header type:", hm, ":", hs);
@@ -264,7 +264,7 @@ template SiSUheaderExtractNative() {
an_object.remove("is");
an_object.remove("attrib");
}
- private auto headerNativeToJSON(in char[] src_header) {
+ private auto headerNativeToAA(in char[] src_header) {
auto type = flags_type_init;
type = [
"header" : State.off,
@@ -273,9 +273,9 @@ template SiSUheaderExtractNative() {
];
string[string] an_object;
int[string] line_occur;
- auto dochead_make = parseJSON(make_jsonstr).object;
- auto dochead_meta = parseJSON(meta_jsonstr).object;
- auto set_header = HeaderDocMetadataAndMakeNativeToJson();
+ auto dochead_make = make_aa;
+ auto dochead_meta = meta_aa;
+ auto set_header = HeaderDocMetadataAndMakeNativeToAA();
char[][] source_header_arr =
split(cast(char[]) src_header, rgx.line_delimiter);
foreach(header_line; source_header_arr) {
@@ -295,7 +295,7 @@ template SiSUheaderExtractNative() {
if (header_line.length == 0) {
/+ header_make instructions (current line empty) +/
auto dochead_metadata_and_make =
- set_header.header_metadata_and_make_jsonstr(strip(an_object["obj"]), dochead_meta, dochead_make);
+ set_header.header_metadata_and_make_aa(strip(an_object["obj"]), dochead_meta, dochead_make);
static assert(!isTypeTuple!(dochead_metadata_and_make));
dochead_meta = dochead_metadata_and_make[0];
dochead_make = dochead_metadata_and_make[1];
diff --git a/src/sdp/ao_header_extract_sdlang.d b/src/sdp/ao_header_extract_sdlang.d
index 886a2c8..d4e9e36 100644
--- a/src/sdp/ao_header_extract_sdlang.d
+++ b/src/sdp/ao_header_extract_sdlang.d
@@ -10,103 +10,407 @@ template SiSUheaderExtractSDLang() {
mixin SiSUregisters;
mixin RgxInit;
auto rgx = Rgx();
- private auto documentMakeSDLangToJSONmake(Tag document_make_sdlang) {
+ 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);
+ }
+ }
+ return conf;
+ }
+ private auto documentMakeSDLangToAAmake(Tag document_make_sdlang) {
/+ dochead +/
string hm;
string hs;
/+ make +/
- auto dochead_make = parseJSON(make_jsonstr).object;
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ dochead_make[hm][hs] =
to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value);
}
}
@@ -120,7 +424,7 @@ template SiSUheaderExtractSDLang() {
// 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_meta[hm][hs].str =
+ // dochead_meta[hm][hs] =
// to!string(document_make_sdlang.tags[hm][0].attributes[hs][0].value);
// }
}
@@ -178,20 +482,7 @@ template SiSUheaderExtractSDLang() {
}
return header_sdlang; // sdlang.ast.Tag
}
- private auto headerSDLangToJSONmake(Tag header_sdlang, JSONValue[string] dochead_make) {
- /+ TODO json next +/
- /+ TODO
- auto dochead_make = parseJSON(make_jsonstr).object;
- auto dochead_meta = parseJSON(meta_jsonstr).object;
- auto hm = to!string(t.captures[1]);
- auto hs = to!string(s.captures[1]);
- if (dochead_make[hm][hs].type() == JSON_TYPE.STRING) {
- dochead_make[hm][hs].str = to!string(s.captures[2]);
- }
- if (dochead_meta[hm][hs].type() == JSON_TYPE.STRING) {
- dochead_meta[hm][hs].str = to!string(s.captures[2]);
- }
- +/
+ private auto headerSDLangToAAmake(Tag header_sdlang, string[string][string] dochead_make) {
/+ dochead +/
string hm;
string hs;
@@ -202,96 +493,96 @@ template SiSUheaderExtractSDLang() {
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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ dochead_make[hm][hs] =
to!string(header_sdlang.tags[hm][0].attributes[hs][0].value);
}
}
/+ meta +/
- auto dochead_meta = parseJSON(meta_jsonstr).object;
+ auto dochead_meta = meta_aa;
hm = "title";
if (!(header_sdlang.maybe.tags[hm].empty)) {
/+ TODO Title REQUIRED +/
@@ -299,13 +590,13 @@ template SiSUheaderExtractSDLang() {
if (!(header_sdlang.tags[hm].empty)
&& (header_sdlang.tags[hm][0].values[0].length > 1)) {
writeln(header_sdlang.tags[hm][0].values[0]);
- dochead_meta[hm][hs].str =
+ 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)) {
writeln(header_sdlang.tags[hm][0].attributes[hs][0].value);
- dochead_meta[hm][hs].str =
+ dochead_meta[hm][hs] =
to!string(header_sdlang.tags[hm][0].attributes[hs][0].value);
} else {
writeln("Required header metadata Title, missing");
@@ -314,12 +605,12 @@ template SiSUheaderExtractSDLang() {
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].str =
+ 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)) {
writeln(header_sdlang.tags[hm][0].attributes["subtitle"][0].value);
- dochead_meta[hm][hs].str =
+ dochead_meta[hm][hs] =
to!string(header_sdlang.tags[hm][0].attributes["subtitle"][0].value);
}
// full title composite (main + sub)
@@ -329,26 +620,26 @@ template SiSUheaderExtractSDLang() {
if (!(header_sdlang.tags[hm][0].maybe.attributes["lang"].empty)
&& (header_sdlang.tags[hm][0].attributes["lang"][0].value.length > 1)) {
writeln(header_sdlang.tags[hm][0].attributes["lang"][0].value);
- dochead_meta[hm][hs].str =
+ 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)) {
writeln(header_sdlang.tags[hm][0].attributes[hs][0].value);
- dochead_meta[hm][hs].str =
+ 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].str =
+ 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].str =
+ dochead_meta[hm][hs] =
to!string(header_sdlang.tags[hm][0].attributes[hs][0].value);
}
}
@@ -364,28 +655,28 @@ template SiSUheaderExtractSDLang() {
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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ dochead_meta[hm][hs] =
to!string(header_sdlang.tags[hm][0].attributes[hs][0].value);
}
}
@@ -395,35 +686,35 @@ template SiSUheaderExtractSDLang() {
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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ dochead_meta[hm][hs] =
to!string(header_sdlang.tags[hm][0].attributes[hs][0].value);
}
}
@@ -433,49 +724,49 @@ template SiSUheaderExtractSDLang() {
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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ dochead_meta[hm][hs] =
to!string(header_sdlang.tags[hm][0].attributes[hs][0].value);
}
}
@@ -485,21 +776,21 @@ template SiSUheaderExtractSDLang() {
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].str =
+ 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].str =
+ 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].str =
+ dochead_meta[hm][hs] =
to!string(header_sdlang.tags[hm][0].attributes[hs][0].value);
}
}
@@ -512,7 +803,7 @@ template SiSUheaderExtractSDLang() {
// 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].str =
+ // dochead_meta[hm][hs] =
// to!string(header_sdlang.tags[hm][0].attributes[hs][0].value);
// }
}
@@ -522,14 +813,14 @@ template SiSUheaderExtractSDLang() {
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].str =
+ 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].str =
+ dochead_meta[hm][hs] =
to!string(header_sdlang.tags[hm][0].attributes[hs][0].value);
}
}
@@ -539,21 +830,21 @@ template SiSUheaderExtractSDLang() {
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].str =
+ 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].str =
+ 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].str =
+ dochead_meta[hm][hs] =
to!string(header_sdlang.tags[hm][0].attributes[hs][0].value);
}
}
@@ -563,7 +854,7 @@ template SiSUheaderExtractSDLang() {
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].str =
+ dochead_meta[hm][hs] =
to!string(header_sdlang.tags[hm][0].attributes[hs][0].value);
}
}
@@ -573,41 +864,39 @@ template SiSUheaderExtractSDLang() {
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].str =
+ 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].str =
+ 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].str =
+ 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].str =
+ dochead_meta[hm][hs] =
to!string(header_sdlang.tags[hm][0].attributes[hs][0].value);
}
}
- // writeln(dochead_make);
- // writeln(dochead_meta);
auto t = tuple(dochead_make, dochead_meta);
static assert(!isTypeTuple!(t));
return t;
}
- private auto headerSDLangToJSON(char[] header_sdlang_src, JSONValue[string] conf_doc_make_json) {
+ private auto headerSDLangToAA(char[] header_sdlang_src, string[string][string] conf_doc_make_aa) {
auto header_sdlang_tag = headerSDLangGet(header_sdlang_src); // sdlang.ast.Tag
- auto header_json_tuple = headerSDLangToJSONmake(header_sdlang_tag, conf_doc_make_json);
- return header_json_tuple;
+ auto header_aa_tuple = headerSDLangToAAmake(header_sdlang_tag, conf_doc_make_aa);
+ return header_aa_tuple;
}
}
diff --git a/views/version.txt b/views/version.txt
index 9f95c23..db886cd 100644
--- a/views/version.txt
+++ b/views/version.txt
@@ -4,4 +4,4 @@ struct Version {
int minor;
int patch;
}
-enum ver = Version(0, 6, 0);
+enum ver = Version(0, 6, 1);