diff options
| author | Ralph Amissah <ralph@amissah.com> | 2017-11-06 09:12:06 -0500 | 
|---|---|---|
| committer | Ralph Amissah <ralph@amissah.com> | 2019-04-10 15:14:14 -0400 | 
| commit | f9257293164f7681243e35b9608a4cb6c2d3e16b (patch) | |
| tree | 74e8887aaccec6d0fd999c24e6a6666eabae685a | |
| parent | sqlite document db discrete & collection, started (diff) | |
checksdoc-reform_v0.0.19
| -rw-r--r-- | dub.sdl | 65 | ||||
| -rw-r--r-- | dub.selections.json | 4 | ||||
| -rw-r--r-- | makefile | 1 | ||||
| -rw-r--r-- | maker.org | 89 | ||||
| -rw-r--r-- | org/meta_abstraction.org | 19 | ||||
| -rw-r--r-- | org/meta_conf_make_meta.org | 2 | ||||
| -rw-r--r-- | org/output_sqlite.org | 16 | ||||
| -rw-r--r-- | org/output_sqlite_discrete.org | 16 | ||||
| -rw-r--r-- | org/sdp.org | 28 | ||||
| -rw-r--r-- | src/sdp/meta/conf_make_meta_sdlang.d | 2 | ||||
| -rw-r--r-- | src/sdp/meta/metadoc.d | 26 | ||||
| -rw-r--r-- | src/sdp/meta/metadoc_from_src.d | 19 | ||||
| -rw-r--r-- | src/sdp/output/sqlite.d | 16 | ||||
| -rw-r--r-- | src/sdp/output/sqlite_discrete.d | 16 | ||||
| -rwxr-xr-x | src/sdp/sdp.d | 2 | 
15 files changed, 257 insertions, 64 deletions
| @@ -8,10 +8,10 @@ targetPath        "./bin"  #sourcePath        "./src/sdp"  stringImportPaths "./views"  buildRequirements "allowWarnings" -dependency        "sdlang-d" version="~>0.10.1" -dependency        "d2sqlite3" version="~>0.13.1"  # https://code.dlang.org/packages/d2sqlite3 http://biozic.github.io/d2sqlite3/d2sqlite3.html +dependency        "sdlang-d"  version="~>0.10.1" +dependency        "d2sqlite3" version="~>0.13.1"  # https://code.dlang.org/packages/d2sqlite3  http://biozic.github.io/d2sqlite3/d2sqlite3.html  subconfiguration  "d2sqlite3" "all-included" -dependency        "archive"  version="~>0.6.0" +dependency        "archive"   version="~>0.6.0"   # http://code.dlang.org/packages/archive     https://github.com/rcythr/archive  configuration "sdp-release" {    name                 "release"    targetType           "executable" @@ -34,6 +34,22 @@ configuration "sdp-debug" {    debugVersions        "dumpdoc"    postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-debug'"  } +configuration "sdp-tmp" { +  name                 "tmp" +  targetType           "executable" +  platforms            "posix" +  targetName           "sdp-tmp" +  dflags               "-J=views" "-I=src/sdp" +  #lflags               "ld.gold" +  buildRequirements    "allowWarnings" +  buildOptions         "verbose" "debugMode" "debugInfo" "optimize" +  debugVersions        "checkdoc" "summary" +  debugVersions        "tmp" +  debugVersions        "crap" +  debugVersions        "header" +  debugVersions        "header1" +  postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-tmp'" +}  configuration "sdp-debug-clean" {    name                 "debug-clean"    targetType           "executable" @@ -50,7 +66,7 @@ configuration "sdp-dmd" {    targetName           "sdp-dmd"    dflags               "-J=views" "-I=src/sdp"    buildRequirements    "allowWarnings" -  buildOptions         "verbose" "releaseMode" "optimize" "inline" +  buildOptions         "verbose" "optimize" "inline" # "releaseMode"    postGenerateCommands "/usr/bin/notify-send -t 0 'D dmd compiled test release executable ready' 'sdp-dmd'"  }  configuration "sdp-dmd-version" { @@ -60,7 +76,17 @@ configuration "sdp-dmd-version" {    targetName           "sdp-dmd-ver"    dflags               "-J=views" "-I=src/sdp"    buildRequirements    "allowWarnings" -  buildOptions         "verbose" "releaseMode" "optimize" "inline" +  buildOptions         "verbose" "optimize" "inline" # "releaseMode" +} +configuration "sdp-dmd-release" { +  name                 "dmd" +  targetType           "executable" +  platforms            "posix" +  targetName           "sdp-dmd" +  dflags               "-J=views" "-I=src/sdp" +  buildRequirements    "allowWarnings" +  buildOptions         "verbose" "optimize" "inline" "releaseMode" +  postGenerateCommands "/usr/bin/notify-send -t 0 'D dmd compiled test release executable ready' 'sdp-dmd'"  }  configuration "sdp-dmd-debug" {    name                 "debuging" @@ -117,7 +143,7 @@ configuration "sdp-ldc" {    targetName           "sdp-ldc"    dflags               "-O2" "-J=views" "-I=src/sdp"    buildRequirements    "allowWarnings" -  buildOptions         "verbose" "releaseMode" "optimize" "inline" +  buildOptions         "verbose" "optimize" "inline" # "releaseMode"    postGenerateCommands "/usr/bin/notify-send -t 0 'D ldc2 compiled test release executable ready' 'sdp-ldc'"  }  configuration "sdp-ldc-version" { @@ -127,7 +153,17 @@ configuration "sdp-ldc-version" {    targetName           "sdp-ldc-ver"    dflags               "-O2" "-J=views" "-I=src/sdp"    buildRequirements    "allowWarnings" -  buildOptions         "verbose" "releaseMode" "optimize" "inline" +  buildOptions         "verbose" "optimize" "inline" # "releaseMode" +} +configuration "sdp-ldc-release" { +  name                 "ldc" +  targetType           "executable" +  platforms            "posix" +  targetName           "sdp-ldc" +  dflags               "-O2" "-J=views" "-I=src/sdp" +  buildRequirements    "allowWarnings" +  buildOptions         "verbose" "optimize" "inline" "releaseMode" +  postGenerateCommands "/usr/bin/notify-send -t 0 'D ldc2 compiled test release executable ready' 'sdp-ldc'"  }  configuration "sdp-ldc-debug" {    name                 "debuging" @@ -180,7 +216,7 @@ configuration "sdp-gdc" {    dflags               "-O2" "-J=views" "-I=src/sdp"    lflags               "-lz"    buildRequirements    "allowWarnings" -  buildOptions         "verbose" "releaseMode" "optimize" "inline" +  buildOptions         "verbose" "optimize" "inline" # "releaseMode"    postGenerateCommands "/usr/bin/notify-send -t 0 'D gdc compiled test release executable ready' 'sdp-gdc'"  }  configuration "sdp-gdc-version" { @@ -191,7 +227,18 @@ configuration "sdp-gdc-version" {    dflags               "-O2" "-J=views" "-I=src/sdp"    lflags               "-lz"    buildRequirements    "allowWarnings" -  buildOptions         "verbose" "releaseMode" "optimize" "inline" +  buildOptions         "verbose" "optimize" "inline" # "releaseMode" +} +configuration "sdp-gdc-release" { +  name                 "gdc" +  targetType           "executable" +  platforms            "posix" +  targetName           "sdp-gdc" +  dflags               "-O2" "-J=views" "-I=src/sdp" +  lflags               "-lz" +  buildRequirements    "allowWarnings" +  buildOptions         "verbose" "optimize" "inline" "releaseMode" +  postGenerateCommands "/usr/bin/notify-send -t 0 'D gdc compiled test release executable ready' 'sdp-gdc'"  }  configuration "sdp-gdc-debug" {    name                 "debuging" diff --git a/dub.selections.json b/dub.selections.json index 728c834..df36b25 100644 --- a/dub.selections.json +++ b/dub.selections.json @@ -5,7 +5,7 @@  		"d2sqlite3": "0.13.1",  		"libinputvisitor": "1.2.2",  		"sdlang-d": "0.10.1", -		"taggedalgebraic": "0.10.4", -		"unit-threaded": "0.6.30" +		"taggedalgebraic": "0.10.7", +		"unit-threaded": "0.6.36"  	}  } @@ -136,6 +136,7 @@ build: $(PRG_SRCDIR)/$(PRG_SRC)  rebuild: $(PRG_SRCDIR)/$(PRG_SRC) $(PRG_BINDIR)/$(PRG_BIN).o clean build  makefile_new:  	make -k tangle_maker +restart: clean tangle  tangle: skel  	for f in $(ORGFILELIST); do \  		ORGFILES="$$ORGFILES \"$$f\""; \ @@ -307,6 +307,7 @@ build: $(PRG_SRCDIR)/$(PRG_SRC)  rebuild: $(PRG_SRCDIR)/$(PRG_SRC) $(PRG_BINDIR)/$(PRG_BIN).o clean build  makefile_new:  	make -k tangle_maker +restart: clean tangle  #+END_SRC  *** org babel tangle batch process command                         :tangle: @@ -389,10 +390,10 @@ targetPath        "./bin"  #sourcePath        "./src/sdp"  stringImportPaths "./views"  buildRequirements "allowWarnings" -dependency        "sdlang-d" version="~>0.10.1" -dependency        "d2sqlite3" version="~>0.13.1"  # https://code.dlang.org/packages/d2sqlite3 http://biozic.github.io/d2sqlite3/d2sqlite3.html +dependency        "sdlang-d"  version="~>0.10.1" +dependency        "d2sqlite3" version="~>0.13.1"  # https://code.dlang.org/packages/d2sqlite3  http://biozic.github.io/d2sqlite3/d2sqlite3.html  subconfiguration  "d2sqlite3" "all-included" -dependency        "archive"  version="~>0.6.0" +dependency        "archive"   version="~>0.6.0"   # http://code.dlang.org/packages/archive     https://github.com/rcythr/archive  #+END_SRC  *** generic                                                       :generic: @@ -428,6 +429,27 @@ configuration "sdp-debug" {  }  #+END_SRC +**** sdp-tmp + +#+BEGIN_SRC sh  :tangle dub.sdl +configuration "sdp-tmp" { +  name                 "tmp" +  targetType           "executable" +  platforms            "posix" +  targetName           "sdp-tmp" +  dflags               "-J=views" "-I=src/sdp" +  #lflags               "ld.gold" +  buildRequirements    "allowWarnings" +  buildOptions         "verbose" "debugMode" "debugInfo" "optimize" +  debugVersions        "checkdoc" "summary" +  debugVersions        "tmp" +  debugVersions        "crap" +  debugVersions        "header" +  debugVersions        "header1" +  postGenerateCommands "/usr/bin/notify-send -t 0 'D (debug) executable ready' 'sdp-tmp'" +} +#+END_SRC +  **** sdp-debug-clean                                         :debug:clean:  #+BEGIN_SRC sh  :tangle dub.sdl @@ -454,7 +476,7 @@ configuration "sdp-dmd" {    targetName           "sdp-dmd"    dflags               "-J=views" "-I=src/sdp"    buildRequirements    "allowWarnings" -  buildOptions         "verbose" "releaseMode" "optimize" "inline" +  buildOptions         "verbose" "optimize" "inline" # "releaseMode"    postGenerateCommands "/usr/bin/notify-send -t 0 'D dmd compiled test release executable ready' 'sdp-dmd'"  }  #+END_SRC @@ -469,7 +491,22 @@ configuration "sdp-dmd-version" {    targetName           "sdp-dmd-ver"    dflags               "-J=views" "-I=src/sdp"    buildRequirements    "allowWarnings" -  buildOptions         "verbose" "releaseMode" "optimize" "inline" +  buildOptions         "verbose" "optimize" "inline" # "releaseMode" +} +#+END_SRC + +***** sdp-dmd-release + +#+BEGIN_SRC sh  :tangle dub.sdl +configuration "sdp-dmd-release" { +  name                 "dmd" +  targetType           "executable" +  platforms            "posix" +  targetName           "sdp-dmd" +  dflags               "-J=views" "-I=src/sdp" +  buildRequirements    "allowWarnings" +  buildOptions         "verbose" "optimize" "inline" "releaseMode" +  postGenerateCommands "/usr/bin/notify-send -t 0 'D dmd compiled test release executable ready' 'sdp-dmd'"  }  #+END_SRC @@ -554,7 +591,7 @@ configuration "sdp-ldc" {    targetName           "sdp-ldc"    dflags               "-O2" "-J=views" "-I=src/sdp"    buildRequirements    "allowWarnings" -  buildOptions         "verbose" "releaseMode" "optimize" "inline" +  buildOptions         "verbose" "optimize" "inline" # "releaseMode"    postGenerateCommands "/usr/bin/notify-send -t 0 'D ldc2 compiled test release executable ready' 'sdp-ldc'"  }  #+END_SRC @@ -569,7 +606,22 @@ configuration "sdp-ldc-version" {    targetName           "sdp-ldc-ver"    dflags               "-O2" "-J=views" "-I=src/sdp"    buildRequirements    "allowWarnings" -  buildOptions         "verbose" "releaseMode" "optimize" "inline" +  buildOptions         "verbose" "optimize" "inline" # "releaseMode" +} +#+END_SRC + +***** sdp-ldc-release + +#+BEGIN_SRC sh  :tangle dub.sdl +configuration "sdp-ldc-release" { +  name                 "ldc" +  targetType           "executable" +  platforms            "posix" +  targetName           "sdp-ldc" +  dflags               "-O2" "-J=views" "-I=src/sdp" +  buildRequirements    "allowWarnings" +  buildOptions         "verbose" "optimize" "inline" "releaseMode" +  postGenerateCommands "/usr/bin/notify-send -t 0 'D ldc2 compiled test release executable ready' 'sdp-ldc'"  }  #+END_SRC @@ -650,7 +702,7 @@ configuration "sdp-gdc" {    dflags               "-O2" "-J=views" "-I=src/sdp"    lflags               "-lz"    buildRequirements    "allowWarnings" -  buildOptions         "verbose" "releaseMode" "optimize" "inline" +  buildOptions         "verbose" "optimize" "inline" # "releaseMode"    postGenerateCommands "/usr/bin/notify-send -t 0 'D gdc compiled test release executable ready' 'sdp-gdc'"  }  #+END_SRC @@ -666,7 +718,23 @@ configuration "sdp-gdc-version" {    dflags               "-O2" "-J=views" "-I=src/sdp"    lflags               "-lz"    buildRequirements    "allowWarnings" -  buildOptions         "verbose" "releaseMode" "optimize" "inline" +  buildOptions         "verbose" "optimize" "inline" # "releaseMode" +} +#+END_SRC + +***** sdp-gdc-release + +#+BEGIN_SRC sh  :tangle dub.sdl +configuration "sdp-gdc-release" { +  name                 "gdc" +  targetType           "executable" +  platforms            "posix" +  targetName           "sdp-gdc" +  dflags               "-O2" "-J=views" "-I=src/sdp" +  lflags               "-lz" +  buildRequirements    "allowWarnings" +  buildOptions         "verbose" "optimize" "inline" "releaseMode" +  postGenerateCommands "/usr/bin/notify-send -t 0 'D gdc compiled test release executable ready' 'sdp-gdc'"  }  #+END_SRC @@ -889,8 +957,11 @@ dub build -h  time make dmd  time make gdc  time make ldc +time make gdc ldc  time make all  time make all_ver +time make restart +time make restart ldc  #+END_SRC  ** git project version diff --git a/org/meta_abstraction.org b/org/meta_abstraction.org index 4a6b859..9a5d41f 100644 --- a/org/meta_abstraction.org +++ b/org/meta_abstraction.org @@ -1870,7 +1870,10 @@ foreach (ref obj; the_document_head_section) {        segnames_0_4 ~= obj.segment_anchor_tag;      }      if (obj.heading_lev_markup == 0) { -      assert( obj.ocn == 1, "Title OCN should be 1 not: " ~ obj.ocn.to!string); // bug introduced 0.18.1 +      /+ TODO second hit (of two) with same assertion failure, check, fix and reinstate +      assert( obj.ocn == 1, +        "Title OCN should be 1 not: " ~ obj.ocn.to!string); // bug introduced 0.18.1 +      +/        obj.ocn = 1;        obj.obj_cite_number = "1";        obj.obj_cite_number_type = OCNtype.ocn; @@ -2213,7 +2216,10 @@ if (the_bookindex_section["scroll"].length > 1) {        obj.obj_cite_number_type = OCNtype.bkidx;      }    } -  assert(obj_cite_digit_bkidx == ocn_bidx_); +  /+ TODO assert failure, reinstate +  assert(obj_cite_digit_bkidx == ocn_bidx_ +    obj_cite_digit_bkidx ~ " == ocn_" ~ ocn_ ~ "?"); +  +/  }  #+END_SRC @@ -6689,7 +6695,14 @@ struct NodeStructureMetadata {      );      if (lev_markup_number.match(rgx.levels_numbered)) {        if (lev_markup_number.to!int == 0) { -        assert(obj_cite_digits.on.to!int == 1); +        /+ TODO first hit (of two) with this assertion failure, check, fix & reinstate +        assert(obj_cite_digits.on.to!int == 1, +          "ERROR header lev markup number is: " ~ +          lev_markup_number.to!string ~ +          " obj_cite_digits.on.to!int should == 1 but is: " ~ +           obj_cite_digits.on.to!string ~ +          "\n" ~ _text); +        +/        }      }    } diff --git a/org/meta_conf_make_meta.org b/org/meta_conf_make_meta.org index ce9dc7c..efd0234 100644 --- a/org/meta_conf_make_meta.org +++ b/org/meta_conf_make_meta.org @@ -290,7 +290,7 @@ private auto docSDLtoStruct(C,Tag)(C _conf_composite, Tag header_sdlang) {            _conf_composite.meta.title_main =              to!string(_maintag.getTagValues("main"));          } else if ("main" !in _maintag.maybe.attributes) { -          writeln(__LINE__, ": ", _maintag.values[0]); +          writeln(_maintag.values[0]); // document title            _conf_composite.meta.title_main =              (_maintag.values[0]).to!string; // test that this exists          } diff --git a/org/output_sqlite.org b/org/output_sqlite.org index 4f5029e..0c5b222 100644 --- a/org/output_sqlite.org +++ b/org/output_sqlite.org @@ -1298,7 +1298,7 @@ string doc_text;  foreach (part; doc_parts) {    foreach (obj; doc_abstraction[part]) {      switch (obj.of_part) { -    case "frontmatter":              assert(part == "head"); +    case "frontmatter":              assert(part == "head", part);        switch (obj.is_of) {        case "para":          switch (obj.is_a) { @@ -1319,7 +1319,7 @@ foreach (part; doc_parts) {          break;        }        break; -    case "body": //                    assert(part == "body"); // TODO broken +    case "body": //                    assert(part == "body", part); // TODO broken        switch (obj.is_of) {        case "para":          switch (obj.is_a) { @@ -1378,26 +1378,26 @@ foreach (part; doc_parts) {        }        break;      case "backmatter": -      assert(part == "endnotes" || "glossary" || "bibliography" || "bookindex_scroll" || "blurb" || "tail"); +      assert(part == "endnotes" || "glossary" || "bibliography" || "bookindex_seg" || "blurb" || "tail", part);        switch (obj.is_of) {        case "para":          switch (obj.is_a) {          case "heading":            obj_txt = format_and_sqlite_load.heading(obj);            break; -        case "endnote":              assert(part == "endnotes"); +        case "endnote":              assert(part == "endnotes", part);            obj_txt = format_and_sqlite_load.para(obj);            break; -        case "glossary":             assert(part == "glossary"); +        case "glossary":             assert(part == "glossary", part);            obj_txt = format_and_sqlite_load.para(obj);            break; -        case "bibliography":         assert(part == "bibliography"); +        case "bibliography":         assert(part == "bibliography", part);            obj_txt = format_and_sqlite_load.para(obj);            break; -        case "bookindex":            assert(part == "bookindex_scroll"); +        case "bookindex":            assert(part == "bookindex_seg", part);            obj_txt = format_and_sqlite_load.para(obj);            break; -        case "blurb":                assert(part == "blurb"); +        case "blurb":                assert(part == "blurb", part);            obj_txt = format_and_sqlite_load.para(obj);            break;          default: diff --git a/org/output_sqlite_discrete.org b/org/output_sqlite_discrete.org index 41096b5..9180587 100644 --- a/org/output_sqlite_discrete.org +++ b/org/output_sqlite_discrete.org @@ -1266,7 +1266,7 @@ string doc_text;  foreach (part; doc_parts) {    foreach (obj; doc_abstraction[part]) {      switch (obj.of_part) { -    case "frontmatter":              assert(part == "head"); +    case "frontmatter":              assert(part == "head", part);        switch (obj.is_of) {        case "para":          switch (obj.is_a) { @@ -1287,7 +1287,7 @@ foreach (part; doc_parts) {          break;        }        break; -    case "body": //                    assert(part == "body"); // TODO broken +    case "body": //                    assert(part == "body", part); // TODO broken        switch (obj.is_of) {        case "para":          switch (obj.is_a) { @@ -1346,26 +1346,26 @@ foreach (part; doc_parts) {        }        break;      case "backmatter": -      assert(part == "endnotes" || "glossary" || "bibliography" || "bookindex_scroll" || "blurb" || "tail"); +      assert(part == "endnotes" || "glossary" || "bibliography" || "bookindex_seg" || "blurb" || "tail", part);        switch (obj.is_of) {        case "para":          switch (obj.is_a) {          case "heading":            obj_txt = format_and_sqlite_load.heading(obj);            break; -        case "endnote":              assert(part == "endnotes"); +        case "endnote":              assert(part == "endnotes", part);            obj_txt = format_and_sqlite_load.para(obj);            break; -        case "glossary":             assert(part == "glossary"); +        case "glossary":             assert(part == "glossary", part);            obj_txt = format_and_sqlite_load.para(obj);            break; -        case "bibliography":         assert(part == "bibliography"); +        case "bibliography":         assert(part == "bibliography", part);            obj_txt = format_and_sqlite_load.para(obj);            break; -        case "bookindex":            assert(part == "bookindex_scroll"); +        case "bookindex":            assert(part == "bookindex_seg", part);            obj_txt = format_and_sqlite_load.para(obj);            break; -        case "blurb":                assert(part == "blurb"); +        case "blurb":                assert(part == "blurb", part);            obj_txt = format_and_sqlite_load.para(obj);            break;          default: diff --git a/org/sdp.org b/org/sdp.org index 74deb39..6649d88 100644 --- a/org/sdp.org +++ b/org/sdp.org @@ -110,11 +110,11 @@ unittest {  #+NAME: imports_sdp  #+BEGIN_SRC d -import sdp.meta;  import    std.getopt,    std.process;  import +  sdp.meta,    sdp.meta.metadoc_summary,    sdp.meta.metadoc_from_src,    sdp.meta.conf_make_meta, @@ -496,10 +496,16 @@ template SiSUabstraction() {  #+BEGIN_SRC d  /+ ↓ read file (filename with path) +/  /+ ↓ file tuple of header and content +/ +debug(steps) { +  writeln(__LINE__, ":", __FILE__, ": step1 commence → (get document header & body & insert files)"); +}  auto _header_body_inserts =    SiSUrawMarkupContent!()(fn_src);  static assert(!isTypeTuple!(_header_body_inserts));  static assert(_header_body_inserts.length==3); +debug(steps) { +  writeln(__LINE__, ":", __FILE__, ": step1 complete"); +}  debug(header_and_body) {    writeln(header);    writeln(_header_body_inserts.length); @@ -523,8 +529,14 @@ debug(header_and_body) {  #+NAME: sdp_each_file_do_split_sisu_markup_file_header_into_make_and_meta  #+BEGIN_SRC d  /+ ↓ split header into make and meta +/ +debug(steps) { +  writeln(__LINE__, ":", __FILE__, ": step2 commence → (doc header: make & meta as struct)"); +}  auto _make_and_meta_struct =    docHeaderMakeAndMetaTupExtractAndConvertToStruct!()(conf_files_composite_make, _header_body_inserts[headBody.header]); // breakage ... +debug(steps) { +  writeln(__LINE__, ":", __FILE__, ": step2 complete"); +}  #+END_SRC  ** 3. _document abstraction, tuple_ (pre-output-processing)       :processing: @@ -544,6 +556,9 @@ auto _make_and_meta_struct =  #+NAME: sdp_each_file_do_document_abstraction  #+BEGIN_SRC d  /+ ↓ document abstraction: process document, return abstraction as tuple +/ +debug(steps) { +  writeln(__LINE__, ":", __FILE__, ": step3 commence → (document abstraction (da); da keys; segnames; doc_matters)"); +}  auto da = SiSUdocAbstraction!()(    _header_body_inserts[headBody.body_content],    _make_and_meta_struct, @@ -556,6 +571,9 @@ auto _document_section_keys_sequenced = da[docAbst.section_keys];  string[] _doc_html_segnames = da[docAbst.segnames];  string[] _doc_epub_segnames_0_4 = da[docAbst.segnames_0_4];  auto _images = da[docAbst.images]; +debug(steps) { +  writeln(__LINE__, ":", __FILE__, ": step3 complete"); +}  #+END_SRC  ** 4. _document matters_ (doc info gathered, various sources) @@ -565,6 +583,9 @@ auto _images = da[docAbst.images];  #+NAME: sdp_each_file_do_document_matters  #+BEGIN_SRC d +debug(steps) { +  writeln(__LINE__, ":", __FILE__, ": step4 commence → (doc_matters)"); +}  struct DocumentMatters {    auto keys_seq() {      /+ contains .seg & .scroll sequences +/ @@ -619,9 +640,12 @@ struct DocumentMatters {    }  }  auto doc_matters = DocumentMatters(); +debug(steps) { +  writeln(__LINE__, ":", __FILE__, ": step4 complete"); +}  #+END_SRC -* 3. document abstraction _summary_            :module:sdp:metadoc_summary: +* 3. document abstraction _summary_                :module:sdp:metadoc_summary:  ** 0. module template  #+BEGIN_SRC d :tangle ../src/sdp/meta/metadoc_summary.d diff --git a/src/sdp/meta/conf_make_meta_sdlang.d b/src/sdp/meta/conf_make_meta_sdlang.d index 478cea4..728f095 100644 --- a/src/sdp/meta/conf_make_meta_sdlang.d +++ b/src/sdp/meta/conf_make_meta_sdlang.d @@ -210,7 +210,7 @@ static template SiSUextractSDLang() {                _conf_composite.meta.title_main =                  to!string(_maintag.getTagValues("main"));              } else if ("main" !in _maintag.maybe.attributes) { -              writeln(__LINE__, ": ", _maintag.values[0]); +              writeln(_maintag.values[0]); // document title                _conf_composite.meta.title_main =                  (_maintag.values[0]).to!string; // test that this exists              } diff --git a/src/sdp/meta/metadoc.d b/src/sdp/meta/metadoc.d index e302db8..b2f6270 100644 --- a/src/sdp/meta/metadoc.d +++ b/src/sdp/meta/metadoc.d @@ -1,10 +1,10 @@  module sdp.meta.metadoc;  template SiSUabstraction() { -  import sdp.meta;    import      std.getopt,      std.process;    import +    sdp.meta,      sdp.meta.metadoc_summary,      sdp.meta.metadoc_from_src,      sdp.meta.conf_make_meta, @@ -39,19 +39,34 @@ template SiSUabstraction() {      auto conf_files_composite_make = confFilesSDLtoStruct!()(sdl_root_config_share, sdl_root_config_local);      /+ ↓ read file (filename with path) +/      /+ ↓ file tuple of header and content +/ +    debug(steps) { +      writeln(__LINE__, ":", __FILE__, ": step1 commence → (get document header & body & insert files)"); +    }      auto _header_body_inserts =        SiSUrawMarkupContent!()(fn_src);      static assert(!isTypeTuple!(_header_body_inserts));      static assert(_header_body_inserts.length==3); +    debug(steps) { +      writeln(__LINE__, ":", __FILE__, ": step1 complete"); +    }      debug(header_and_body) {        writeln(header);        writeln(_header_body_inserts.length);        writeln(_header_body_inserts.length[headBody.body_content][0]);      }      /+ ↓ split header into make and meta +/ +    debug(steps) { +      writeln(__LINE__, ":", __FILE__, ": step2 commence → (doc header: make & meta as struct)"); +    }      auto _make_and_meta_struct =        docHeaderMakeAndMetaTupExtractAndConvertToStruct!()(conf_files_composite_make, _header_body_inserts[headBody.header]); // breakage ... +    debug(steps) { +      writeln(__LINE__, ":", __FILE__, ": step2 complete"); +    }      /+ ↓ document abstraction: process document, return abstraction as tuple +/ +    debug(steps) { +      writeln(__LINE__, ":", __FILE__, ": step3 commence → (document abstraction (da); da keys; segnames; doc_matters)"); +    }      auto da = SiSUdocAbstraction!()(        _header_body_inserts[headBody.body_content],        _make_and_meta_struct, @@ -64,6 +79,12 @@ template SiSUabstraction() {      string[] _doc_html_segnames = da[docAbst.segnames];      string[] _doc_epub_segnames_0_4 = da[docAbst.segnames_0_4];      auto _images = da[docAbst.images]; +    debug(steps) { +      writeln(__LINE__, ":", __FILE__, ": step3 complete"); +    } +    debug(steps) { +      writeln(__LINE__, ":", __FILE__, ": step4 commence → (doc_matters)"); +    }      struct DocumentMatters {        auto keys_seq() {          /+ contains .seg & .scroll sequences +/ @@ -118,6 +139,9 @@ template SiSUabstraction() {        }      }      auto doc_matters = DocumentMatters(); +    debug(steps) { +      writeln(__LINE__, ":", __FILE__, ": step4 complete"); +    }      auto t = tuple(doc_abstraction, doc_matters);      static assert(t.length==2);      return t; diff --git a/src/sdp/meta/metadoc_from_src.d b/src/sdp/meta/metadoc_from_src.d index 80de1f2..24c4699 100644 --- a/src/sdp/meta/metadoc_from_src.d +++ b/src/sdp/meta/metadoc_from_src.d @@ -1365,7 +1365,10 @@ template SiSUdocAbstraction() {            segnames_0_4 ~= obj.segment_anchor_tag;          }          if (obj.heading_lev_markup == 0) { -          assert( obj.ocn == 1, "Title OCN should be 1 not: " ~ obj.ocn.to!string); // bug introduced 0.18.1 +          /+ TODO second hit (of two) with same assertion failure, check, fix and reinstate +          assert( obj.ocn == 1, +            "Title OCN should be 1 not: " ~ obj.ocn.to!string); // bug introduced 0.18.1 +          +/            obj.ocn = 1;            obj.obj_cite_number = "1";            obj.obj_cite_number_type = OCNtype.ocn; @@ -1672,7 +1675,10 @@ template SiSUdocAbstraction() {            obj.obj_cite_number_type = OCNtype.bkidx;          }        } -      assert(obj_cite_digit_bkidx == ocn_bidx_); +      /+ TODO assert failure, reinstate +      assert(obj_cite_digit_bkidx == ocn_bidx_ +        obj_cite_digit_bkidx ~ " == ocn_" ~ ocn_ ~ "?"); +      +/      }      /+ optional only one 1~ level +/      if (the_blurb_section.length > 1) { @@ -5399,7 +5405,14 @@ template SiSUdocAbstraction() {        );        if (lev_markup_number.match(rgx.levels_numbered)) {          if (lev_markup_number.to!int == 0) { -          assert(obj_cite_digits.on.to!int == 1); +          /+ TODO first hit (of two) with this assertion failure, check, fix & reinstate +          assert(obj_cite_digits.on.to!int == 1, +            "ERROR header lev markup number is: " ~ +            lev_markup_number.to!string ~ +            " obj_cite_digits.on.to!int should == 1 but is: " ~ +             obj_cite_digits.on.to!string ~ +            "\n" ~ _text); +          +/          }        }      } diff --git a/src/sdp/output/sqlite.d b/src/sdp/output/sqlite.d index 69c7d51..6a9acd2 100644 --- a/src/sdp/output/sqlite.d +++ b/src/sdp/output/sqlite.d @@ -903,7 +903,7 @@ template SQLiteBuildTablesAndPopulate() {          foreach (part; doc_parts) {            foreach (obj; doc_abstraction[part]) {              switch (obj.of_part) { -            case "frontmatter":              assert(part == "head"); +            case "frontmatter":              assert(part == "head", part);                switch (obj.is_of) {                case "para":                  switch (obj.is_a) { @@ -924,7 +924,7 @@ template SQLiteBuildTablesAndPopulate() {                  break;                }                break; -            case "body": //                    assert(part == "body"); // TODO broken +            case "body": //                    assert(part == "body", part); // TODO broken                switch (obj.is_of) {                case "para":                  switch (obj.is_a) { @@ -983,26 +983,26 @@ template SQLiteBuildTablesAndPopulate() {                }                break;              case "backmatter": -              assert(part == "endnotes" || "glossary" || "bibliography" || "bookindex_scroll" || "blurb" || "tail"); +              assert(part == "endnotes" || "glossary" || "bibliography" || "bookindex_seg" || "blurb" || "tail", part);                switch (obj.is_of) {                case "para":                  switch (obj.is_a) {                  case "heading":                    obj_txt = format_and_sqlite_load.heading(obj);                    break; -                case "endnote":              assert(part == "endnotes"); +                case "endnote":              assert(part == "endnotes", part);                    obj_txt = format_and_sqlite_load.para(obj);                    break; -                case "glossary":             assert(part == "glossary"); +                case "glossary":             assert(part == "glossary", part);                    obj_txt = format_and_sqlite_load.para(obj);                    break; -                case "bibliography":         assert(part == "bibliography"); +                case "bibliography":         assert(part == "bibliography", part);                    obj_txt = format_and_sqlite_load.para(obj);                    break; -                case "bookindex":            assert(part == "bookindex_scroll"); +                case "bookindex":            assert(part == "bookindex_seg", part);                    obj_txt = format_and_sqlite_load.para(obj);                    break; -                case "blurb":                assert(part == "blurb"); +                case "blurb":                assert(part == "blurb", part);                    obj_txt = format_and_sqlite_load.para(obj);                    break;                  default: diff --git a/src/sdp/output/sqlite_discrete.d b/src/sdp/output/sqlite_discrete.d index c8238f4..132d312 100644 --- a/src/sdp/output/sqlite_discrete.d +++ b/src/sdp/output/sqlite_discrete.d @@ -900,7 +900,7 @@ template SQLiteDiscreteBuildTablesAndPopulate() {          foreach (part; doc_parts) {            foreach (obj; doc_abstraction[part]) {              switch (obj.of_part) { -            case "frontmatter":              assert(part == "head"); +            case "frontmatter":              assert(part == "head", part);                switch (obj.is_of) {                case "para":                  switch (obj.is_a) { @@ -921,7 +921,7 @@ template SQLiteDiscreteBuildTablesAndPopulate() {                  break;                }                break; -            case "body": //                    assert(part == "body"); // TODO broken +            case "body": //                    assert(part == "body", part); // TODO broken                switch (obj.is_of) {                case "para":                  switch (obj.is_a) { @@ -980,26 +980,26 @@ template SQLiteDiscreteBuildTablesAndPopulate() {                }                break;              case "backmatter": -              assert(part == "endnotes" || "glossary" || "bibliography" || "bookindex_scroll" || "blurb" || "tail"); +              assert(part == "endnotes" || "glossary" || "bibliography" || "bookindex_seg" || "blurb" || "tail", part);                switch (obj.is_of) {                case "para":                  switch (obj.is_a) {                  case "heading":                    obj_txt = format_and_sqlite_load.heading(obj);                    break; -                case "endnote":              assert(part == "endnotes"); +                case "endnote":              assert(part == "endnotes", part);                    obj_txt = format_and_sqlite_load.para(obj);                    break; -                case "glossary":             assert(part == "glossary"); +                case "glossary":             assert(part == "glossary", part);                    obj_txt = format_and_sqlite_load.para(obj);                    break; -                case "bibliography":         assert(part == "bibliography"); +                case "bibliography":         assert(part == "bibliography", part);                    obj_txt = format_and_sqlite_load.para(obj);                    break; -                case "bookindex":            assert(part == "bookindex_scroll"); +                case "bookindex":            assert(part == "bookindex_seg", part);                    obj_txt = format_and_sqlite_load.para(obj);                    break; -                case "blurb":                assert(part == "blurb"); +                case "blurb":                assert(part == "blurb", part);                    obj_txt = format_and_sqlite_load.para(obj);                    break;                  default: diff --git a/src/sdp/sdp.d b/src/sdp/sdp.d index 00afb54..0075de8 100755 --- a/src/sdp/sdp.d +++ b/src/sdp/sdp.d @@ -8,11 +8,11 @@ module sdp.sisu_document_parser;  import    sdp.conf.compile_time_info,    sdp.meta.metadoc; -import sdp.meta;  import    std.getopt,    std.process;  import +  sdp.meta,    sdp.meta.metadoc_summary,    sdp.meta.metadoc_from_src,    sdp.meta.conf_make_meta, | 
