aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/doc_reform/meta
diff options
context:
space:
mode:
Diffstat (limited to 'src/doc_reform/meta')
-rw-r--r--src/doc_reform/meta/metadoc_from_src.d14
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,