module sdp.ao.abstraction_summary; template SiSUabstractionSummary() { auto SiSUabstractionSummary(S,T)( auto return ref const S doc_abstraction, auto return ref T doc_matters, ) { import sdp.ao.defaults, sdp.ao.rgx; import std.array, std.exception, std.stdio, std.regex, std.string, std.traits, std.typecons, std.uni, std.utf, std.conv : to; mixin InternalMarkup; auto markup = InlineMarkup(); if (doc_matters.opt_action_bool["verbose"]) { string[string] check = [ "last_obj_cite_number" : "NA [debug \"checkdoc\" not run]", ]; foreach (k; doc_matters.keys_seq.seg) { foreach (obj; doc_abstraction[k]) { if (obj.use != "empty") { if (!empty(obj.obj_cite_number)) { check["last_obj_cite_number"] = obj.obj_cite_number; } } } } auto min_repeat_number = 66; auto char_repeat_number = (doc_matters.dochead_meta["title"]["full"].length + doc_matters.dochead_meta["creator"]["author"].length + 4); char_repeat_number = (char_repeat_number > min_repeat_number) ? char_repeat_number : min_repeat_number; writefln( "%s\n\"%s\", %s\n%s\n%s\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n%30-s%10-d\n(%s: %s)\n%s", markup.repeat_character_by_number_provided("-", char_repeat_number), doc_matters.dochead_meta["title"]["full"], doc_matters.dochead_meta["creator"]["author"], doc_matters.source_filename, markup.repeat_character_by_number_provided("-", char_repeat_number), "length toc arr:", to!int(doc_abstraction["toc_seg"].length), "length doc_abstraction arr:", to!int(doc_abstraction["body"].length), "last obj_cite_number:", to!int(check["last_obj_cite_number"]), "length endnotes:", (doc_abstraction["endnotes"].length > 1) ? (to!int(doc_abstraction["endnotes"].length)) : 0, "length glossary:", (doc_abstraction["glossary"].length > 1) ? (to!int(doc_abstraction["glossary"].length)) : 0, "length biblio:", (doc_abstraction["bibliography"].length > 1) ? (to!int(doc_abstraction["bibliography"].length)) : 0, "length bookindex:", (doc_abstraction["bookindex_seg"].length > 1) ? (to!int(doc_abstraction["bookindex_seg"].length)) : 0, "length blurb:", (doc_abstraction["blurb"].length > 1) ? (to!int(doc_abstraction["blurb"].length)) : 0, __FILE__, __LINE__, markup.repeat_character_by_number_provided("-", min_repeat_number), ); } } }