aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/doc_reform/output/xmls.d
diff options
context:
space:
mode:
Diffstat (limited to 'src/doc_reform/output/xmls.d')
-rw-r--r--src/doc_reform/output/xmls.d18
1 files changed, 16 insertions, 2 deletions
diff --git a/src/doc_reform/output/xmls.d b/src/doc_reform/output/xmls.d
index e68a22d..7a1a812 100644
--- a/src/doc_reform/output/xmls.d
+++ b/src/doc_reform/output/xmls.d
@@ -349,6 +349,18 @@ template outputXHTMLs() {
rgx.inline_seg_link,
"$1");
}
+ if (_xml_type == "seg" || _xml_type == "epub") {
+ if (auto m = _txt.match(rgx.inline_link_hash)) {
+ foreach (segname; doc_matters.xml.segnames) {
+ if (auto n = segname.match(m.captures[3])) {
+ _txt = _txt.replaceFirst(
+ rgx.inline_link_hash,
+ "┥$1┝┤$3" ~ _suffix ~ "├");
+ break;
+ }
+ }
+ }
+ }
_txt = (_txt)
.replaceAll(
rgx.inline_link_fn_suffix,
@@ -591,7 +603,7 @@ template outputXHTMLs() {
if (obj.metainfo.object_number.empty) {
o = format(q"¶%s
<div class="substance">
- <h%s class="%s">%s
+ <h%s class="%s">%s<a name="%s"></a>
%s
</h%s>
</div>¶",
@@ -599,6 +611,7 @@ template outputXHTMLs() {
obj.metainfo.heading_lev_markup,
obj.metainfo.is_a,
tags,
+ obj.tags.segment_anchor_tag,
_txt,
obj.metainfo.heading_lev_markup,
);
@@ -606,7 +619,7 @@ template outputXHTMLs() {
o = format(q"¶%s
<div class="substance">
<label class="ocn"><a href="#%s" class="lnkocn">%s</a></label>
- <h%s class="%s" id="%s"><a name="%s"></a>%s
+ <h%s class="%s" id="%s"><a name="%s"></a>%s<a name="%s"></a>
%s
</h%s>
</div>¶",
@@ -618,6 +631,7 @@ template outputXHTMLs() {
obj.metainfo.object_number,
obj.metainfo.object_number,
tags,
+ obj.tags.segment_anchor_tag,
_txt,
obj.metainfo.heading_lev_markup,
);