aboutsummaryrefslogtreecommitdiffhomepage
path: root/org
diff options
context:
space:
mode:
authorRalph Amissah <ralph.amissah@gmail.com>2019-07-11 10:46:08 -0400
committerRalph Amissah <ralph.amissah@gmail.com>2019-10-17 19:07:20 -0400
commite6bae1ca42533a1736dfd1a7c8c68a8a80047e09 (patch)
treec533555d77e87b64d986e6f717bdc5f4070e6f0a /org
parentxmls, special footnotes (diff)
html scroll toc backmatter (url/link) fix
Diffstat (limited to 'org')
-rw-r--r--org/default_regex.org1
-rw-r--r--org/meta_abstraction.org5
-rw-r--r--org/output_xmls.org3
3 files changed, 9 insertions, 0 deletions
diff --git a/org/default_regex.org b/org/default_regex.org
index 4a87e37..e0ec4d3 100644
--- a/org/default_regex.org
+++ b/org/default_regex.org
@@ -551,6 +551,7 @@ static inline_link_number_only = ctRegex!(`(┥.+?┝)┤
static inline_link_stow_uri = ctRegex!(`┥(?P<text>.+?)┝┤(?P<link>[^ 0-9#┥┝┤├][^ 0-9┥┝┤├]+)├`, "mg"); // will not stow (stowed links) or object number internal links
static inline_link_hash = ctRegex!(`┥(?P<text>.+?)┝┤(?P<link>#(?P<segname>\S+?))├`, "mg");
static inline_link_clean = ctRegex!(`┤(?:.+?)├|[┥┝]`, "mg");
+static inline_link_toc_to_backmatter = ctRegex!(`┤#(?P<link>endnotes|bibliography|bookindex|glossary|blurb)├`, "mg");
static inline_a_url = ctRegex!(`(┤)([^\s┥┝┤├]+)(├)`, "mg");
static url = ctRegex!(`https?://`, "mg");
static uri = ctRegex!(`(?:https?|git)://`, "mg");
diff --git a/org/meta_abstraction.org b/org/meta_abstraction.org
index 6ac33b3..9257725 100644
--- a/org/meta_abstraction.org
+++ b/org/meta_abstraction.org
@@ -797,6 +797,7 @@ if there is a glossary section you need to:
comp_obj_heading_.tags.segment_anchor_tag_epub = "_part_glossary";
comp_obj_heading_.tags.anchor_tag_html = comp_obj_heading_.tags.segment_anchor_tag_epub;
comp_obj_heading_.tags.in_segment_html = "glossary";
+ comp_obj_heading_.tags.anchor_tags = ["section_glossary"];
comp_obj_heading_.metainfo.heading_lev_markup = 1;
comp_obj_heading_.metainfo.heading_lev_collapsed = 1;
comp_obj_heading_.metainfo.parent_ocn = 1;
@@ -939,6 +940,7 @@ if there is a blurb section you need to:
comp_obj_heading_.tags.segment_anchor_tag_epub = "_part_blurb";
comp_obj_heading_.tags.anchor_tag_html = comp_obj_heading_.tags.segment_anchor_tag_epub;
comp_obj_heading_.tags.in_segment_html = "blurb";
+ comp_obj_heading_.tags.anchor_tags = ["section_blurb"];
comp_obj_heading_.metainfo.heading_lev_markup = 1;
comp_obj_heading_.metainfo.heading_lev_collapsed = 1;
comp_obj_heading_.metainfo.parent_ocn = 1;
@@ -1620,6 +1622,7 @@ if (biblio_ordered.length > 0) {
comp_obj_heading_.tags.segment_anchor_tag_epub = "_part_bibliography";
comp_obj_heading_.tags.anchor_tag_html = comp_obj_heading_.tags.segment_anchor_tag_epub;
comp_obj_heading_.tags.in_segment_html = "bibliography";
+ comp_obj_heading_.tags.anchor_tags = ["section_bibliography"];
comp_obj_heading_.metainfo.heading_lev_markup = 1;
comp_obj_heading_.metainfo.heading_lev_collapsed = 1;
comp_obj_heading_.metainfo.parent_ocn = 1;
@@ -6595,6 +6598,7 @@ struct BookIndexReportSection {
comp_obj_heading_.tags.segment_anchor_tag_epub = "_part_book_index";
comp_obj_heading_.tags.anchor_tag_html = comp_obj_heading_.tags.segment_anchor_tag_epub;
comp_obj_heading_.tags.in_segment_html = "bookindex";
+ comp_obj_heading_.tags.anchor_tags = ["section_bookindex"];
comp_obj_heading_.metainfo.heading_lev_markup = 1;
comp_obj_heading_.metainfo.heading_lev_collapsed = 1;
comp_obj_heading_.metainfo.parent_ocn = 1;
@@ -6864,6 +6868,7 @@ struct NotesSection {
comp_obj_heading_.tags.segment_anchor_tag_epub = "_part_endnotes";
comp_obj_heading_.tags.anchor_tag_html = comp_obj_heading_.tags.segment_anchor_tag_epub;
comp_obj_heading_.tags.in_segment_html = "endnotes";
+ comp_obj_heading_.tags.anchor_tags = ["section_endnotes"];
comp_obj_heading_.metainfo.heading_lev_markup = 1;
comp_obj_heading_.metainfo.heading_lev_collapsed = 1;
comp_obj_heading_.metainfo.parent_ocn = 1;
diff --git a/org/output_xmls.org b/org/output_xmls.org
index e994647..942897e 100644
--- a/org/output_xmls.org
+++ b/org/output_xmls.org
@@ -1005,6 +1005,9 @@ string para_scroll(O,M)(
M doc_matters,
string _suffix = ".html",
) {
+ if (obj.metainfo.is_a == "toc" && _txt.match(rgx.inline_link_toc_to_backmatter)) {
+ _txt = _txt.replaceAll(rgx.inline_link_toc_to_backmatter, "┤#section_$1├");
+ }
_txt = inline_markup_scroll(_txt, obj, doc_matters, _suffix);
string o = para(_txt, obj, doc_matters);
return o;