diff options
author | Ralph Amissah <ralph.amissah@gmail.com> | 2021-08-21 12:18:02 -0400 |
---|---|---|
committer | Ralph Amissah <ralph.amissah@gmail.com> | 2021-08-22 11:59:51 -0400 |
commit | 8525eb4bf305824d55558705175d4cc9ed5d37c2 (patch) | |
tree | 67ca0daa82a58ef5cbda9b9a1f2ce14f745af8b5 /src/doc_reform/meta/metadoc_from_src.d | |
parent | config, clean up and make a bit more consistent (diff) |
metaverse parallel processing reproducability
- html xhtml issue with tags
- epub issue with title (skipped) in OEBPS/toc.ncx
Diffstat (limited to 'src/doc_reform/meta/metadoc_from_src.d')
-rw-r--r-- | src/doc_reform/meta/metadoc_from_src.d | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/doc_reform/meta/metadoc_from_src.d b/src/doc_reform/meta/metadoc_from_src.d index 6f6b383..d306df5 100644 --- a/src/doc_reform/meta/metadoc_from_src.d +++ b/src/doc_reform/meta/metadoc_from_src.d @@ -450,6 +450,8 @@ template docAbstraction() { destroy(biblio_arr_json); previous_length = 0; reset_note_numbers = true; + lev_anchor_tag = ""; + anchor_tag = ""; } mixin spineNode; auto node_para_int_ = node_metadata_para_int; @@ -1237,7 +1239,7 @@ template docAbstraction() { comp_obj_para.attrib.indent_hang = indent["hang_position"]; comp_obj_para.attrib.indent_base = indent["base_position"]; comp_obj_para.attrib.bullet = bullet; - comp_obj_para.tags.anchor_tags = [anchor_tag]; + comp_obj_para.tags.anchor_tags = [anchor_tag]; anchor_tag=""; comp_obj_para.has.inline_notes_reg = substantive_obj_misc_tuple[sObj.notes_reg]; comp_obj_para.has.inline_notes_star = substantive_obj_misc_tuple[sObj.notes_star]; comp_obj_para.has.inline_links = substantive_obj_misc_tuple[sObj.links]; @@ -2470,6 +2472,8 @@ template docAbstraction() { dom_structure_markedup_tags_status_buffer = [ 0, 0, 0, 0, 0, 0, 0, 0, 0,]; dom_structure_collapsed_tags_status = [ 0, 0, 0, 0, 0, 0, 0, 0, 0,]; dom_structure_collapsed_tags_status_buffer = [ 0, 0, 0, 0, 0, 0, 0, 0, 0,]; + lev_anchor_tag = ""; + anchor_tag = ""; @safe auto doc_has() { struct DocHas_ { uint inline_links() { @@ -4696,7 +4700,7 @@ template docAbstraction() { static auto rgx = RgxI(); static auto munge = ObjInlineMarkupMunge(); string[string] obj_txt; - static string anchor_tag = ""; + string anchor_tag = ""; @safe TxtAndAnchorTagPlusHasFootnotesUrlsImages obj_inline_markup_and_anchor_tags_and_misc(CMM)( string[string] obj_, string obj_key_, @@ -5039,6 +5043,9 @@ template docAbstraction() { bool _new_doc ) { if (!(munge_.match(rgx.heading_anchor_tag))) { + if (lev_ == "A") { // (_new_doc) + heading_num_lev1 = 0; + } if (munge_.match(rgx.heading_identify_anchor_tag)) { if (auto m = munge_.match(rgx.heading_extract_named_anchor_tag)) { munge_ = munge_.replaceFirst( @@ -5055,9 +5062,6 @@ template docAbstraction() { "$1~" ~ "s" ~ m.captures[1] ~ " "); } } else if (lev_ == "1") { // (if not successful) manufacture a unique anchor tag for lev == "1" - if (_new_doc) { - heading_num_lev1 = 0; - } heading_num_lev1 ++; munge_ = munge_.replaceFirst( rgx.heading_marker_missing_tag, |