From 69c906fc8cffc841fc33ab6f9bdeafcf1d8f3b82 Mon Sep 17 00:00:00 2001 From: Ralph Amissah Date: Tue, 18 Apr 2017 20:48:41 -0400 Subject: section keys sequence --- src/sdp/abstraction.d | 11 ++++------- src/sdp/abstraction_summary.d | 2 +- src/sdp/ao_abstract_doc_source.d | 19 ++++++++++++++++--- src/sdp/ao_doc_debugs.d | 14 +++++++------- src/sdp/output_epub3.d | 6 +++--- src/sdp/output_html.d | 4 ++-- src/sdp/output_hub.d | 2 +- 7 files changed, 34 insertions(+), 24 deletions(-) (limited to 'src/sdp') diff --git a/src/sdp/abstraction.d b/src/sdp/abstraction.d index 65bb5cd..714ab41 100644 --- a/src/sdp/abstraction.d +++ b/src/sdp/abstraction.d @@ -70,16 +70,13 @@ template SiSUabstraction() { static assert(!isTypeTuple!(da)); static assert(da.length==4); auto doc_abstraction = da[docAbst.doc_abstraction]; // head ~ toc ~ body ~ endnotes_seg ~ glossary ~ bibliography ~ bookindex ~blurb; - string[][string] _document_section_keys_sequenced = da[docAbst.section_keys]; + auto _document_section_keys_sequenced = da[docAbst.section_keys]; string[] _doc_html_segnames = da[docAbst.segnames]; auto _images = da[docAbst.images]; struct DocumentMatters { - string[] keys_seq_seg() { - string[] _k = _document_section_keys_sequenced["seg"]; - return _k; - } - string[] keys_seq_scroll() { - string[] _k = _document_section_keys_sequenced["scroll"]; + auto keys_seq() { + /+ contains .seg & .scroll sequences +/ + auto _k = _document_section_keys_sequenced; return _k; } string[] segnames() { diff --git a/src/sdp/abstraction_summary.d b/src/sdp/abstraction_summary.d index ab32249..fe97783 100644 --- a/src/sdp/abstraction_summary.d +++ b/src/sdp/abstraction_summary.d @@ -23,7 +23,7 @@ template SiSUabstractionSummary() { string[string] check = [ "last_obj_cite_number" : "NA [debug \"checkdoc\" not run]", ]; - foreach (k; doc_matters.keys_seq_seg) { + foreach (k; doc_matters.keys_seq.seg) { foreach (obj; doc_abstraction[k]) { if (obj.use != "empty") { if (!empty(obj.obj_cite_number)) { diff --git a/src/sdp/ao_abstract_doc_source.d b/src/sdp/ao_abstract_doc_source.d index 2a27e64..24fcd48 100644 --- a/src/sdp/ao_abstract_doc_source.d +++ b/src/sdp/ao_abstract_doc_source.d @@ -1626,7 +1626,7 @@ template SiSUdocAbstraction() { dom_collapsed_buffer = [ 0, 0, 0, 0, 0, 0, 0, 0, 0,]; auto t = tuple( document_the, - document_section_keys_sequenced, + docSectKeysSeq!()(document_section_keys_sequenced), segnames, images, ); @@ -2627,8 +2627,8 @@ template SiSUdocAbstraction() { ); auto substantive_obj_misc_tuple = obj_im.obj_inline_markup_and_anchor_tags_and_misc(an_object, an_object_key, dochead_make_aa); - an_object["substantive"] = substantive_obj_misc_tuple[sObj.content]; - anchor_tags = substantive_obj_misc_tuple[sObj.anchor_tags]; + an_object["substantive"] = substantive_obj_misc_tuple[sObj.content]; + anchor_tags = substantive_obj_misc_tuple[sObj.anchor_tags]; comp_obj_block = comp_obj_block.init; comp_obj_block.use = "body"; comp_obj_block.is_of = "block"; @@ -5473,3 +5473,16 @@ template SiSUdocAbstraction() { } /+ abstraction functions assertions ↑ +/ } /+ ← closed: template SiSUdocAbstraction +/ +template docSectKeysSeq() { + auto docSectKeysSeq(string[][string] document_section_keys_sequenced) { + struct doc_sect_keys_seq { + auto seg() { + return document_section_keys_sequenced["seg"]; + } + auto scroll() { + return document_section_keys_sequenced["scroll"]; + } + } + return doc_sect_keys_seq(); + } +} diff --git a/src/sdp/ao_doc_debugs.d b/src/sdp/ao_doc_debugs.d index 05e3739..11eb148 100644 --- a/src/sdp/ao_doc_debugs.d +++ b/src/sdp/ao_doc_debugs.d @@ -37,7 +37,7 @@ template SiSUdebugs() { __FILE__, __LINE__, ); - foreach (key; doc_matters.keys_seq_seg) { + foreach (key; doc_matters.keys_seq.seg) { foreach (obj; contents[key]) { if (obj.use != "empty") { if (obj.is_a == "heading") { @@ -115,7 +115,7 @@ template SiSUdebugs() { } debug(toc_nav_dom) { enum DomTags { none, open, close, close_and_open, open_still, } - foreach (sect; doc_matters.keys_seq_seg) { + foreach (sect; doc_matters.keys_seq.seg) { foreach (obj; contents[sect]) { if (obj.is_a == "heading") { foreach_reverse (k; 0 .. 7) { @@ -138,7 +138,7 @@ template SiSUdebugs() { } } writeln("--------------------"); - foreach (sect; doc_matters.keys_seq_seg) { + foreach (sect; doc_matters.keys_seq.seg) { foreach (obj; contents[sect]) { if (obj.is_a == "heading") { foreach_reverse (k; 0 .. 7) { @@ -393,7 +393,7 @@ template SiSUdebugs() { __FILE__, __LINE__, ); - foreach (k; doc_matters.keys_seq_seg) { + foreach (k; doc_matters.keys_seq.seg) { foreach (obj; contents[k]) { if (obj.is_a == "heading") { writefln( @@ -409,7 +409,7 @@ template SiSUdebugs() { } } debug(heading) { // heading - foreach (k; doc_matters.keys_seq_seg) { + foreach (k; doc_matters.keys_seq.seg) { foreach (o; contents[k]) { if (o.is_a == "heading") { writefln( @@ -430,7 +430,7 @@ template SiSUdebugs() { __FILE__, __LINE__, ); - foreach (k; doc_matters.keys_seq_seg) { + foreach (k; doc_matters.keys_seq.seg) { foreach (obj; contents[k]) { if (obj.is_a == "heading") { writefln( @@ -583,7 +583,7 @@ template SiSUdebugs() { auto return ref const S contents, auto return ref T doc_matters, ) { - foreach (key; doc_matters.keys_seq_seg) { + foreach (key; doc_matters.keys_seq.seg) { if (contents[key].length > 1) { foreach (obj; contents[key]) { if (obj.heading_lev_markup == 4) { diff --git a/src/sdp/output_epub3.d b/src/sdp/output_epub3.d index f0ac2c3..314fe64 100644 --- a/src/sdp/output_epub3.d +++ b/src/sdp/output_epub3.d @@ -117,7 +117,7 @@ template outputEPub3() { enum DomTags { none, open, close, close_and_open, open_still, } auto markup = InlineMarkup(); string toc ="