aboutsummaryrefslogtreecommitdiffhomepage
path: root/org
diff options
context:
space:
mode:
Diffstat (limited to 'org')
-rw-r--r--org/meta_abstraction.org256
1 files changed, 130 insertions, 126 deletions
diff --git a/org/meta_abstraction.org b/org/meta_abstraction.org
index 3b21446..7e99504 100644
--- a/org/meta_abstraction.org
+++ b/org/meta_abstraction.org
@@ -503,9 +503,9 @@ string toc_txt_;
an_object["glossary_nugget"] = "";
an_object["blurb_nugget"] = "";
comp_obj_heading_ = comp_obj_heading_.init;
-comp_obj_heading_.typeinfo.of_part = "frontmatter";
-comp_obj_heading_.typeinfo.of_section = "toc";
-comp_obj_heading_.typeinfo.is_of = "para";
+comp_obj_heading_.typeinfo.is_of_part = "frontmatter";
+comp_obj_heading_.typeinfo.is_of_section = "toc";
+comp_obj_heading_.typeinfo.is_of_type = "para";
comp_obj_heading_.typeinfo.is_a = "heading";
comp_obj_heading_.text = "Table of Contents";
comp_obj_heading_.node.ocn = 0;
@@ -679,9 +679,9 @@ if there is a glossary section you need to:
an_object_key="glossary_nugget"; //
if (line.matchFirst(rgx.heading_glossary)) {
comp_obj_heading_ = comp_obj_heading_.init;
- comp_obj_heading_.typeinfo.of_part = "backmatter";
- comp_obj_heading_.typeinfo.of_section = "glossary";
- comp_obj_heading_.typeinfo.is_of = "para";
+ comp_obj_heading_.typeinfo.is_of_part = "backmatter";
+ comp_obj_heading_.typeinfo.is_of_section = "glossary";
+ comp_obj_heading_.typeinfo.is_of_type = "para";
comp_obj_heading_.typeinfo.is_a = "heading";
comp_obj_heading_.text = "Glossary";
comp_obj_heading_.node.ocn = 0;
@@ -697,9 +697,9 @@ if there is a glossary section you need to:
comp_obj_heading_.node.dom_collapsed = [ 1, 1, 0, 0, 0, 0, 0, 0];
the_glossary_section ~= comp_obj_heading_;
comp_obj_heading_ = comp_obj_heading_.init;
- comp_obj_heading_.typeinfo.of_part = "backmatter";
- comp_obj_heading_.typeinfo.of_section = "glossary";
- comp_obj_heading_.typeinfo.is_of = "para";
+ comp_obj_heading_.typeinfo.is_of_part = "backmatter";
+ comp_obj_heading_.typeinfo.is_of_section = "glossary";
+ comp_obj_heading_.typeinfo.is_of_type = "para";
comp_obj_heading_.typeinfo.is_a = "heading";
comp_obj_heading_.text = "Glossary";
comp_obj_heading_.node.ocn = 0;
@@ -718,9 +718,9 @@ if there is a glossary section you need to:
} else {
_para_match_(line, an_object, an_object_key, indent, bullet, obj_type_status, line_occur);
comp_obj_para = comp_obj_para.init;
- comp_obj_para.typeinfo.of_part = "backmatter";
- comp_obj_para.typeinfo.of_section = "glossary";
- comp_obj_para.typeinfo.is_of = "para";
+ comp_obj_para.typeinfo.is_of_part = "backmatter";
+ comp_obj_para.typeinfo.is_of_section = "glossary";
+ comp_obj_para.typeinfo.is_of_type = "para";
comp_obj_para.typeinfo.is_a = "glossary";
comp_obj_para.text = line.to!string.strip;
comp_obj_para.node.ocn = 0;
@@ -800,9 +800,9 @@ if there is a blurb section you need to:
an_object_key="blurb_nugget";
if (line.matchFirst(rgx.heading_blurb)) {
comp_obj_heading_ = comp_obj_heading_.init;
- comp_obj_heading_.typeinfo.of_part = "backmatter";
- comp_obj_heading_.typeinfo.of_section = "blurb";
- comp_obj_heading_.typeinfo.is_of = "para";
+ comp_obj_heading_.typeinfo.is_of_part = "backmatter";
+ comp_obj_heading_.typeinfo.is_of_section = "blurb";
+ comp_obj_heading_.typeinfo.is_of_type = "para";
comp_obj_heading_.typeinfo.is_a = "heading";
comp_obj_heading_.text = "Blurb";
comp_obj_heading_.node.ocn = 0;
@@ -818,9 +818,9 @@ if there is a blurb section you need to:
comp_obj_heading_.node.dom_collapsed = [ 1, 1, 0, 0, 0, 0, 0, 0];
the_blurb_section ~= comp_obj_heading_;
comp_obj_heading_ = comp_obj_heading_.init;
- comp_obj_heading_.typeinfo.of_part = "backmatter";
- comp_obj_heading_.typeinfo.of_section = "blurb";
- comp_obj_heading_.typeinfo.is_of = "para";
+ comp_obj_heading_.typeinfo.is_of_part = "backmatter";
+ comp_obj_heading_.typeinfo.is_of_section = "blurb";
+ comp_obj_heading_.typeinfo.is_of_type = "para";
comp_obj_heading_.typeinfo.is_a = "heading";
comp_obj_heading_.text = "Blurb";
comp_obj_heading_.node.ocn = 0;
@@ -839,9 +839,9 @@ if there is a blurb section you need to:
} else if (line.matchFirst(rgx.heading)
&& (opt_action.backmatter && opt_action.section_blurb)) {
comp_obj_heading_ = comp_obj_heading_.init;
- comp_obj_heading_.typeinfo.of_part = "backmatter";
- comp_obj_heading_.typeinfo.of_section = "blurb";
- comp_obj_heading_.typeinfo.is_of = "para";
+ comp_obj_heading_.typeinfo.is_of_part = "backmatter";
+ comp_obj_heading_.typeinfo.is_of_section = "blurb";
+ comp_obj_heading_.typeinfo.is_of_type = "para";
comp_obj_heading_.typeinfo.is_a = "heading";
comp_obj_heading_.text = line.to!string;
comp_obj_heading_.node.ocn = 0;
@@ -857,9 +857,9 @@ if there is a blurb section you need to:
} else {
_para_match_(line, an_object, an_object_key, indent, bullet, obj_type_status, line_occur);
comp_obj_para = comp_obj_para.init;
- comp_obj_para.typeinfo.of_part = "backmatter";
- comp_obj_para.typeinfo.of_section = "blurb";
- comp_obj_para.typeinfo.is_of = "para";
+ comp_obj_para.typeinfo.is_of_part = "backmatter";
+ comp_obj_para.typeinfo.is_of_section = "blurb";
+ comp_obj_para.typeinfo.is_of_type = "para";
comp_obj_para.typeinfo.is_a = "blurb";
comp_obj_para.text = munge.url_links(line.to!string.strip).replaceFirst(rgx.para_attribs, "");
comp_obj_para.node.ocn = 0;
@@ -1029,14 +1029,14 @@ if (line.matchFirst(rgx.book_index)
debug(comment) {
writeln(line);
}
- an_object[an_object_key] ~= line ~= "\n";
- comp_obj_comment = comp_obj_comment.init;
- comp_obj_comment.typeinfo.of_part = "comment"; // breaks flow
- comp_obj_comment.typeinfo.of_section = "comment"; // breaks flow
- comp_obj_comment.typeinfo.is_of = "comment";
- comp_obj_comment.typeinfo.is_a = "comment";
- comp_obj_comment.text = an_object[an_object_key].strip;
- the_document_body_section ~= comp_obj_comment;
+ an_object[an_object_key] ~= line ~= "\n";
+ comp_obj_comment = comp_obj_comment.init;
+ comp_obj_comment.typeinfo.is_of_part = "comment"; // breaks flow
+ comp_obj_comment.typeinfo.is_of_section = "comment"; // breaks flow
+ comp_obj_comment.typeinfo.is_of_type = "comment";
+ comp_obj_comment.typeinfo.is_a = "comment";
+ comp_obj_comment.text = an_object[an_object_key].strip;
+ the_document_body_section ~= comp_obj_comment;
_common_reset_(line_occur, an_object, obj_type_status);
processing.remove("verse");
++cntr;
@@ -1274,9 +1274,9 @@ if ((obj_type_status["heading"] == State.on)
an_object["substantive"] = substantive_obj_misc_tuple[sObj.content];
anchor_tags = substantive_obj_misc_tuple[sObj.anchor_tags];
comp_obj_para = comp_obj_para.init;
- comp_obj_para.typeinfo.of_part = "body";
- comp_obj_para.typeinfo.of_section = "body";
- comp_obj_para.typeinfo.is_of = "para";
+ comp_obj_para.typeinfo.is_of_part = "body";
+ comp_obj_para.typeinfo.is_of_section = "body";
+ comp_obj_para.typeinfo.is_of_type = "para";
comp_obj_para.typeinfo.is_a = "para";
comp_obj_para.text = an_object["substantive"].to!string.strip;
comp_obj_para.node.ocn = obj_cite_digits.digit;
@@ -1398,9 +1398,9 @@ debug(endnotes) {
#+BEGIN_SRC d
if (an_object["glossary_nugget"].length == 0) {
comp_obj_heading_ = comp_obj_heading_.init;
- comp_obj_heading_.typeinfo.of_part = "empty";
- comp_obj_heading_.typeinfo.of_section = "empty";
- comp_obj_heading_.typeinfo.is_of = "para";
+ comp_obj_heading_.typeinfo.is_of_part = "empty";
+ comp_obj_heading_.typeinfo.is_of_section = "empty";
+ comp_obj_heading_.typeinfo.is_of_type = "para";
comp_obj_heading_.typeinfo.is_a = "heading";
comp_obj_heading_.text = "(skip) there is no Glossary section";
comp_obj_heading_.node.ocn = 0;
@@ -1436,9 +1436,9 @@ auto biblio_ordered
#+BEGIN_SRC d
if (biblio_ordered.length > 0) {
comp_obj_heading_ = comp_obj_heading_.init;
- comp_obj_heading_.typeinfo.of_part = "backmatter";
- comp_obj_heading_.typeinfo.of_section = "bibliography";
- comp_obj_heading_.typeinfo.is_of = "para";
+ comp_obj_heading_.typeinfo.is_of_part = "backmatter";
+ comp_obj_heading_.typeinfo.is_of_section = "bibliography";
+ comp_obj_heading_.typeinfo.is_of_type = "para";
comp_obj_heading_.typeinfo.is_a = "heading";
comp_obj_heading_.text = "Bibliography";
comp_obj_heading_.node.ocn = 0;
@@ -1452,9 +1452,9 @@ if (biblio_ordered.length > 0) {
comp_obj_heading_.node.parent_lev_markup = 0;
the_bibliography_section ~= comp_obj_heading_;
comp_obj_heading_ = comp_obj_heading_.init;
- comp_obj_heading_.typeinfo.of_part = "backmatter";
- comp_obj_heading_.typeinfo.of_section = "bibliography";
- comp_obj_heading_.typeinfo.is_of = "para";
+ comp_obj_heading_.typeinfo.is_of_part = "backmatter";
+ comp_obj_heading_.typeinfo.is_of_section = "bibliography";
+ comp_obj_heading_.typeinfo.is_of_type = "para";
comp_obj_heading_.typeinfo.is_a = "heading";
comp_obj_heading_.text = "Bibliography";
comp_obj_heading_.node.ocn = 0;
@@ -1470,9 +1470,9 @@ if (biblio_ordered.length > 0) {
the_bibliography_section ~= comp_obj_heading_;
} else {
comp_obj_heading_ = comp_obj_heading_.init;
- comp_obj_heading_.typeinfo.of_part = "empty";
- comp_obj_heading_.typeinfo.of_section = "empty";
- comp_obj_heading_.typeinfo.is_of = "para";
+ comp_obj_heading_.typeinfo.is_of_part = "empty";
+ comp_obj_heading_.typeinfo.is_of_section = "empty";
+ comp_obj_heading_.typeinfo.is_of_type = "para";
comp_obj_heading_.typeinfo.is_a = "heading";
comp_obj_heading_.text = "(skip) there is no Bibliography";
comp_obj_heading_.node.ocn = 0;
@@ -1508,9 +1508,9 @@ foreach (entry; biblio_ordered) {
((entry["url"].str.empty) ? "" : ", [" ~ entry["url"].str ~ "]"),
);
comp_obj_para = comp_obj_para.init;
- comp_obj_para.typeinfo.of_part = "backmatter";
- comp_obj_para.typeinfo.of_section = "bibliography";
- comp_obj_para.typeinfo.is_of = "para";
+ comp_obj_para.typeinfo.is_of_part = "backmatter";
+ comp_obj_para.typeinfo.is_of_section = "bibliography";
+ comp_obj_para.typeinfo.is_of_type = "para";
comp_obj_para.typeinfo.is_a = "bibliography";
comp_obj_para.text = out_.to!string.strip;
comp_obj_para.node.ocn = 0;
@@ -1593,9 +1593,9 @@ debug(bookindex) {
#+BEGIN_SRC d
if (an_object["blurb_nugget"].length == 0) {
comp_obj_heading_ = comp_obj_heading_.init;
- comp_obj_heading_.typeinfo.of_part = "empty";
- comp_obj_heading_.typeinfo.of_section = "empty";
- comp_obj_heading_.typeinfo.is_of = "para";
+ comp_obj_heading_.typeinfo.is_of_part = "empty";
+ comp_obj_heading_.typeinfo.is_of_section = "empty";
+ comp_obj_heading_.typeinfo.is_of_type = "para";
comp_obj_heading_.typeinfo.is_a = "heading";
comp_obj_heading_.text = "(skip) there is no Blurb section";
comp_obj_heading_.node.ocn = 0;
@@ -1625,9 +1625,9 @@ indent=[
"base_position" : 1,
];
comp_obj_toc = comp_obj_toc.init;
-comp_obj_toc.typeinfo.of_part = "frontmatter";
-comp_obj_toc.typeinfo.of_section = "toc";
-comp_obj_toc.typeinfo.is_of = "para";
+comp_obj_toc.typeinfo.is_of_part = "frontmatter";
+comp_obj_toc.typeinfo.is_of_section = "toc";
+comp_obj_toc.typeinfo.is_of_type = "para";
comp_obj_toc.typeinfo.is_a = "toc";
comp_obj_toc.node.ocn = 0;
comp_obj_toc.misc.object_number_off = "";
@@ -2399,9 +2399,9 @@ if (the_blurb_section.length > 1) {
- obj.node.dom_collapsed = dom_collapsed;
+/
comp_obj_heading_ = comp_obj_heading_.init;
-comp_obj_heading_.typeinfo.of_part = "empty";
-comp_obj_heading_.typeinfo.of_section = "empty";
-comp_obj_heading_.typeinfo.is_of = "para";
+comp_obj_heading_.typeinfo.is_of_part = "empty";
+comp_obj_heading_.typeinfo.is_of_section = "empty";
+comp_obj_heading_.typeinfo.is_of_type = "para";
comp_obj_heading_.typeinfo.is_a = "heading";
comp_obj_heading_.node.ocn = 0;
comp_obj_para.misc.object_number_off = "";
@@ -3369,9 +3369,9 @@ void _poem_block_(L,O,T,C,N,CMM)(
an_object["substantive"] = substantive_obj_misc_tuple[sObj.content];
anchor_tags = substantive_obj_misc_tuple[sObj.anchor_tags];
comp_obj_block = comp_obj_block.init;
- comp_obj_block.typeinfo.of_part = "body";
- comp_obj_block.typeinfo.of_section = "body";
- comp_obj_block.typeinfo.is_of = "block";
+ comp_obj_block.typeinfo.is_of_part = "body";
+ comp_obj_block.typeinfo.is_of_section = "body";
+ comp_obj_block.typeinfo.is_of_type = "block";
comp_obj_block.typeinfo.is_a = "verse";
comp_obj_block.node.ocn = obj_cite_digits.on;
comp_obj_block.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string;
@@ -3426,9 +3426,9 @@ void _poem_block_(L,O,T,C,N,CMM)(
an_object["substantive"] = substantive_obj_misc_tuple[sObj.content];
anchor_tags = substantive_obj_misc_tuple[sObj.anchor_tags];
comp_obj_block = comp_obj_block.init;
- comp_obj_block.typeinfo.of_part = "body";
- comp_obj_block.typeinfo.of_section = "body";
- comp_obj_block.typeinfo.is_of = "block";
+ comp_obj_block.typeinfo.is_of_part = "body";
+ comp_obj_block.typeinfo.is_of_section = "body";
+ comp_obj_block.typeinfo.is_of_type = "block";
comp_obj_block.typeinfo.is_a = "verse";
comp_obj_block.node.ocn = obj_cite_digits.on;
comp_obj_block.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string;
@@ -3468,9 +3468,9 @@ void _poem_block_(L,O,T,C,N,CMM)(
an_object["substantive"] = substantive_obj_misc_tuple[sObj.content];
anchor_tags = substantive_obj_misc_tuple[sObj.anchor_tags];
comp_obj_block = comp_obj_block.init;
- comp_obj_block.typeinfo.of_part = "body";
- comp_obj_block.typeinfo.of_section = "body";
- comp_obj_block.typeinfo.is_of = "block";
+ comp_obj_block.typeinfo.is_of_part = "body";
+ comp_obj_block.typeinfo.is_of_section = "body";
+ comp_obj_block.typeinfo.is_of_type = "block";
comp_obj_block.typeinfo.is_a = "verse";
comp_obj_block.node.ocn = obj_cite_digits.on;
comp_obj_block.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string;
@@ -3525,9 +3525,9 @@ void _poem_block_(L,O,T,C,N,CMM)(
an_object["substantive"] = substantive_obj_misc_tuple[sObj.content];
anchor_tags = substantive_obj_misc_tuple[sObj.anchor_tags];
comp_obj_block = comp_obj_block.init;
- comp_obj_block.typeinfo.of_part = "body";
- comp_obj_block.typeinfo.of_section = "body";
- comp_obj_block.typeinfo.is_of = "block";
+ comp_obj_block.typeinfo.is_of_part = "body";
+ comp_obj_block.typeinfo.is_of_section = "body";
+ comp_obj_block.typeinfo.is_of_type = "block";
comp_obj_block.typeinfo.is_a = "verse";
comp_obj_block.node.ocn = obj_cite_digits.on;
comp_obj_block.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string;
@@ -3740,9 +3740,9 @@ void _block_flag_line_empty_(B,N,CMM)(
an_object["substantive"] = substantive_obj_misc_tuple[sObj.content];
anchor_tags = substantive_obj_misc_tuple[sObj.anchor_tags];
comp_obj_block = comp_obj_block.init;
- comp_obj_block.typeinfo.of_part = "body";
- comp_obj_block.typeinfo.of_section = "body";
- comp_obj_block.typeinfo.is_of = "block";
+ comp_obj_block.typeinfo.is_of_part = "body";
+ comp_obj_block.typeinfo.is_of_section = "body";
+ comp_obj_block.typeinfo.is_of_type = "block";
comp_obj_block.typeinfo.is_a = "quote";
comp_obj_block.node.ocn = obj_cite_digits.on;
comp_obj_block.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string;
@@ -3789,9 +3789,9 @@ void _block_flag_line_empty_(B,N,CMM)(
an_object["substantive"] = substantive_obj_misc_tuple[sObj.content];
anchor_tags = substantive_obj_misc_tuple[sObj.anchor_tags];
comp_obj_block = comp_obj_block.init;
- comp_obj_block.typeinfo.of_part = "body";
- comp_obj_block.typeinfo.of_section = "body";
- comp_obj_block.typeinfo.is_of = "block";
+ comp_obj_block.typeinfo.is_of_part = "body";
+ comp_obj_block.typeinfo.is_of_section = "body";
+ comp_obj_block.typeinfo.is_of_type = "block";
comp_obj_block.typeinfo.is_a = "group";
comp_obj_block.node.ocn = obj_cite_digits.on;
comp_obj_block.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string;
@@ -3837,9 +3837,9 @@ void _block_flag_line_empty_(B,N,CMM)(
= obj_im.obj_inline_markup_and_anchor_tags_and_misc(an_object, an_object_key, conf_make_meta);
an_object["substantive"] = substantive_obj_misc_tuple[sObj.content];
comp_obj_block = comp_obj_block.init;
- comp_obj_block.typeinfo.of_part = "body";
- comp_obj_block.typeinfo.of_section = "body";
- comp_obj_block.typeinfo.is_of = "block";
+ comp_obj_block.typeinfo.is_of_part = "body";
+ comp_obj_block.typeinfo.is_of_section = "body";
+ comp_obj_block.typeinfo.is_of_type = "block";
comp_obj_block.typeinfo.is_a = "block";
comp_obj_block.node.ocn = obj_cite_digits.on;
comp_obj_block.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string;
@@ -3881,9 +3881,9 @@ void _block_flag_line_empty_(B,N,CMM)(
an_object["is"]
);
comp_obj_poem_ocn = comp_obj_poem_ocn.init;
- comp_obj_poem_ocn.typeinfo.of_part = "body";
- comp_obj_poem_ocn.typeinfo.of_section = "body";
- comp_obj_poem_ocn.typeinfo.is_of = "block";
+ comp_obj_poem_ocn.typeinfo.is_of_part = "body";
+ comp_obj_poem_ocn.typeinfo.is_of_section = "body";
+ comp_obj_poem_ocn.typeinfo.is_of_type = "block";
comp_obj_poem_ocn.typeinfo.is_a = "poem";
comp_obj_poem_ocn.node.ocn = obj_cite_digits.on;
comp_obj_poem_ocn.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string; //
@@ -3926,9 +3926,9 @@ void _block_flag_line_empty_(B,N,CMM)(
an_object["substantive"] = substantive_obj_misc_tuple[sObj.content];
anchor_tags = substantive_obj_misc_tuple[sObj.anchor_tags];
comp_obj_code = comp_obj_code.init;
- comp_obj_code.typeinfo.of_part = "body";
- comp_obj_code.typeinfo.of_section = "body";
- comp_obj_code.typeinfo.is_of = "block";
+ comp_obj_code.typeinfo.is_of_part = "body";
+ comp_obj_code.typeinfo.is_of_section = "body";
+ comp_obj_code.typeinfo.is_of_type = "block";
comp_obj_code.typeinfo.is_a = "code";
comp_obj_code.node.ocn = obj_cite_digits.on;
comp_obj_block.misc.object_number_off = (obj_cite_digits.off==0) ? "" : obj_cite_digits.off.to!string;
@@ -4489,9 +4489,9 @@ auto table_instructions(O,H)(
return ref H table_head,
) {
static auto rgx = Rgx();
- table_object.typeinfo.of_part = "body";
- table_object.typeinfo.of_section = "body";
- table_object.typeinfo.is_of = "block";
+ table_object.typeinfo.is_of_part = "body";
+ table_object.typeinfo.is_of_section = "body";
+ table_object.typeinfo.is_of_type = "block";
table_object.typeinfo.is_a = "table";
table_object.has.inline_notes_reg = false;
table_object.has.inline_notes_star = false;
@@ -5404,9 +5404,9 @@ static struct ObjInlineMarkup {
);
toc_txt_= munge.url_links(toc_txt_);
comp_obj_toc = comp_obj_toc.init;
- comp_obj_toc.typeinfo.of_part = "frontmatter";
- comp_obj_toc.typeinfo.of_section = "toc";
- comp_obj_toc.typeinfo.is_of = "para";
+ comp_obj_toc.typeinfo.is_of_part = "frontmatter";
+ comp_obj_toc.typeinfo.is_of_section = "toc";
+ comp_obj_toc.typeinfo.is_of_type = "para";
comp_obj_toc.typeinfo.is_a = "toc";
comp_obj_toc.node.ocn = 0;
comp_obj_toc.misc.object_number_off = "";
@@ -5423,9 +5423,9 @@ static struct ObjInlineMarkup {
"base_position" : 0,
];
comp_obj_toc = comp_obj_toc.init;
- comp_obj_toc.typeinfo.of_part = "frontmatter";
- comp_obj_toc.typeinfo.of_section = "toc";
- comp_obj_toc.typeinfo.is_of = "para";
+ comp_obj_toc.typeinfo.is_of_part = "frontmatter";
+ comp_obj_toc.typeinfo.is_of_section = "toc";
+ comp_obj_toc.typeinfo.is_of_type = "para";
comp_obj_toc.typeinfo.is_a = "toc";
comp_obj_toc.node.ocn = 0;
comp_obj_toc.misc.object_number_off = "";
@@ -5438,9 +5438,9 @@ static struct ObjInlineMarkup {
the_table_of_contents_section["scroll"] ~= comp_obj_toc;
}
comp_obj_toc = comp_obj_toc.init;
- comp_obj_toc.typeinfo.of_part = "frontmatter";
- comp_obj_toc.typeinfo.of_section = "toc";
- comp_obj_toc.typeinfo.is_of = "para";
+ comp_obj_toc.typeinfo.is_of_part = "frontmatter";
+ comp_obj_toc.typeinfo.is_of_section = "toc";
+ comp_obj_toc.typeinfo.is_of_type = "para";
comp_obj_toc.typeinfo.is_a = "toc";
comp_obj_toc.node.ocn = 0;
comp_obj_toc.misc.object_number_off = "";
@@ -6291,9 +6291,9 @@ struct BookIndexReportSection {
string bi_tmp_seg, bi_tmp_scroll;
string[] bi_tmp_tags;
comp_obj_heading_ = comp_obj_heading_.init;
- comp_obj_heading_.typeinfo.of_part = "backmatter";
- comp_obj_heading_.typeinfo.of_section = "bookindex";
- comp_obj_heading_.typeinfo.is_of = "para";
+ comp_obj_heading_.typeinfo.is_of_part = "backmatter";
+ comp_obj_heading_.typeinfo.is_of_section = "bookindex";
+ comp_obj_heading_.typeinfo.is_of_type = "para";
comp_obj_heading_.typeinfo.is_a = "heading";
comp_obj_heading_.text = "Book Index";
comp_obj_heading_.node.ocn = 0;
@@ -6310,9 +6310,9 @@ struct BookIndexReportSection {
bookindex_section["seg"] ~= comp_obj_heading_;
++mkn;
comp_obj_heading_ = comp_obj_heading_.init;
- comp_obj_heading_.typeinfo.of_part = "backmatter";
- comp_obj_heading_.typeinfo.of_section = "bookindex";
- comp_obj_heading_.typeinfo.is_of = "para";
+ comp_obj_heading_.typeinfo.is_of_part = "backmatter";
+ comp_obj_heading_.typeinfo.is_of_section = "bookindex";
+ comp_obj_heading_.typeinfo.is_of_type = "para";
comp_obj_heading_.typeinfo.is_a = "heading";
comp_obj_heading_.text = "Index";
comp_obj_heading_.node.ocn = 0;
@@ -6387,9 +6387,9 @@ struct BookIndexReportSection {
bi_tmp_scroll = (bi_tmp_scroll).replaceFirst(rgx.trailing_linebreak, "");
bi_tmp_seg = (bi_tmp_seg).replaceFirst(rgx.trailing_linebreak, "");
comp_obj_para = comp_obj_para.init;
- comp_obj_para.typeinfo.of_part = "backmatter";
- comp_obj_para.typeinfo.of_section = "bookindex";
- comp_obj_para.typeinfo.is_of = "para";
+ comp_obj_para.typeinfo.is_of_part = "backmatter";
+ comp_obj_para.typeinfo.is_of_section = "bookindex";
+ comp_obj_para.typeinfo.is_of_type = "para";
comp_obj_para.typeinfo.is_a = "bookindex";
comp_obj_para.text = bi_tmp_scroll.to!string.strip;
comp_obj_para.node.ocn = 0;
@@ -6546,9 +6546,9 @@ struct NotesSection {
if ((endnotes_["notes"].length > 0)
&& (opt_action.backmatter && opt_action.section_endnotes)) {
comp_obj_heading_ = comp_obj_heading_.init;
- comp_obj_heading_.typeinfo.of_part = "backmatter";
- comp_obj_heading_.typeinfo.of_section = "endnotes";
- comp_obj_heading_.typeinfo.is_of = "para";
+ comp_obj_heading_.typeinfo.is_of_part = "backmatter";
+ comp_obj_heading_.typeinfo.is_of_section = "endnotes";
+ comp_obj_heading_.typeinfo.is_of_type = "para";
comp_obj_heading_.typeinfo.is_a = "heading";
comp_obj_heading_.text = "Endnotes";
comp_obj_heading_.node.ocn = 0;
@@ -6563,9 +6563,9 @@ struct NotesSection {
the_endnotes_section ~= comp_obj_heading_;
++mkn;
comp_obj_heading_ = comp_obj_heading_.init;
- comp_obj_heading_.typeinfo.of_part = "backmatter";
- comp_obj_heading_.typeinfo.of_section = "endnotes";
- comp_obj_heading_.typeinfo.is_of = "para";
+ comp_obj_heading_.typeinfo.is_of_part = "backmatter";
+ comp_obj_heading_.typeinfo.is_of_section = "endnotes";
+ comp_obj_heading_.typeinfo.is_of_type = "para";
comp_obj_heading_.typeinfo.is_a = "heading";
comp_obj_heading_.text = "Endnotes";
comp_obj_heading_.node.ocn = 0;
@@ -6582,9 +6582,9 @@ struct NotesSection {
++mkn;
} else {
comp_obj_heading_ = comp_obj_heading_.init;
- comp_obj_heading_.typeinfo.of_part = "empty";
- comp_obj_heading_.typeinfo.of_section = "empty";
- comp_obj_heading_.typeinfo.is_of = "para";
+ comp_obj_heading_.typeinfo.is_of_part = "empty";
+ comp_obj_heading_.typeinfo.is_of_section = "empty";
+ comp_obj_heading_.typeinfo.is_of_type = "para";
comp_obj_heading_.typeinfo.is_a = "heading";
comp_obj_heading_.text = "(skip) there are no Endnotes";
comp_obj_heading_.node.ocn = 0;
@@ -6600,9 +6600,9 @@ struct NotesSection {
if (opt_action.backmatter && opt_action.section_endnotes) {
ObjGenericComposite comp_obj_endnote_;
comp_obj_endnote_ = comp_obj_endnote_.init;
- comp_obj_endnote_.typeinfo.of_part = "backmatter";
- comp_obj_endnote_.typeinfo.of_section = "endnote";
- comp_obj_endnote_.typeinfo.is_of = "para";
+ comp_obj_endnote_.typeinfo.is_of_part = "backmatter";
+ comp_obj_endnote_.typeinfo.is_of_section = "endnote";
+ comp_obj_endnote_.typeinfo.is_of_type = "para";
comp_obj_endnote_.typeinfo.is_a = "endnote";
comp_obj_endnote_.node.ocn = 0;
comp_obj_heading_.misc.object_number_off = "";
@@ -6979,9 +6979,9 @@ struct NodeStructureMetadata {
}
ObjGenericComposite _comp_obj_heading_;
_comp_obj_heading_ = _comp_obj_heading_.init;
- _comp_obj_heading_.typeinfo.of_part = "body";
- _comp_obj_heading_.typeinfo.of_section = "body";
- _comp_obj_heading_.typeinfo.is_of = "para";
+ _comp_obj_heading_.typeinfo.is_of_part = "body";
+ _comp_obj_heading_.typeinfo.is_of_section = "body";
+ _comp_obj_heading_.typeinfo.is_of_type = "para";
_comp_obj_heading_.typeinfo.is_a = "heading";
_comp_obj_heading_.text = _text.to!string.strip;
_comp_obj_heading_.node.ocn = obj_cite_digits.on;
@@ -7331,10 +7331,13 @@ struct HeadingAttrib {
#+name: meta_structs_init
#+BEGIN_SRC d
struct DocObj_TypeInfo_ { // typeinfo
- string of_part = ""; // frontmatter, body, backmatter
- string of_section = ""; // toc, body, glossary, biography, book index, blurb
- string is_of = ""; // para, block ?
+ string is_of_part = ""; // frontmatter, body, backmatter
+ string is_of_section = ""; // toc, body, glossary, biography, book index, blurb
+ string is_of_type = ""; // para, block ?
string is_a = ""; // heading, para, table, code block, group, ...
+ alias of_part = is_of_part;
+ alias of_section = is_of_section;
+ alias is_of = is_of_type;
}
struct DocObj_TxtAttrib_ { // attrib
int indent_base = 0;
@@ -7349,6 +7352,7 @@ struct DocObj_Has_ { // has
bool contains_image_without_dimensions = false;
}
struct DocObj_Node_ { // node
+ enum ONtype { none, substantive, non_substantive, glossary, bibliography, book_index, blurb, comment }
string[string][string] node;
int ocn = 0;
string object_number() const @property {
@@ -7356,7 +7360,7 @@ struct DocObj_Node_ { // node
? ""
: ocn.to!string;
}
- string ocn_type = ""; // code duplicated typeinfo is_a
+ int o_n_type = 0;
string marked_up_level = "9";
int heading_lev_markup = 9;
int heading_lev_collapsed = 9;