aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sdp/meta/metadoc_from_src.d
diff options
context:
space:
mode:
Diffstat (limited to 'src/sdp/meta/metadoc_from_src.d')
-rw-r--r--src/sdp/meta/metadoc_from_src.d220
1 files changed, 104 insertions, 116 deletions
diff --git a/src/sdp/meta/metadoc_from_src.d b/src/sdp/meta/metadoc_from_src.d
index 661e106..8de0711 100644
--- a/src/sdp/meta/metadoc_from_src.d
+++ b/src/sdp/meta/metadoc_from_src.d
@@ -402,11 +402,11 @@ template SiSUdocAbstraction() {
/+ dollar represented as $$ needed to stop submatching on $
(substitutions using ${identifiers} must take into account (i.e. happen earlier))
+/
- debug(source) { // source lines
+ debug(source) {
writeln(line);
}
debug(srclines) {
- if (!line.empty) { // source lines, not empty
+ if (!line.empty) {
writefln(
"* %s",
line
@@ -538,18 +538,18 @@ template SiSUdocAbstraction() {
];
bullet = false;
if (auto m = line.matchFirst(rgx.para_indent)) {
- debug(paraindent) { // para indent
+ debug(paraindent) {
writeln(line);
}
indent["hang_position"] = (m.captures[1]).to!int;
indent["base_position"] = 0;
} else if (line.matchFirst(rgx.para_bullet)) {
- debug(parabullet) { // para bullet
+ debug(parabullet) {
writeln(line);
}
bullet = true;
} else if (auto m = line.matchFirst(rgx.para_indent_hang)) {
- debug(paraindenthang) { // para indent hang
+ debug(paraindenthang) {
writeln(line);
}
indent=[
@@ -557,7 +557,7 @@ template SiSUdocAbstraction() {
"base_position" : (m.captures[2]).to!int,
];
} else if (auto m = line.matchFirst(rgx.para_bullet_indent)) {
- debug(parabulletindent) { // para bullet indent
+ debug(parabulletindent) {
writeln(line);
}
indent=[
@@ -829,7 +829,7 @@ template SiSUdocAbstraction() {
/+ heading object (current line empty) +/
obj_cite_digits = (an_object["lev_markup_number"].to!int == 0)
? ocn_emit(OCNstatus.reset)
- : ocn_emit(OCNstatus.on); // : ocn_emit(obj_type_status["ocn_status"]);
+ : ocn_emit(OCNstatus.on);
an_object["is"] = "heading";
an_object_key="body_nugget";
auto substantive_object_and_anchor_tags_tuple
@@ -1018,7 +1018,7 @@ template SiSUdocAbstraction() {
previous_length = the_document_body_section.length.to!int;
}
}
- } /+ ← closed: loop markup document/text line by line +/
+ } /+ ← srcDocLoop closed: loop markup document/text line by line +/
/+ ↓ post loop markup document/text +/
auto en_tuple
= note_section.endnote_objects(obj_cite_digits, opt_action);
@@ -1050,8 +1050,6 @@ template SiSUdocAbstraction() {
comp_obj_heading_.metainfo.parent_ocn = 1;
comp_obj_heading_.metainfo.parent_lev_markup = 0;
the_glossary_section ~= comp_obj_heading_;
- } else {
- writeln("gloss");
}
debug(glossary) {
foreach (gloss; the_glossary_section) {
@@ -1227,7 +1225,7 @@ template SiSUdocAbstraction() {
toc_txt_ = format(
"{ %s }#%s",
"Glossary",
- "glossary", // _anchor_tag
+ "glossary",
);
toc_txt_= munge.url_links(toc_txt_);
comp_obj_toc.text = toc_txt_.to!string.strip;
@@ -1250,7 +1248,7 @@ template SiSUdocAbstraction() {
toc_txt_ = format(
"{ %s }#%s",
"Bibliography",
- "bibliography", // _anchor_tag
+ "bibliography",
);
toc_txt_= munge.url_links(toc_txt_);
comp_obj_toc.text = toc_txt_.to!string.strip;
@@ -1274,7 +1272,7 @@ template SiSUdocAbstraction() {
toc_txt_ = format(
"{ %s }#%s",
"Book Index",
- "bookindex", // _anchor_tag
+ "bookindex",
);
toc_txt_= munge.url_links(toc_txt_);
comp_obj_toc.text = toc_txt_.to!string.strip;
@@ -1296,7 +1294,7 @@ template SiSUdocAbstraction() {
toc_txt_ = format(
"{ %s }#%s",
"Blurb",
- "blurb", // _anchor_tag
+ "blurb",
);
toc_txt_= munge.url_links(toc_txt_);
comp_obj_toc.has.inline_links = true;
@@ -1599,7 +1597,7 @@ template SiSUdocAbstraction() {
string[] _ocn_open_key = ["","","","","","","",""];
auto _doc_sect_length = document_sections.length - 1;
int _last_ocn;
- foreach (_lg, ref obj; document_sections) { // TODO the_document_body_section
+ foreach (_lg, ref obj; document_sections) {
if (obj.metainfo.is_a == "heading") {
foreach (_dts_lv, dom_tag_status; obj.metainfo.dom_structure_markedup_tags_status) {
switch (dom_tag_status) {
@@ -1638,7 +1636,6 @@ template SiSUdocAbstraction() {
Tuple!(int, int)[] pairs;
foreach (pair; _heading_ocn_decendants.byPair) {
pairs ~= tuple(pair[0].to!int, pair[1]);
- // pairs ~= tuple(pair.key.to!int, pair.value);
}
return pairs.sort;
}
@@ -1708,8 +1705,7 @@ template SiSUdocAbstraction() {
|| (opt_action.epub)
|| (opt_action.sqlite_discrete)
|| (opt_action.sqlite_insert)
- || (opt_action.sqlite_update)
- || (opt_action.postgresql)) {
+ || (opt_action.sqlite_update)) {
obj = obj_dom_structure_set_markup_tags(obj, dom_structure_markedup_tags_status, obj.metainfo.heading_lev_markup);
obj = obj_dom_set_collapsed_tags(obj, dom_structure_collapsed_tags_status, obj.metainfo.heading_lev_collapsed);
}
@@ -1737,8 +1733,7 @@ template SiSUdocAbstraction() {
|| (opt_action.epub)
|| (opt_action.sqlite_discrete)
|| (opt_action.sqlite_insert)
- || (opt_action.sqlite_update)
- || (opt_action.postgresql)) {
+ || (opt_action.sqlite_update)) {
obj = obj_dom_structure_set_markup_tags(obj, dom_structure_markedup_tags_status, obj.metainfo.heading_lev_markup);
obj = obj_dom_set_collapsed_tags(obj, dom_structure_collapsed_tags_status, obj.metainfo.heading_lev_collapsed);
}
@@ -1798,8 +1793,7 @@ template SiSUdocAbstraction() {
|| (opt_action.epub)
|| (opt_action.sqlite_discrete)
|| (opt_action.sqlite_insert)
- || (opt_action.sqlite_update)
- || (opt_action.postgresql)) {
+ || (opt_action.sqlite_update)) {
obj = obj_dom_structure_set_markup_tags(obj, dom_structure_markedup_tags_status, obj.metainfo.heading_lev_markup);
obj = obj_dom_set_collapsed_tags(obj, dom_structure_collapsed_tags_status, obj.metainfo.heading_lev_collapsed);
}
@@ -1842,8 +1836,7 @@ template SiSUdocAbstraction() {
|| (opt_action.epub)
|| (opt_action.sqlite_discrete)
|| (opt_action.sqlite_insert)
- || (opt_action.sqlite_update)
- || (opt_action.postgresql)) {
+ || (opt_action.sqlite_update)) {
obj = obj_dom_structure_set_markup_tags(obj, dom_structure_markedup_tags_status, obj.metainfo.heading_lev_markup);
obj = obj_dom_set_collapsed_tags(obj, dom_structure_collapsed_tags_status, obj.metainfo.heading_lev_collapsed);
}
@@ -1878,8 +1871,7 @@ template SiSUdocAbstraction() {
|| (opt_action.epub)
|| (opt_action.sqlite_discrete)
|| (opt_action.sqlite_insert)
- || (opt_action.sqlite_update)
- || (opt_action.postgresql)) {
+ || (opt_action.sqlite_update)) {
obj = obj_dom_structure_set_markup_tags(obj, dom_structure_markedup_tags_status, obj.metainfo.heading_lev_markup);
obj = obj_dom_set_collapsed_tags(obj, dom_structure_collapsed_tags_status, obj.metainfo.heading_lev_collapsed);
}
@@ -1917,8 +1909,7 @@ template SiSUdocAbstraction() {
|| (opt_action.epub)
|| (opt_action.sqlite_discrete)
|| (opt_action.sqlite_insert)
- || (opt_action.sqlite_update)
- || (opt_action.postgresql)) {
+ || (opt_action.sqlite_update)) {
obj = obj_dom_structure_set_markup_tags(obj, dom_structure_markedup_tags_status, obj.metainfo.heading_lev_markup);
obj = obj_dom_set_collapsed_tags(obj, dom_structure_collapsed_tags_status, obj.metainfo.heading_lev_collapsed);
}
@@ -1961,8 +1952,7 @@ template SiSUdocAbstraction() {
|| (opt_action.epub)
|| (opt_action.sqlite_discrete)
|| (opt_action.sqlite_insert)
- || (opt_action.sqlite_update)
- || (opt_action.postgresql)) {
+ || (opt_action.sqlite_update)) {
obj = obj_dom_structure_set_markup_tags(obj, dom_structure_markedup_tags_status, obj.metainfo.heading_lev_markup);
obj = obj_dom_set_collapsed_tags(obj, dom_structure_collapsed_tags_status, obj.metainfo.heading_lev_collapsed);
}
@@ -2001,8 +1991,7 @@ template SiSUdocAbstraction() {
|| (opt_action.epub)
|| (opt_action.sqlite_discrete)
|| (opt_action.sqlite_insert)
- || (opt_action.sqlite_update)
- || (opt_action.postgresql)) {
+ || (opt_action.sqlite_update)) {
obj = obj_dom_structure_set_markup_tags(obj, dom_structure_markedup_tags_status, obj.metainfo.heading_lev_markup);
obj = obj_dom_set_collapsed_tags(obj, dom_structure_collapsed_tags_status, obj.metainfo.heading_lev_collapsed);
}
@@ -2045,8 +2034,7 @@ template SiSUdocAbstraction() {
|| (opt_action.epub)
|| (opt_action.sqlite_discrete)
|| (opt_action.sqlite_insert)
- || (opt_action.sqlite_update)
- || (opt_action.postgresql)) {
+ || (opt_action.sqlite_update)) {
obj = obj_dom_structure_set_markup_tags(obj, dom_structure_markedup_tags_status, obj.metainfo.heading_lev_markup);
obj = obj_dom_set_collapsed_tags(obj, dom_structure_collapsed_tags_status, obj.metainfo.heading_lev_collapsed);
}
@@ -2432,7 +2420,7 @@ template SiSUdocAbstraction() {
debug(asserts) {
static assert(is(typeof(line) == char[]));
static assert(is(typeof(obj_type_status) == int[string]));
- static assert(is(typeof(object_number_poem) == string[string]));
+ static assert(is(typeof(object_number_poem) == string[string]));
}
static auto rgx = Rgx();
string code_block_syntax = "";
@@ -2669,7 +2657,7 @@ template SiSUdocAbstraction() {
obj_type_status["group"] = TriState.closing;
obj_type_status["tic_group"] = TriState.off;
} else {
- debug(group) { // group
+ debug(group) {
writeln(line);
}
an_object[an_object_key] ~= line ~= "\n"; // build group array (or string)
@@ -2732,7 +2720,7 @@ template SiSUdocAbstraction() {
static assert(is(typeof(an_object) == string[string]));
static assert(is(typeof(obj_type_status) == int[string]));
static assert(is(typeof(cntr) == int));
- static assert(is(typeof(object_number_poem) == string[string]));
+ static assert(is(typeof(object_number_poem) == string[string]));
}
static auto rgx = Rgx();
if (obj_type_status["curly_poem"] == TriState.on) {
@@ -2740,7 +2728,7 @@ template SiSUdocAbstraction() {
if (an_object_key in an_object
|| processing.length > 0) {
an_object[an_object_key] = "";
- debug(poem) { // poem (curly) close
+ debug(poem) {
writefln(
"* [poem curly] %s",
line
@@ -2749,7 +2737,7 @@ template SiSUdocAbstraction() {
if (processing.length > 0) {
an_object[an_object_key] = processing["verse"];
}
- debug(poem) { // poem (curly) close
+ debug(poem) {
writeln(__LINE__);
writefln(
"* %s %s",
@@ -2848,7 +2836,7 @@ template SiSUdocAbstraction() {
} else if (obj_type_status["tic_poem"] == TriState.on) {
if (auto m = line.matchFirst(rgx.block_tic_close)) { // tic_poem_close
an_object[an_object_key]="verse";
- debug(poem) { // poem (curly) close
+ debug(poem) {
writefln(
"* [poem tic] %s",
line
@@ -3519,7 +3507,7 @@ template SiSUdocAbstraction() {
static auto rgx = Rgx();
if (auto m = line.match(rgx.book_index)) {
/+ match book_index +/
- debug(bookindexmatch) { // book index
+ debug(bookindexmatch) {
writefln(
"* [bookindex] %s\n",
m.captures[1].to!string,
@@ -3531,7 +3519,7 @@ template SiSUdocAbstraction() {
obj_type_status["book_index"] = State.on;
if (opt_action.backmatter && opt_action.section_bookindex) {
book_idx_tmp = m.captures[1].to!string;
- debug(bookindexmatch) { // book index
+ debug(bookindexmatch) {
writefln(
"* [bookindex] %s\n",
book_idx_tmp,
@@ -3545,7 +3533,7 @@ template SiSUdocAbstraction() {
if (opt_action.backmatter
&& opt_action.section_bookindex) {
an_object["bookindex_nugget"] = book_idx_tmp ~ m.captures[1].to!string;
- debug(bookindexmatch) { // book index
+ debug(bookindexmatch) {
writefln(
"* [bookindex] %s\n",
book_idx_tmp,
@@ -3569,11 +3557,11 @@ template SiSUdocAbstraction() {
return ref T obj_type_status
) {
debug(asserts) {
- static assert(is(typeof(line) == char[]));
- static assert(is(typeof(_make_unmarked_headings) == string[]));
- static assert(is(typeof(heading_match_str) == string[string]));
- static assert(is(typeof(heading_match_rgx) == Regex!(char)[string]));
- static assert(is(typeof(obj_type_status) == int[string]));
+ static assert(is(typeof(line) == char[]));
+ static assert(is(typeof(_make_unmarked_headings) == string[]));
+ static assert(is(typeof(heading_match_str) == string[string]));
+ static assert(is(typeof(heading_match_rgx) == Regex!(char)[string]));
+ static assert(is(typeof(obj_type_status) == int[string]));
}
static auto rgx = Rgx();
if ((_make_unmarked_headings.length > 2)
@@ -3861,7 +3849,7 @@ template SiSUdocAbstraction() {
default:
an_object["lev_markup_number"] = lv["lv"].to!string;
}
- debug(heading) { // heading
+ debug(heading) {
writeln(line.strip);
}
}
@@ -3882,32 +3870,32 @@ template SiSUdocAbstraction() {
static assert(is(typeof(indent) == int[string]));
static assert(is(typeof(bullet) == bool));
static assert(is(typeof(obj_type_status) == int[string]));
- static assert(is(typeof(line_occur) == int[string]));
+ static assert(is(typeof(line_occur) == int[string]));
}
static auto rgx = Rgx();
if (line_occur["para"] == State.off) {
line = font_faces_line(line);
/+ para matches +/
obj_type_status["para"] = State.on;
- an_object[an_object_key] ~= line; // body_nugget
+ an_object[an_object_key] ~= line;
indent=[
"hang_position" : 0,
"base_position" : 0,
];
bullet = false;
if (auto m = line.matchFirst(rgx.para_indent)) {
- debug(paraindent) { // para indent
+ debug(paraindent) {
writeln(line);
}
indent["hang_position"] = (m.captures[1]).to!int;
indent["base_position"] = 0;
} else if (line.matchFirst(rgx.para_bullet)) {
- debug(parabullet) { // para bullet
+ debug(parabullet) {
writeln(line);
}
bullet = true;
} else if (auto m = line.matchFirst(rgx.para_indent_hang)) {
- debug(paraindenthang) { // para indent hang
+ debug(paraindenthang) {
writeln(line);
}
indent=[
@@ -3915,7 +3903,7 @@ template SiSUdocAbstraction() {
"base_position" : (m.captures[2]).to!int,
];
} else if (auto m = line.matchFirst(rgx.para_bullet_indent)) {
- debug(parabulletindent) { // para bullet indent
+ debug(parabulletindent) {
writeln(line);
}
indent=[
@@ -4718,16 +4706,16 @@ template SiSUdocAbstraction() {
comp_obj_toc.has.inline_links = true;
the_table_of_contents_section["scroll"] ~= comp_obj_toc;
}
- comp_obj_toc = comp_obj_toc.init;
- comp_obj_toc.metainfo.is_of_part = "frontmatter";
- comp_obj_toc.metainfo.is_of_section = "toc";
- comp_obj_toc.metainfo.is_of_type = "para";
- comp_obj_toc.metainfo.is_a = "toc";
- comp_obj_toc.metainfo.ocn = 0;
- comp_obj_toc.metainfo.object_number_off = "";
- comp_obj_toc.metainfo.object_number_type = 0;
- comp_obj_toc.attrib.bullet = false;
- comp_obj_toc.has.inline_links = true;
+ comp_obj_toc = comp_obj_toc.init;
+ comp_obj_toc.metainfo.is_of_part = "frontmatter";
+ comp_obj_toc.metainfo.is_of_section = "toc";
+ comp_obj_toc.metainfo.is_of_type = "para";
+ comp_obj_toc.metainfo.is_a = "toc";
+ comp_obj_toc.metainfo.ocn = 0;
+ comp_obj_toc.metainfo.object_number_off = "";
+ comp_obj_toc.metainfo.object_number_type = 0;
+ comp_obj_toc.attrib.bullet = false;
+ comp_obj_toc.has.inline_links = true;
switch (obj_["lev_markup_number"].to!int) {
case 0:
indent=[
@@ -4736,11 +4724,11 @@ template SiSUdocAbstraction() {
];
toc_txt_ = "{ Table of Contents }" ~ mkup.mark_internal_site_lnk ~ "toc.fnSuffix";
toc_txt_= munge.url_links(toc_txt_);
- comp_obj_toc.attrib.indent_hang = indent["hang_position"];
- comp_obj_toc.attrib.indent_base = indent["base_position"];
- comp_obj_toc.text = toc_txt_.to!string.strip;
- comp_obj_toc.has.inline_links = true;
- the_table_of_contents_section["seg"] ~= comp_obj_toc;
+ comp_obj_toc.attrib.indent_hang = indent["hang_position"];
+ comp_obj_toc.attrib.indent_base = indent["base_position"];
+ comp_obj_toc.text = toc_txt_.to!string.strip;
+ comp_obj_toc.has.inline_links = true;
+ the_table_of_contents_section["seg"] ~= comp_obj_toc;
break;
case 1: .. case 3:
indent=[
@@ -4752,11 +4740,11 @@ template SiSUdocAbstraction() {
heading_toc_,
);
toc_txt_= munge.url_links(toc_txt_);
- comp_obj_toc.attrib.indent_hang = indent["hang_position"];
- comp_obj_toc.attrib.indent_base = indent["base_position"];
- comp_obj_toc.text = toc_txt_.to!string.strip;
- comp_obj_toc.has.inline_links = true;
- the_table_of_contents_section["seg"] ~= comp_obj_toc;
+ comp_obj_toc.attrib.indent_hang = indent["hang_position"];
+ comp_obj_toc.attrib.indent_base = indent["base_position"];
+ comp_obj_toc.text = toc_txt_.to!string.strip;
+ comp_obj_toc.has.inline_links = true;
+ the_table_of_contents_section["seg"] ~= comp_obj_toc;
break;
case 4:
toc_txt_ = format(
@@ -4772,11 +4760,11 @@ template SiSUdocAbstraction() {
"hang_position" : obj_["lev_markup_number"].to!int,
"base_position" : obj_["lev_markup_number"].to!int,
];
- comp_obj_toc.attrib.indent_hang = indent["hang_position"];
- comp_obj_toc.attrib.indent_base = indent["base_position"];
- comp_obj_toc.text = toc_txt_.to!string.strip;
- comp_obj_toc.has.inline_links = true;
- the_table_of_contents_section["seg"] ~= comp_obj_toc;
+ comp_obj_toc.attrib.indent_hang = indent["hang_position"];
+ comp_obj_toc.attrib.indent_base = indent["base_position"];
+ comp_obj_toc.text = toc_txt_.to!string.strip;
+ comp_obj_toc.has.inline_links = true;
+ the_table_of_contents_section["seg"] ~= comp_obj_toc;
break;
case 5: .. case 7:
toc_txt_ = format(
@@ -4801,11 +4789,11 @@ template SiSUdocAbstraction() {
"hang_position" : obj_["lev_markup_number"].to!int,
"base_position" : obj_["lev_markup_number"].to!int,
];
- comp_obj_toc.attrib.indent_hang = indent["hang_position"];
- comp_obj_toc.attrib.indent_base = indent["base_position"];
- comp_obj_toc.text = toc_txt_.to!string.strip;
- comp_obj_toc.has.inline_links = true;
- the_table_of_contents_section["seg"] ~= comp_obj_toc;
+ comp_obj_toc.attrib.indent_hang = indent["hang_position"];
+ comp_obj_toc.attrib.indent_base = indent["base_position"];
+ comp_obj_toc.text = toc_txt_.to!string.strip;
+ comp_obj_toc.has.inline_links = true;
+ the_table_of_contents_section["seg"] ~= comp_obj_toc;
break;
default:
break;
@@ -5235,15 +5223,15 @@ template SiSUdocAbstraction() {
(oa_j.type == JSON_TYPE.OBJECT)
);
if (obj_is_ == "heading") {
- oa_j.object["object_number"] = _comp_obj_heading.metainfo.ocn;
- oa_j.object["lev_markup_number"] = _comp_obj_heading.metainfo.heading_lev_markup;
- oa_j.object["lev_collapsed_number"] = _comp_obj_heading.metainfo.heading_lev_collapsed;
+ oa_j.object["object_number"] = _comp_obj_heading.metainfo.ocn;
+ oa_j.object["lev_markup_number"] = _comp_obj_heading.metainfo.heading_lev_markup;
+ oa_j.object["lev_collapsed_number"] = _comp_obj_heading.metainfo.heading_lev_collapsed;
oa_j.object["heading_ptr"]
= _comp_obj_heading.ptr.heading;
oa_j.object["doc_object_ptr"]
= _comp_obj_heading.ptr.doc_object;
}
- oa_j.object["parent_object_number"] = _comp_obj_heading.metainfo.parent_ocn;
+ oa_j.object["parent_object_number"] = _comp_obj_heading.metainfo.parent_ocn;
oa_j.object["parent_lev_markup_number"] = _comp_obj_heading.metainfo.parent_lev_markup;
_obj_attrib = oa_j.toString();
return _obj_attrib;
@@ -5264,7 +5252,7 @@ template SiSUdocAbstraction() {
)
in {
debug(asserts) {
- static assert(is(typeof(bookindex_section) == string));
+ static assert(is(typeof(bookindex_section) == string));
static assert(is(typeof(obj_cite_digits.on) == int));
}
debug(bookindexraw) {
@@ -5512,25 +5500,25 @@ template SiSUdocAbstraction() {
bi_tmp_seg ~= " \\\\\n ";
++skn;
}
- 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.metainfo.is_of_part = "backmatter";
- comp_obj_para.metainfo.is_of_section = "bookindex";
- comp_obj_para.metainfo.is_of_type = "para";
- comp_obj_para.metainfo.is_a = "bookindex";
- comp_obj_para.text = bi_tmp_scroll.to!string.strip;
- comp_obj_para.metainfo.ocn = 0;
- comp_obj_para.metainfo.object_number_off = "";
- comp_obj_para.metainfo.object_number_type = 0;
- comp_obj_para.tags.anchor_tags = bi_tmp_tags;
- comp_obj_para.attrib.indent_hang = 0;
- comp_obj_para.attrib.indent_base = 1;
- comp_obj_para.attrib.bullet = false;
- comp_obj_para.has.inline_links = true;
- bookindex_section["scroll"] ~= comp_obj_para;
- comp_obj_para.text = bi_tmp_seg.to!string.strip;
- bookindex_section["seg"] ~= comp_obj_para;
+ 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.metainfo.is_of_part = "backmatter";
+ comp_obj_para.metainfo.is_of_section = "bookindex";
+ comp_obj_para.metainfo.is_of_type = "para";
+ comp_obj_para.metainfo.is_a = "bookindex";
+ comp_obj_para.text = bi_tmp_scroll.to!string.strip;
+ comp_obj_para.metainfo.ocn = 0;
+ comp_obj_para.metainfo.object_number_off = "";
+ comp_obj_para.metainfo.object_number_type = 0;
+ comp_obj_para.tags.anchor_tags = bi_tmp_tags;
+ comp_obj_para.attrib.indent_hang = 0;
+ comp_obj_para.attrib.indent_base = 1;
+ comp_obj_para.attrib.bullet = false;
+ comp_obj_para.has.inline_links = true;
+ bookindex_section["scroll"] ~= comp_obj_para;
+ comp_obj_para.text = bi_tmp_seg.to!string.strip;
+ bookindex_section["seg"] ~= comp_obj_para;
++mkn;
}
} else { // no book index, (figure out what to do here)
@@ -5563,11 +5551,11 @@ template SiSUdocAbstraction() {
)
in {
assert((contents_am[cntr].metainfo.is_a == "para")
- || (contents_am[cntr].metainfo.is_a == "heading")
- || (contents_am[cntr].metainfo.is_a == "quote")
- || (contents_am[cntr].metainfo.is_a == "group")
- || (contents_am[cntr].metainfo.is_a == "block")
- || (contents_am[cntr].metainfo.is_a == "verse"));
+ || (contents_am[cntr].metainfo.is_a == "heading")
+ || (contents_am[cntr].metainfo.is_a == "quote")
+ || (contents_am[cntr].metainfo.is_a == "group")
+ || (contents_am[cntr].metainfo.is_a == "block")
+ || (contents_am[cntr].metainfo.is_a == "verse"));
assert(cntr >= previous_count);
assert(
(contents_am[cntr].text).match(
@@ -5593,7 +5581,7 @@ template SiSUdocAbstraction() {
".fnSuffix#noteref_\n ", m.captures[1], " ",
m.captures[2]); // sometimes need segment name (segmented html & epub)
}
- // TODO NEXT you need anchor for segments at this point ->
+ // you need anchor for segments at this point ->
object_notes["anchor"] ~= "note_" ~ m.captures[1] ~ "』";
object_notes["notes"] ~= (segment_anchor_tag_that_object_belongs_to.empty)
? (munge.url_links(
@@ -5846,7 +5834,7 @@ template SiSUdocAbstraction() {
assert(obj_cite_digits.on.to!int >= 0);
}
body {
- assert(is_ != "heading"); // should not be necessary
+ assert(is_ != "heading"); // should not be necessary
assert(obj_cite_digits.on.to!int >= 0); // should not be necessary
if (lv7 > State.off) {
p_["lev_markup_number"] = DocStructMarkupHeading.h_text_4;