diff options
| author | Ralph Amissah <ralph@amissah.com> | 2016-12-29 20:34:57 -0500 | 
|---|---|---|
| committer | Ralph Amissah <ralph@amissah.com> | 2019-04-10 15:14:13 -0400 | 
| commit | e8b7ed81b35b42a1faf086ef88360f870341910a (patch) | |
| tree | 479876730abab831bb4146b3975f2f897bce8c6c /org | |
| parent | 0.10.0 generic object (ObjGenericComposite), removed "object_set" (diff) | |
naming
Diffstat (limited to 'org')
| -rw-r--r-- | org/ao_abstract_doc_source.org | 224 | ||||
| -rw-r--r-- | org/ao_output_debugs.org | 8 | ||||
| -rw-r--r-- | org/output.org | 105 | 
3 files changed, 201 insertions, 136 deletions
| diff --git a/org/ao_abstract_doc_source.org b/org/ao_abstract_doc_source.org index c11193c..c4733cc 100644 --- a/org/ao_abstract_doc_source.org +++ b/org/ao_abstract_doc_source.org @@ -319,11 +319,12 @@ string toc_txt_;  an_object["glossary_nugget"] = "";  an_object["blurb_nugget"] = "";  comp_obj_heading_                       = comp_obj_heading_.init; -comp_obj_heading_.use                   = "content"; -comp_obj_heading_.of                    = "para"; +comp_obj_heading_.use                   = "body"; +comp_obj_heading_.is_of                 = "para";  comp_obj_heading_.is_a                  = "heading";  comp_obj_heading_.text                  = "Table of Contents";  comp_obj_heading_.ocn                   = 0; +comp_obj_heading_.obj_cite_number       = "";  comp_obj_heading_.segment_anchor_tag    = "toc";  comp_obj_heading_.marked_up_level       = "1";  comp_obj_heading_.heading_lev_markup    = 4; @@ -453,11 +454,12 @@ if there is a glossary section you need to:      an_object_key="glossary_nugget"; //      if (matchFirst(line, rgx.heading_glossary)) {        comp_obj_heading_                       = comp_obj_heading_.init; -      comp_obj_heading_.use                   = "content"; -      comp_obj_heading_.of                    = "para"; +      comp_obj_heading_.use                   = "backmatter"; +      comp_obj_heading_.is_of                 = "para";        comp_obj_heading_.is_a                  = "heading";        comp_obj_heading_.text                  = "Glossary";        comp_obj_heading_.ocn                   = 0; +      comp_obj_heading_.obj_cite_number       = "";        comp_obj_heading_.marked_up_level       = "B";        comp_obj_heading_.heading_lev_markup    = 1;        comp_obj_heading_.heading_lev_collapsed = 1; @@ -465,11 +467,12 @@ if there is a glossary section you need to:        comp_obj_heading_.parent_lev_markup     = 0;        the_glossary_section                    ~= comp_obj_heading_;        comp_obj_heading_                       = comp_obj_heading_.init; -      comp_obj_heading_.use                   = "content"; -      comp_obj_heading_.of                    = "para"; +      comp_obj_heading_.use                   = "backmatter"; +      comp_obj_heading_.is_of                 = "para";        comp_obj_heading_.is_a                  = "heading";        comp_obj_heading_.text                  = "Glossary";        comp_obj_heading_.ocn                   = 0; +      comp_obj_heading_.obj_cite_number       = "";        comp_obj_heading_.segment_anchor_tag    = "glossary";        comp_obj_heading_.marked_up_level       = "1";        comp_obj_heading_.heading_lev_markup    = 4; @@ -483,12 +486,12 @@ if there is a glossary section you need to:      } else {        _para_match_(line, an_object, an_object_key, indent, bullet, type, line_occur);        comp_obj_para                       = comp_obj_para.init; -      comp_obj_para.use                   = "content"; -      comp_obj_para.of                    = "para"; -      comp_obj_para.is_a                  = "para"; +      comp_obj_para.use                   = "backmatter"; +      comp_obj_para.is_of                 = "para"; +      comp_obj_para.is_a                  = "glossary";        comp_obj_para.text                  = to!string(line).strip;        comp_obj_para.ocn                   = 0; -      comp_obj_para.obj_cite_number       = "0"; +      comp_obj_para.obj_cite_number       = "";        comp_obj_para.indent_hang           = indent["hang_position"];        comp_obj_para.indent_base           = indent["base_position"];        comp_obj_para.bullet                = bullet; @@ -535,11 +538,12 @@ if there is a blurb section you need to:      an_object_key="blurb_nugget";      if (matchFirst(line, rgx.heading_blurb)) {        comp_obj_heading_                       = comp_obj_heading_.init; -      comp_obj_heading_.use                   = "content"; -      comp_obj_heading_.of                    = "para"; +      comp_obj_heading_.use                   = "backmatter"; +      comp_obj_heading_.is_of                 = "para";        comp_obj_heading_.is_a                  = "heading";        comp_obj_heading_.text                  = "Blurb";        comp_obj_heading_.ocn                   = 0; +      comp_obj_heading_.obj_cite_number       = "";        comp_obj_heading_.marked_up_level       = "B";        comp_obj_heading_.heading_lev_markup    = 1;        comp_obj_heading_.heading_lev_collapsed = 1; @@ -547,11 +551,12 @@ if there is a blurb section you need to:        comp_obj_heading_.parent_lev_markup     = 0;        the_blurb_section                       ~= comp_obj_heading_;        comp_obj_heading_                       = comp_obj_heading_.init; -      comp_obj_heading_.use                   = "content"; -      comp_obj_heading_.of                    = "para"; +      comp_obj_heading_.use                   = "backmatter"; +      comp_obj_heading_.is_of                 = "para";        comp_obj_heading_.is_a                  = "heading";        comp_obj_heading_.text                  = "Blurb";        comp_obj_heading_.ocn                   = 0; +      comp_obj_heading_.obj_cite_number       = "";        comp_obj_heading_.segment_anchor_tag    = "blurb";        comp_obj_heading_.marked_up_level       = "1";        comp_obj_heading_.heading_lev_markup    = 4; @@ -563,11 +568,12 @@ if there is a blurb section you need to:      } else if ((matchFirst(line, rgx.heading))      && (opt_action_bool["backmatter"] && opt_action_bool["section_blurb"])) {        comp_obj_heading_                       = comp_obj_heading_.init; -      comp_obj_heading_.use                   = "content"; -      comp_obj_heading_.of                    = "para"; +      comp_obj_heading_.use                   = "backmatter"; +      comp_obj_heading_.is_of                 = "para";        comp_obj_heading_.is_a                  = "heading";        comp_obj_heading_.text                  = to!string(line);        comp_obj_heading_.ocn                   = 0; +      comp_obj_heading_.obj_cite_number       = "";        comp_obj_heading_.segment_anchor_tag    = "blurb";        comp_obj_heading_.marked_up_level       = to!string(an_object["lev"]);        comp_obj_heading_.heading_lev_markup    = to!int(an_object["lev_markup_number"]);    // make int, remove need to conv @@ -578,12 +584,12 @@ if there is a blurb section you need to:      } else {        _para_match_(line, an_object, an_object_key, indent, bullet, type, line_occur);        comp_obj_para                       = comp_obj_para.init; -      comp_obj_para.use                   = "content"; -      comp_obj_para.of                    = "para"; -      comp_obj_para.is_a                  = "para"; +      comp_obj_para.use                   = "backmatter"; +      comp_obj_para.is_of                 = "para"; +      comp_obj_para.is_a                  = "blurb";        comp_obj_para.text                  = to!string(line).strip;        comp_obj_para.ocn                   = obj_cite_number; -      comp_obj_para.obj_cite_number       = to!string(obj_cite_number); +      comp_obj_para.obj_cite_number       = (obj_cite_number==0) ? "" : to!string(obj_cite_number);        comp_obj_para.indent_hang           = indent["hang_position"];        comp_obj_para.indent_base           = indent["base_position"];        comp_obj_para.bullet                = bullet; @@ -734,7 +740,7 @@ if ((matchFirst(line, rgx.book_index))      an_object[an_object_key] ~= line ~= "\n";      comp_obj_comment                   = comp_obj_comment.init;      comp_obj_comment.use               = "comment"; -    comp_obj_comment.of                = "comment"; +    comp_obj_comment.is_of             = "comment";      comp_obj_comment.is_a              = "comment";      comp_obj_comment.text              = an_object[an_object_key].strip;      the_document_body_section          ~= comp_obj_comment; @@ -936,12 +942,12 @@ if ((type["heading"] == State.on)    an_object["substantive"] = substantive_object_and_anchor_tags_tuple[0];    anchor_tags = substantive_object_and_anchor_tags_tuple[1];    comp_obj_para                       = comp_obj_para.init; -  comp_obj_para.use                   = "content"; -  comp_obj_para.of                    = "para"; +  comp_obj_para.use                   = "body"; +  comp_obj_para.is_of                 = "para";    comp_obj_para.is_a                  = "para";    comp_obj_para.text                  = to!string(an_object["substantive"]).strip;    comp_obj_para.ocn                   = obj_cite_number; -  comp_obj_para.obj_cite_number       = to!string(obj_cite_number); +  comp_obj_para.obj_cite_number       = (obj_cite_number==0) ? "" : to!string(obj_cite_number);    comp_obj_para.indent_hang           = indent["hang_position"];    comp_obj_para.indent_base           = indent["base_position"];    comp_obj_para.bullet                = bullet; @@ -1046,13 +1052,13 @@ debug(endnotes) {  #+name: abs_post  #+BEGIN_SRC d  if (an_object["glossary_nugget"].length == 0) { -  writeln("no gloss");    comp_obj_heading_                       = comp_obj_heading_.init; -  comp_obj_heading_.use                   = "content"; -  comp_obj_heading_.of                    = "para"; +  comp_obj_heading_.use                   = "empty"; +  comp_obj_heading_.is_of                 = "para";    comp_obj_heading_.is_a                  = "heading";    comp_obj_heading_.text                  = "(skip) there is no Glossary section";    comp_obj_heading_.ocn                   = 0; +  comp_obj_heading_.obj_cite_number       = "";    comp_obj_heading_.marked_up_level       = "B";    comp_obj_heading_.heading_lev_markup    = 1;    comp_obj_heading_.heading_lev_collapsed = 1; @@ -1084,11 +1090,12 @@ auto biblio_ordered =  #+BEGIN_SRC d  if (biblio_ordered.length > 0) {    comp_obj_heading_                       = comp_obj_heading_.init; -  comp_obj_heading_.use                   = "content"; -  comp_obj_heading_.of                    = "para"; +  comp_obj_heading_.use                   = "backmatter"; +  comp_obj_heading_.is_of                 = "para";    comp_obj_heading_.is_a                  = "heading";    comp_obj_heading_.text                  = "Bibliography";    comp_obj_heading_.ocn                   = 0; +  comp_obj_heading_.obj_cite_number       = "";    comp_obj_heading_.marked_up_level       = "B";    comp_obj_heading_.heading_lev_markup    = 1;    comp_obj_heading_.heading_lev_collapsed = 1; @@ -1097,11 +1104,12 @@ if (biblio_ordered.length > 0) {    the_bibliography_section                ~= comp_obj_heading_;    // ---    comp_obj_heading_                       = comp_obj_heading_.init; -  comp_obj_heading_.use                   = "content"; -  comp_obj_heading_.of                    = "para"; +  comp_obj_heading_.use                   = "backmatter"; +  comp_obj_heading_.is_of                 = "para";    comp_obj_heading_.is_a                  = "heading";    comp_obj_heading_.text                  = "Bibliography";    comp_obj_heading_.ocn                   = 0; +  comp_obj_heading_.obj_cite_number       = "";    comp_obj_heading_.segment_anchor_tag    = "bibliography";    comp_obj_heading_.marked_up_level       = "1";    comp_obj_heading_.heading_lev_markup    = 4; @@ -1112,11 +1120,12 @@ if (biblio_ordered.length > 0) {    the_bibliography_section                ~= comp_obj_heading_;  } else {    comp_obj_heading_                       = comp_obj_heading_.init; -  comp_obj_heading_.use                   = "content"; -  comp_obj_heading_.of                    = "para"; +  comp_obj_heading_.use                   = "empty"; +  comp_obj_heading_.is_of                 = "para";    comp_obj_heading_.is_a                  = "heading";    comp_obj_heading_.text                  = "(skip) there is no Bibliography";    comp_obj_heading_.ocn                   = 0; +  comp_obj_heading_.obj_cite_number       = "";    comp_obj_heading_.marked_up_level       = "B";    comp_obj_heading_.heading_lev_markup    = 1;    comp_obj_heading_.heading_lev_collapsed = 1; @@ -1147,12 +1156,12 @@ foreach (entry; biblio_ordered) {      ((entry["url"].str.empty) ? "" : ", [" ~ entry["url"].str ~ "]"),    );    comp_obj_para                       = comp_obj_para.init; -  comp_obj_para.use                   = "content"; -  comp_obj_para.of                    = "para"; +  comp_obj_para.use                   = "backmatter"; +  comp_obj_para.is_of                 = "para";    comp_obj_para.is_a                  = "bibliography";    comp_obj_para.text                  = to!string(out_).strip;    comp_obj_para.ocn                   = 0; -  comp_obj_para.obj_cite_number       = "0"; +  comp_obj_para.obj_cite_number       = "";    comp_obj_para.indent_hang           = 0;    comp_obj_para.indent_base           = 1;    comp_obj_para.bullet                = bullet; @@ -1229,13 +1238,13 @@ debug(bookindex) {                         // bookindex  #+name: abs_post  #+BEGIN_SRC d  if (an_object["blurb_nugget"].length == 0) { -  writeln("no blurb");    comp_obj_heading_                       = comp_obj_heading_.init; -  comp_obj_heading_.use                   = "content"; -  comp_obj_heading_.of                    = "para"; +  comp_obj_heading_.use                   = "empty"; +  comp_obj_heading_.is_of                 = "para";    comp_obj_heading_.is_a                  = "heading";    comp_obj_heading_.text                  = "(skip) there is no Blurb section";    comp_obj_heading_.ocn                   = 0; +  comp_obj_para.obj_cite_number           = "";    comp_obj_heading_.segment_anchor_tag    = "bibliography";    comp_obj_heading_.marked_up_level       = "1";    comp_obj_heading_.heading_lev_markup    = 4; @@ -1263,11 +1272,11 @@ indent=[    "base_position" : 1,  ];  comp_obj_toc                       = comp_obj_toc.init; -comp_obj_toc.use                   = "content"; -comp_obj_toc.of                    = "para"; +comp_obj_toc.use                   = "body"; +comp_obj_toc.is_of                 = "para";  comp_obj_toc.is_a                  = "toc";  comp_obj_toc.ocn                   = 0; -comp_obj_toc.obj_cite_number       = "0"; +comp_obj_toc.obj_cite_number       = "";  comp_obj_toc.indent_hang           = indent["hang_position"];  comp_obj_toc.indent_base           = indent["base_position"];  comp_obj_toc.bullet                = false; @@ -1401,12 +1410,17 @@ auto document_the = [  ];  #+END_SRC -*** misc heading +*** clean out structure  #+name: abs_post +destroy(the_document_head_section); +destroy(the_document_table_of_contents_section);  destroy(the_document_body_section);  destroy(the_endnotes_section); +destroy(the_glossary_section); +destroy(the_bibliography_section);  destroy(the_bookindex_section); +destroy(the_blurb_section);  #+END_SRC  *** [#A] return document tuple                                 :return:tuple: @@ -1973,9 +1987,9 @@ void _poem_block_(          an_object["substantive"] = substantive_object_and_anchor_tags_tuple[0];          anchor_tags = substantive_object_and_anchor_tags_tuple[1];          comp_obj_block                            = comp_obj_block.init; -        comp_obj_block.use                        = "content"; -        comp_obj_block.of                         = "block"; -        comp_obj_block.is_a                       = an_object["is"]; +        comp_obj_block.use                        = "body"; +        comp_obj_block.is_of                      = "block"; +        comp_obj_block.is_a                       = "verse";          comp_obj_block.ocn                        = obj_cite_number;          comp_obj_block.obj_cite_number            = (obj_cite_number==0) ? "" : to!string(obj_cite_number);          comp_obj_block.text                       = an_object["substantive"]; @@ -2024,9 +2038,9 @@ void _poem_block_(          an_object["substantive"] = substantive_object_and_anchor_tags_tuple[0];          anchor_tags = substantive_object_and_anchor_tags_tuple[1];          comp_obj_block                            = comp_obj_block.init; -        comp_obj_block.use                        = "content"; -        comp_obj_block.of                         = "block"; -        comp_obj_block.is_a                       = an_object["is"]; +        comp_obj_block.use                        = "body"; +        comp_obj_block.is_of                      = "block"; +        comp_obj_block.is_a                       = "verse";          comp_obj_block.ocn                        = obj_cite_number;          comp_obj_block.obj_cite_number            = (obj_cite_number==0) ? "" : to!string(obj_cite_number);          comp_obj_block.text                       = an_object["substantive"]; @@ -2060,9 +2074,9 @@ void _poem_block_(          an_object["substantive"] = substantive_object_and_anchor_tags_tuple[0];          anchor_tags = substantive_object_and_anchor_tags_tuple[1];          comp_obj_block                            = comp_obj_block.init; -        comp_obj_block.use                        = "content"; -        comp_obj_block.of                         = "block"; -        comp_obj_block.is_a                       = an_object["is"]; +        comp_obj_block.use                        = "body"; +        comp_obj_block.is_of                      = "block"; +        comp_obj_block.is_a                       = "verse";          comp_obj_block.ocn                        = obj_cite_number;          comp_obj_block.obj_cite_number            = (obj_cite_number==0) ? "" : to!string(obj_cite_number);          comp_obj_block.text                       = an_object["substantive"]; @@ -2111,9 +2125,9 @@ void _poem_block_(          an_object["substantive"] = substantive_object_and_anchor_tags_tuple[0];          anchor_tags = substantive_object_and_anchor_tags_tuple[1];          comp_obj_block                            = comp_obj_block.init; -        comp_obj_block.use                        = "content"; -        comp_obj_block.of                         = "block"; -        comp_obj_block.is_a                       = an_object["is"]; +        comp_obj_block.use                        = "body"; +        comp_obj_block.is_of                      = "block"; +        comp_obj_block.is_a                       = "verse";          comp_obj_block.ocn                        = obj_cite_number;          comp_obj_block.obj_cite_number            = (obj_cite_number==0) ? "" : to!string(obj_cite_number);          comp_obj_block.text                       = an_object["substantive"]; @@ -2339,9 +2353,9 @@ void _block_flag_line_empty_(      an_object["substantive"] = substantive_object_and_anchor_tags_tuple[0];      anchor_tags = substantive_object_and_anchor_tags_tuple[1];      comp_obj_code                             = comp_obj_code.init; -    comp_obj_code.use                         = "content"; -    comp_obj_code.of                          = "block"; -    comp_obj_code.is_a                        = an_object["is"]; +    comp_obj_code.use                         = "body"; +    comp_obj_code.is_of                       = "block"; +    comp_obj_code.is_a                        = "code";      comp_obj_code.ocn                         = obj_cite_number;      comp_obj_code.obj_cite_number             = (obj_cite_number==0) ? "" : to!string(obj_cite_number);      comp_obj_code.text                        = an_object["substantive"]; @@ -2367,8 +2381,8 @@ void _block_flag_line_empty_(          an_object["is"]        );      comp_obj_poem_ocn                         = comp_obj_poem_ocn.init; -    comp_obj_poem_ocn.use                     = "content"; -    comp_obj_poem_ocn.of                      = "block"; +    comp_obj_poem_ocn.use                     = "body"; +    comp_obj_poem_ocn.is_of                   = "block";      comp_obj_poem_ocn.is_a                    = "poem";      comp_obj_poem_ocn.ocn                     = obj_cite_number;      comp_obj_poem_ocn.obj_cite_number         = (obj_cite_number_poem["start"], obj_cite_number_poem["end"]); // not sure about this @@ -2400,9 +2414,9 @@ void _block_flag_line_empty_(      an_object["substantive"] = substantive_object_and_anchor_tags_tuple[0];      anchor_tags = substantive_object_and_anchor_tags_tuple[1];      comp_obj_block                            = comp_obj_block.init; -    comp_obj_block.use                        = "content"; -    comp_obj_block.of                         = "block"; -    comp_obj_block.is_a                       = an_object["is"]; +    comp_obj_block.use                        = "body"; +    comp_obj_block.is_of                      = "block"; +    comp_obj_block.is_a                       = "table";      comp_obj_block.ocn                        = obj_cite_number;      comp_obj_block.obj_cite_number            = (obj_cite_number==0) ? "" : to!string(obj_cite_number);      comp_obj_block.text                       = an_object["substantive"]; @@ -2434,9 +2448,9 @@ void _block_flag_line_empty_(      an_object["substantive"] = substantive_object_and_anchor_tags_tuple[0];      anchor_tags = substantive_object_and_anchor_tags_tuple[1];      comp_obj_block                            = comp_obj_block.init; -    comp_obj_block.use                        = "content"; -    comp_obj_block.of                         = "block"; -    comp_obj_block.is_a                       = an_object["is"]; +    comp_obj_block.use                        = "body"; +    comp_obj_block.is_of                      = "block"; +    comp_obj_block.is_a                       = "group";      comp_obj_block.ocn                        = obj_cite_number;      comp_obj_block.obj_cite_number            = (obj_cite_number==0) ? "" : to!string(obj_cite_number);      comp_obj_block.text                       = an_object["substantive"]; @@ -2467,9 +2481,9 @@ void _block_flag_line_empty_(      an_object["substantive"] = substantive_object_and_anchor_tags_tuple[0];      anchor_tags = substantive_object_and_anchor_tags_tuple[1];      comp_obj_block                            = comp_obj_block.init; -    comp_obj_block.use                        = "content"; -    comp_obj_block.of                         = "block"; -    comp_obj_block.is_a                       = an_object["is"]; +    comp_obj_block.use                        = "body"; +    comp_obj_block.is_of                      = "block"; +    comp_obj_block.is_a                       = "block";      comp_obj_block.ocn                        = obj_cite_number;      comp_obj_block.obj_cite_number            = (obj_cite_number==0) ? "" : to!string(obj_cite_number);      comp_obj_block.text                       = an_object["substantive"]; @@ -2501,9 +2515,9 @@ void _block_flag_line_empty_(      an_object["substantive"] = substantive_object_and_anchor_tags_tuple[0];      anchor_tags = substantive_object_and_anchor_tags_tuple[1];      comp_obj_block                            = comp_obj_block.init; -    comp_obj_block.use                        = "content"; -    comp_obj_block.of                         = "block"; -    comp_obj_block.is_a                       = an_object["is"]; +    comp_obj_block.use                        = "body"; +    comp_obj_block.is_of                      = "block"; +    comp_obj_block.is_a                       = "quote";      comp_obj_block.ocn                        = obj_cite_number;      comp_obj_block.obj_cite_number            = (obj_cite_number==0) ? "" : to!string(obj_cite_number);      comp_obj_block.text                       = an_object["substantive"]; @@ -3311,11 +3325,11 @@ struct ObjInlineMarkup {        );        toc_txt_= munge.url_links(toc_txt_);        comp_obj_toc                       = comp_obj_toc.init; -      comp_obj_toc.use                   = "content"; -      comp_obj_toc.of                    = "para"; +      comp_obj_toc.use                   = "body"; +      comp_obj_toc.is_of                 = "para";        comp_obj_toc.is_a                  = "toc";        comp_obj_toc.ocn                   = 0; -      comp_obj_toc.obj_cite_number       = "0"; +      comp_obj_toc.obj_cite_number       = "";        comp_obj_toc.indent_hang           = indent["hang_position"];        comp_obj_toc.indent_base           = indent["base_position"];        comp_obj_toc.bullet                = false; @@ -3327,11 +3341,11 @@ struct ObjInlineMarkup {          "base_position" : 0,        ];        comp_obj_toc                       = comp_obj_toc.init; -      comp_obj_toc.use                   = "content"; -      comp_obj_toc.of                    = "para"; +      comp_obj_toc.use                   = "body"; +      comp_obj_toc.is_of                 = "para";        comp_obj_toc.is_a                  = "toc";        comp_obj_toc.ocn                   = 0; -      comp_obj_toc.obj_cite_number       = "0"; +      comp_obj_toc.obj_cite_number       = "";        comp_obj_toc.indent_hang           = indent["hang_position"];        comp_obj_toc.indent_base           = indent["base_position"];        comp_obj_toc.bullet                = false; @@ -3339,11 +3353,11 @@ struct ObjInlineMarkup {        the_table_of_contents_section["scroll"] ~= comp_obj_toc;      }      comp_obj_toc                       = comp_obj_toc.init; -    comp_obj_toc.use                   = "content"; -    comp_obj_toc.of                    = "para"; +    comp_obj_toc.use                   = "body"; +    comp_obj_toc.is_of                 = "para";      comp_obj_toc.is_a                  = "toc";      comp_obj_toc.ocn                   = 0; -    comp_obj_toc.obj_cite_number       = "0"; +    comp_obj_toc.obj_cite_number       = "";      comp_obj_toc.bullet                = false;      switch (to!int(obj_["lev_markup_number"])) {      case 0: @@ -4050,7 +4064,7 @@ struct BookIndexReportIndent {  #+name: ao_emitters_book_index_report_section  #+BEGIN_SRC d  struct BookIndexReportSection { -  int mkn, skn; +  int  mkn, skn;    auto rgx = Rgx();    auto munge = ObjInlineMarkupMunge();  #+END_SRC @@ -4113,11 +4127,12 @@ struct BookIndexReportSection {      && (opt_action_bool["backmatter"] && opt_action_bool["section_bookindex"])) {        string bi_tmp_seg, bi_tmp_scroll;        comp_obj_heading_                       = comp_obj_heading_.init; -      comp_obj_heading_.use                   = "content"; -      comp_obj_heading_.of                    = "para"; +      comp_obj_heading_.use                   = "backmatter"; +      comp_obj_heading_.is_of                 = "para";        comp_obj_heading_.is_a                  = "heading";        comp_obj_heading_.text                  = "Book Index";        comp_obj_heading_.ocn                   = 0; +      comp_obj_heading_.obj_cite_number       = "";        comp_obj_heading_.marked_up_level       = "B";        comp_obj_heading_.heading_lev_markup    = 1;        comp_obj_heading_.heading_lev_collapsed = 1; @@ -4128,11 +4143,12 @@ struct BookIndexReportSection {        ++obj_cite_number;        ++mkn;        comp_obj_heading_                       = comp_obj_heading_.init; -      comp_obj_heading_.use                   = "content"; -      comp_obj_heading_.of                    = "para"; +      comp_obj_heading_.use                   = "backmatter"; +      comp_obj_heading_.is_of                 = "para";        comp_obj_heading_.is_a                  = "heading";        comp_obj_heading_.text                  = "Index";        comp_obj_heading_.ocn                   = 0; +      comp_obj_heading_.obj_cite_number       = "";        comp_obj_heading_.segment_anchor_tag    = "bookindex";        comp_obj_heading_.marked_up_level       = "1";        comp_obj_heading_.heading_lev_markup    = 4; @@ -4176,12 +4192,12 @@ struct BookIndexReportSection {          bi_tmp_scroll = replaceFirst(bi_tmp_scroll, rgx.trailing_linebreak, "");          bi_tmp_seg = replaceFirst(bi_tmp_seg, rgx.trailing_linebreak, "");          comp_obj_para                       = comp_obj_para.init; -        comp_obj_para.use                   = "content"; -        comp_obj_para.of                    = "para"; -        comp_obj_para.is_a                  = "para"; +        comp_obj_para.use                   = "backmatter"; +        comp_obj_para.is_of                 = "para"; +        comp_obj_para.is_a                  = "bookindex";          comp_obj_para.text                  = to!string(bi_tmp_scroll).strip;          comp_obj_para.ocn                   = obj_cite_number; -        comp_obj_para.obj_cite_number       = to!string(obj_cite_number); +        comp_obj_para.obj_cite_number       = (obj_cite_number==0) ? "" : to!string(obj_cite_number);          comp_obj_para.indent_hang           = 0;          comp_obj_para.indent_base           = 1;          comp_obj_para.bullet                = false; @@ -4195,6 +4211,7 @@ struct BookIndexReportSection {        comp_obj_heading_                       = comp_obj_heading_.init;        comp_obj_heading_.text                  = "(skip) there is no Book Index";        comp_obj_heading_.ocn                   = 0; +      comp_obj_heading_.obj_cite_number       = "";        comp_obj_heading_.marked_up_level       = "B";        comp_obj_heading_.heading_lev_markup    = 1;        comp_obj_heading_.heading_lev_collapsed = 1; @@ -4328,11 +4345,12 @@ struct NotesSection {      if ((endnotes_["seg"].length > 0)      && (opt_action_bool["backmatter"] && opt_action_bool["section_endnotes"])) {        comp_obj_heading_                       = comp_obj_heading_.init; -      comp_obj_heading_.use                   = "content"; -      comp_obj_heading_.of                    = "para"; +      comp_obj_heading_.use                   = "backmatter"; +      comp_obj_heading_.is_of                 = "para";        comp_obj_heading_.is_a                  = "heading";        comp_obj_heading_.text                  = "Endnotes";        comp_obj_heading_.ocn                   = 0; +      comp_obj_heading_.obj_cite_number       = "";        comp_obj_heading_.marked_up_level       = "B";        comp_obj_heading_.heading_lev_markup    = 1;        comp_obj_heading_.heading_lev_collapsed = 1; @@ -4343,11 +4361,12 @@ struct NotesSection {        ++obj_cite_number;        ++mkn;        comp_obj_heading_                       = comp_obj_heading_.init; -      comp_obj_heading_.use                   = "content"; -      comp_obj_heading_.of                    = "para"; +      comp_obj_heading_.use                   = "backmatter"; +      comp_obj_heading_.is_of                 = "para";        comp_obj_heading_.is_a                  = "heading";        comp_obj_heading_.text                  = "Endnotes";        comp_obj_heading_.ocn                   = 0; +      comp_obj_heading_.obj_cite_number       = "";        comp_obj_heading_.segment_anchor_tag    = "endnotes";        comp_obj_heading_.marked_up_level       = "1";        comp_obj_heading_.heading_lev_markup    = 4; @@ -4361,11 +4380,12 @@ struct NotesSection {        ++mkn;      } else {        comp_obj_heading_                       = comp_obj_heading_.init; -      comp_obj_heading_.use                   = "content"; -      comp_obj_heading_.of                    = "para"; +      comp_obj_heading_.use                   = "empty"; +      comp_obj_heading_.is_of                 = "para";        comp_obj_heading_.is_a                  = "heading";        comp_obj_heading_.text                  = "(skip) there are no Endnotes";        comp_obj_heading_.ocn                   = 0; +      comp_obj_heading_.obj_cite_number       = "";        comp_obj_heading_.marked_up_level       = "B";        comp_obj_heading_.heading_lev_markup    = 1;        comp_obj_heading_.heading_lev_collapsed = 1; @@ -4377,11 +4397,11 @@ struct NotesSection {      if (opt_action_bool["backmatter"] && opt_action_bool["section_endnotes"]) {        ObjGenericComposite comp_obj_endnote_;        comp_obj_endnote_                       = comp_obj_endnote_.init; -      comp_obj_endnote_.use                   = "content"; -      comp_obj_endnote_.of                    = "para"; +      comp_obj_endnote_.use                   = "backmatter"; +      comp_obj_endnote_.is_of                 = "para";        comp_obj_endnote_.is_a                  = "endnote";        comp_obj_endnote_.ocn                   = 0; -      comp_obj_endnote_.obj_cite_number       = "0"; +      comp_obj_heading_.obj_cite_number       = "";        comp_obj_endnote_.indent_hang           = 0;        comp_obj_endnote_.indent_base           = 0;        comp_obj_endnote_.bullet                = false; @@ -4714,8 +4734,8 @@ struct NodeStructureMetadata {      }      ObjGenericComposite _comp_obj_heading_;      _comp_obj_heading_                       = _comp_obj_heading_.init; -    _comp_obj_heading_.use                   = "content"; -    _comp_obj_heading_.of                    = "para"; +    _comp_obj_heading_.use                   = "body"; +    _comp_obj_heading_.is_of                 = "para";      _comp_obj_heading_.is_a                  = "heading";      _comp_obj_heading_.text                  = to!string(_text).strip;      _comp_obj_heading_.ocn                   = obj_cite_number_; @@ -5019,7 +5039,7 @@ struct HeadingAttrib {  struct ObjGenericComposite {    // size_t id;    string                 use                          = ""; -  string                 of                           = ""; +  string                 is_of                        = "";    string                 is_a                         = "";    string                 text                         = "";    string                 obj_cite_number              = ""; diff --git a/org/ao_output_debugs.org b/org/ao_output_debugs.org index 28fcef2..a3b74c9 100644 --- a/org/ao_output_debugs.org +++ b/org/ao_output_debugs.org @@ -68,7 +68,7 @@ debug(parent) {    );    foreach (key; document_section_keys_sequenced["seg"]) {      foreach (obj; contents[key]) { -      if (obj.use == "content") { +      if (obj.use != "empty") {          if (obj.is_a == "heading") {            writefln(              "%s node: %s heading: %s %s", @@ -96,7 +96,7 @@ debug(dumpdoc) {      __LINE__,    );    foreach (obj; contents) { -    if (obj.use == "content") { +    if (obj.use != "empty") {        writefln(          "[%s][%s]\n%s",          obj.obj_cite_number, @@ -376,7 +376,7 @@ debug(objects) {      __LINE__,    );    foreach (obj; contents) { -    if (obj.use == "content") { +    if (obj.use != "empty") {        writefln(          "* [%s][%s] %s",          obj.obj_cite_number, @@ -639,7 +639,7 @@ debug(summary) {  debug(checkdoc) {    foreach (k; document_section_keys_sequenced["seg"]) {      foreach (obj; contents[k]) { -      if (obj.use == "content") { +      if (obj.use != "empty") {          if (!empty(obj.obj_cite_number)) {            check["last_obj_cite_number"] = obj.obj_cite_number;          } diff --git a/org/output.org b/org/output.org index 976fcdd..eae453a 100644 --- a/org/output.org +++ b/org/output.org @@ -150,7 +150,7 @@ auto html_para(O)(    if (obj.obj_cite_number.empty) {      o = format(q"¶  <div class="substance">    <label class="ocn"><a href="#%s" class="lnkocn">%s</a></label> -  <p class="%s" attrib="h%si%s">%s +  <p class="%s" indent="h%si%s">%s      %s    </p>  </div>¶", @@ -165,7 +165,7 @@ auto html_para(O)(    } else {      o = format(q"¶  <div class="substance">    <label class="ocn"><a href="#%s" class="lnkocn">%s</a></label> -  <p class="%s" attrib="h%si%s" id="%s">%s +  <p class="%s" indent="h%si%s" id="%s">%s      %s    </p>  </div>¶", @@ -253,7 +253,7 @@ auto html_toc(O)(  ) {    string o;    o = format(q"¶  <div class="substance"> -  <p class="%s" attrib="h%si%s"> +  <p class="%s" indent="h%si%s">      %s    </p>  </div>¶", @@ -274,7 +274,7 @@ auto html_endnote(O)(    auto ref const O         obj,  ) {    string o; -  o = format(q"¶    <p class="%s" attrib="h%si%s"> +  o = format(q"¶    <p class="%s" indent="h%si%s">    %s  </p>¶",      obj.is_a, @@ -319,39 +319,84 @@ void scroll(C)(    string[] doc;    foreach (part; document_section_keys_sequenced["scroll"]) {      foreach (obj; contents[part]) { -      if (obj.use == "content") { -        switch (obj.is_a) { -        case "heading": -          body_html ~= html_heading(obj); -          break; -        case "toc": -          body_html ~= html_toc(obj); -          break; +      if (obj.use == "body") { +        switch (obj.is_of) {          case "para": -          body_html ~= html_para(obj); -          break; -        case "verse": -          body_html ~= html_nugget(obj); -          break; -        case "group": -          body_html ~= html_nugget(obj); +          switch (obj.is_a) { +          case "heading": +            body_html ~= html_heading(obj); +            break; +          case "toc": +            body_html ~= html_toc(obj); +            break; +          case "para": +            body_html ~= html_para(obj); +            break; +          default: +            writeln(__FILE__, ":", __LINE__, ": ", obj.is_a); +            break; +          }            break;          case "block": -          body_html ~= html_nugget(obj); -          break; -        case "quote": -          body_html ~= html_nugget(obj); +          switch (obj.is_a) { +          case "poem": +            break; +          case "verse": +            body_html ~= html_nugget(obj); +            break; +          case "group": +            body_html ~= html_nugget(obj); +            break; +          case "block": +            body_html ~= html_nugget(obj); +            break; +          case "quote": +            body_html ~= html_nugget(obj); +            break; +          case "table": +            body_html ~= html_para(obj); // +            break; +          case "code": +            body_html ~= html_nugget(obj); +            break; +          default: +            writeln(__FILE__, ":", __LINE__, ": ", obj.is_a); +            break; +          }            break; -        case "table": -          body_html ~= html_para(obj); -          break; -        case "code": -          body_html ~= html_nugget(obj); +        default: +          writeln(__FILE__, ":", __LINE__, ": ", obj.is_of);            break; -        case "endnote": -          body_html ~= html_endnote(obj); +        } +      } else if (obj.use == "backmatter") { +        switch (obj.is_of) { +        case "para": +          switch (obj.is_a) { +          case "heading": +            body_html ~= html_heading(obj); +            break; +          case "endnote": +            body_html ~= html_endnote(obj); +            break; +          case "glossary": +            body_html ~= html_para(obj); +            break; +          case "bibliography": +            body_html ~= html_para(obj); +            break; +          case "bookindex": +            body_html ~= html_para(obj); +            break; +          case "blurb": +            body_html ~= html_para(obj); +            break; +          default: +            writeln(__FILE__, ":", __LINE__, ": ", obj.is_a); +            break; +          }            break;          default: +          writeln(__FILE__, ":", __LINE__, ": ", obj.is_a);            break;          }        } | 
