diff options
| author | Ralph Amissah <ralph@amissah.com> | 2017-02-02 19:53:18 -0500 | 
|---|---|---|
| committer | Ralph Amissah <ralph@amissah.com> | 2019-04-10 15:14:14 -0400 | 
| commit | 30faa243410ac4b335fbe09d9ca90091629078b7 (patch) | |
| tree | b8257b038579ec7c8d688ed0ac27d24fb8b37002 /org/sdp.org | |
| parent | doc_matters, add image list (diff) | |
reorganize org file
Diffstat (limited to 'org/sdp.org')
| -rw-r--r-- | org/sdp.org | 177 | 
1 files changed, 168 insertions, 9 deletions
| diff --git a/org/sdp.org b/org/sdp.org index 9cb677b..658c0b9 100644 --- a/org/sdp.org +++ b/org/sdp.org @@ -365,7 +365,11 @@ enforce(  );  #+END_SRC -*** 1. _document abstraction_ +*** 1. _document abstraction_ [#A] + +- return tuple of: +  - doc_abstraction (the document) +  - doc_matters  #+NAME: sdp_abstraction  #+BEGIN_SRC d @@ -378,7 +382,7 @@ auto doc_matters = t[1];  #+END_SRC  *** 2. _output processing_ (post abstraction processing) -**** 0. abstraction summary                          :abstraction:summary: +**** 0. abstraction _print summary_                    :abstraction:summary:  #+NAME: sdp_each_file_do_debugs_checkdoc  #+BEGIN_SRC d @@ -434,8 +438,8 @@ writeln("no recognized filename");  break; // terminate, stop  #+END_SRC -* 2. _document abstraction_ -** 0. abstraction template                                        :template: +* 2. _document abstraction functions_ +** 0. abstraction template [#A]                                   :template:  #+BEGIN_SRC d  :tangle ../src/sdp/abstraction.d  template SiSUabstraction() { @@ -458,9 +462,19 @@ template SiSUabstraction() {  }  #+END_SRC -** 1. (a) _read in raw file_ & (b) split content into: _doc header & doc content_ +** 1. (a) _read in raw file_ (b) split content into: _doc header & doc content_  - [[./ao_read_source_files.org][ao_read_source_files]] +- read in the source marked up document and +  - split the document into: +    - document header +    - document body +  - if a master document make a list of insert files +- return a tuple of: +  - header +  - body +  - insert file list +  #+NAME: sdp_each_file_do_read_and_split_sisu_markup_file_content_into_header_and_body  #+BEGIN_SRC d  /+ ↓ read file (filename with path) +/ @@ -476,9 +490,19 @@ debug(header_and_body) {  }  #+END_SRC -** 2. split doc header into: _metadata & make_      :doc:header:metadata:make: +** 2. _document metadata_ & _make instructions_       :doc:header:metadata:make:  - [[./ao_conf_make_meta.org][ao_conf_make_meta]] +- read document header, split into: +  - metadata +  - make instructions +- read config files +  - consolidate make instructions +- return tuple of: +  - document metadata +  - make instructions (from configuration files & document header make +    instructions) +  #+NAME: sdp_each_file_do_split_sisu_markup_file_header_into_make_and_meta  #+BEGIN_SRC d  /+ ↓ split header into make and meta +/ @@ -491,6 +515,17 @@ static assert(_0_make_1_dochead_meta_tuple.length==2);  ** 3. _document abstraction, tuple_ (pre-processing)              :processing:  - [[./ao_abstract_doc_source.org][ao_abstract_doc_source]] +- prepare the document abstraction used in downstream processing + +- return tuple of: +  - document abstraction (the_document or doc_abstraction) +  - document abstraction keys +    - (head, toc, body, endnotes, glossary, bibliography, bookindex, blurb, +      tail) +    - (passed in doc_matters) +  - segnames for html epub (passed in doc_matters) +  - image list (passed in doc_matters) +  #+NAME: sdp_each_file_do_document_abstraction  #+BEGIN_SRC d  /+ ↓ document abstraction: process document, return abstraction as tuple +/ @@ -502,13 +537,16 @@ auto da = SiSUdocAbstraction!()(  );  static assert(!isTypeTuple!(da));  static assert(da.length==4); -auto doc_abstraction = da[0]; // head ~ toc ~ contents ~ endnotes_seg ~ glossary ~ bibliography ~ bookindex ~blurb; +auto doc_abstraction = da[0]; // head ~ toc ~ body ~ endnotes_seg ~ glossary ~ bibliography ~ bookindex ~blurb;  string[][string] _document_section_keys_sequenced = da[1];  string[] _doc_html_segnames = da[2];  auto _images = da[3];  #+END_SRC -** 4. _document matters_ (compiled from various sources) +** 4. _document matters_ (doc info gathered, various sources) + +- prepare document_matters, miscellany about processing and the document of use +  in downstream processing  #+NAME: sdp_each_file_do_document_matters  #+BEGIN_SRC d @@ -530,7 +568,7 @@ struct DocumentMatters {      return _k;    }    auto dochead_meta() { -    string[string][string] _k =  _0_make_1_dochead_meta_tuple[1]; +    string[string][string] _k = _0_make_1_dochead_meta_tuple[1];      return _k;    }    auto source_filename() { @@ -556,3 +594,124 @@ struct DocumentMatters {  }  auto doc_matters = DocumentMatters();  #+END_SRC + +* 3. document abstraction _summary_                               :summary:doc: +** 0. template:                                                   :template: + +#+BEGIN_SRC d :tangle ../src/sdp/abstraction_summary.d +template SiSUabstractionSummary() { +  auto SiSUabstractionSummary(S,T)( +    auto ref const S         doc_abstraction, +    auto ref T               doc_matters, +  ) { +    <<abstraction_summary_imports>> +    mixin InternalMarkup; +    <<abstraction_summary_initialize>> +    if (doc_matters.opt_action_bool["verbose"]) { +      <<ao_abstraction_summary>> +    } +  } +} +#+END_SRC + +** init +*** imports + +#+name: abstraction_summary_imports +#+BEGIN_SRC d +import +  ao_defaults, +  ao_rgx; +import +  std.array, +  std.exception, +  std.stdio, +  std.regex, +  std.string, +  std.traits, +  std.typecons, +  std.uni, +  std.utf, +  std.conv : to; +#+END_SRC + +*** initialize                                                     :report: + +#+name: abstraction_summary_initialize +#+BEGIN_SRC d +auto markup = InlineMarkup(); +#+END_SRC + +** (last ocn) + +#+name: ao_abstraction_summary +#+BEGIN_SRC d +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; +      } +    } +  } +} +#+END_SRC + +** summary + +#+name: ao_abstraction_summary +#+BEGIN_SRC d +// auto char_repeat_number = doc_matters.source_filename.length; +// char_repeat_number = (char_repeat_number > 33) +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; +// writeln(char_repeat_number); +writefln( +  "%s\n\"%s\", %s\n%s\n%s\n%s%10d\n%s%10d\n%s%10d\n%s%10d\n%s%10d\n%s%10d\n%s%10d\n%s%10d\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), +); +#+END_SRC + +markup.repeat_character_by_number_provided("-", 10) +markup.repeat_character_by_number_provided("-", (doc_matters.dochead_meta["title"]["full"].length)) +markup.repeat_character_by_number_provided("-", (doc_matters.source_filename.length)) | 
