aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorRalph Amissah <ralph@amissah.com>2016-12-29 20:34:57 -0500
committerRalph Amissah <ralph@amissah.com>2019-04-10 15:14:13 -0400
commite8b7ed81b35b42a1faf086ef88360f870341910a (patch)
tree479876730abab831bb4146b3975f2f897bce8c6c
parent0.10.0 generic object (ObjGenericComposite), removed "object_set" (diff)
naming
-rw-r--r--org/ao_abstract_doc_source.org224
-rw-r--r--org/ao_output_debugs.org8
-rw-r--r--org/output.org105
-rw-r--r--src/sdp/ao_abstract_doc_source.d131
-rw-r--r--src/sdp/ao_object_setter.d2
-rw-r--r--src/sdp/output_html.d91
6 files changed, 333 insertions, 228 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;
}
}
diff --git a/src/sdp/ao_abstract_doc_source.d b/src/sdp/ao_abstract_doc_source.d
index 1580238..0697ae4 100644
--- a/src/sdp/ao_abstract_doc_source.d
+++ b/src/sdp/ao_abstract_doc_source.d
@@ -161,10 +161,11 @@ template SiSUdocAbstraction() {
an_object["blurb_nugget"] = "";
comp_obj_heading_ = comp_obj_heading_.init;
comp_obj_heading_.use = "content";
- comp_obj_heading_.of = "para";
+ 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;
@@ -262,10 +263,11 @@ template SiSUdocAbstraction() {
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_.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;
@@ -274,10 +276,11 @@ template SiSUdocAbstraction() {
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_.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;
@@ -292,11 +295,11 @@ template SiSUdocAbstraction() {
_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.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;
@@ -331,10 +334,11 @@ template SiSUdocAbstraction() {
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_.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;
@@ -343,10 +347,11 @@ template SiSUdocAbstraction() {
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_.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;
@@ -359,10 +364,11 @@ template SiSUdocAbstraction() {
&& (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_.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
@@ -374,11 +380,11 @@ template SiSUdocAbstraction() {
_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_of = "para";
comp_obj_para.is_a = "para";
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;
@@ -465,7 +471,7 @@ template SiSUdocAbstraction() {
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;
@@ -628,11 +634,11 @@ template SiSUdocAbstraction() {
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.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;
@@ -717,10 +723,11 @@ template SiSUdocAbstraction() {
writeln("no gloss");
comp_obj_heading_ = comp_obj_heading_.init;
comp_obj_heading_.use = "content";
- comp_obj_heading_.of = "para";
+ 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;
@@ -743,10 +750,11 @@ template SiSUdocAbstraction() {
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_.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;
@@ -756,10 +764,11 @@ template SiSUdocAbstraction() {
// ---
comp_obj_heading_ = comp_obj_heading_.init;
comp_obj_heading_.use = "content";
- comp_obj_heading_.of = "para";
+ 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;
@@ -771,10 +780,11 @@ template SiSUdocAbstraction() {
} else {
comp_obj_heading_ = comp_obj_heading_.init;
comp_obj_heading_.use = "content";
- comp_obj_heading_.of = "para";
+ 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;
@@ -800,11 +810,11 @@ template SiSUdocAbstraction() {
);
comp_obj_para = comp_obj_para.init;
comp_obj_para.use = "content";
- comp_obj_para.of = "para";
+ 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;
@@ -836,10 +846,11 @@ template SiSUdocAbstraction() {
writeln("no blurb");
comp_obj_heading_ = comp_obj_heading_.init;
comp_obj_heading_.use = "content";
- comp_obj_heading_.of = "para";
+ 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;
@@ -862,10 +873,10 @@ template SiSUdocAbstraction() {
];
comp_obj_toc = comp_obj_toc.init;
comp_obj_toc.use = "content";
- comp_obj_toc.of = "para";
+ 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;
@@ -1420,8 +1431,8 @@ template SiSUdocAbstraction() {
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.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"];
@@ -1471,8 +1482,8 @@ template SiSUdocAbstraction() {
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.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"];
@@ -1507,8 +1518,8 @@ template SiSUdocAbstraction() {
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.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"];
@@ -1558,8 +1569,8 @@ template SiSUdocAbstraction() {
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.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"];
@@ -1756,8 +1767,8 @@ template SiSUdocAbstraction() {
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.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"];
@@ -1784,7 +1795,7 @@ template SiSUdocAbstraction() {
);
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.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
@@ -1817,8 +1828,8 @@ template SiSUdocAbstraction() {
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.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"];
@@ -1851,8 +1862,8 @@ template SiSUdocAbstraction() {
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.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"];
@@ -1884,8 +1895,8 @@ template SiSUdocAbstraction() {
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.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"];
@@ -1918,8 +1929,8 @@ template SiSUdocAbstraction() {
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.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"];
@@ -2667,10 +2678,10 @@ template SiSUdocAbstraction() {
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.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;
@@ -2683,10 +2694,10 @@ template SiSUdocAbstraction() {
];
comp_obj_toc = comp_obj_toc.init;
comp_obj_toc.use = "content";
- comp_obj_toc.of = "para";
+ 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;
@@ -2695,10 +2706,10 @@ template SiSUdocAbstraction() {
}
comp_obj_toc = comp_obj_toc.init;
comp_obj_toc.use = "content";
- comp_obj_toc.of = "para";
+ 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:
@@ -3260,7 +3271,7 @@ template SiSUdocAbstraction() {
}
}
struct BookIndexReportSection {
- int mkn, skn;
+ int mkn, skn;
auto rgx = Rgx();
auto munge = ObjInlineMarkupMunge();
auto bookindex_write_section(
@@ -3312,7 +3323,7 @@ template SiSUdocAbstraction() {
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_.is_of = "para";
comp_obj_heading_.is_a = "heading";
comp_obj_heading_.text = "Book Index";
comp_obj_heading_.ocn = 0;
@@ -3327,7 +3338,7 @@ template SiSUdocAbstraction() {
++mkn;
comp_obj_heading_ = comp_obj_heading_.init;
comp_obj_heading_.use = "content";
- comp_obj_heading_.of = "para";
+ comp_obj_heading_.is_of = "para";
comp_obj_heading_.is_a = "heading";
comp_obj_heading_.text = "Index";
comp_obj_heading_.ocn = 0;
@@ -3375,11 +3386,11 @@ template SiSUdocAbstraction() {
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.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;
@@ -3498,7 +3509,7 @@ template SiSUdocAbstraction() {
&& (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_.is_of = "para";
comp_obj_heading_.is_a = "heading";
comp_obj_heading_.text = "Endnotes";
comp_obj_heading_.ocn = 0;
@@ -3513,7 +3524,7 @@ template SiSUdocAbstraction() {
++mkn;
comp_obj_heading_ = comp_obj_heading_.init;
comp_obj_heading_.use = "content";
- comp_obj_heading_.of = "para";
+ comp_obj_heading_.is_of = "para";
comp_obj_heading_.is_a = "heading";
comp_obj_heading_.text = "Endnotes";
comp_obj_heading_.ocn = 0;
@@ -3531,7 +3542,7 @@ template SiSUdocAbstraction() {
} else {
comp_obj_heading_ = comp_obj_heading_.init;
comp_obj_heading_.use = "content";
- comp_obj_heading_.of = "para";
+ 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;
@@ -3547,10 +3558,10 @@ template SiSUdocAbstraction() {
ObjGenericComposite comp_obj_endnote_;
comp_obj_endnote_ = comp_obj_endnote_.init;
comp_obj_endnote_.use = "content";
- comp_obj_endnote_.of = "para";
+ 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;
@@ -3824,7 +3835,7 @@ template SiSUdocAbstraction() {
ObjGenericComposite _comp_obj_heading_;
_comp_obj_heading_ = _comp_obj_heading_.init;
_comp_obj_heading_.use = "content";
- _comp_obj_heading_.of = "para";
+ _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_;
diff --git a/src/sdp/ao_object_setter.d b/src/sdp/ao_object_setter.d
index f6f7641..13bcc36 100644
--- a/src/sdp/ao_object_setter.d
+++ b/src/sdp/ao_object_setter.d
@@ -17,7 +17,7 @@ template ObjectSetter() {
struct ObjGenericComposite {
// size_t id;
string use = "";
- string of = "";
+ string is_of = "";
string is_a = "";
string text = "";
string obj_cite_number = "";
diff --git a/src/sdp/output_html.d b/src/sdp/output_html.d
index 42ecf0a..5cd1b26 100644
--- a/src/sdp/output_html.d
+++ b/src/sdp/output_html.d
@@ -43,7 +43,7 @@ template SiSUoutputHTML() {
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>¶",
@@ -58,7 +58,7 @@ template SiSUoutputHTML() {
} 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>¶",
@@ -128,7 +128,7 @@ template SiSUoutputHTML() {
) {
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>¶",
@@ -143,7 +143,7 @@ template SiSUoutputHTML() {
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,
@@ -176,38 +176,67 @@ template SiSUoutputHTML() {
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;
+ 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;
+ 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;
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;
- case "endnote":
- body_html ~= html_endnote(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;
default:
+ writeln(__FILE__, ":", __LINE__, ": ", obj.is_of);
break;
}
}