about summary refs log tree commit homepage
diff options
context:
space:
mode:
authorEric Wong <e@80x24.org>2022-08-29 09:26:41 +0000
committerEric Wong <e@80x24.org>2022-08-29 19:05:51 +0000
commit6320f9f813443cdd14476f723deb022e2dfff9c4 (patch)
tree376e34c825d99b6c6c6514b87ad2afb5bbc4a90b
parent94a70f57bf1b449192c9d68637cf985b8d5cfaca (diff)
downloadpublic-inbox-6320f9f813443cdd14476f723deb022e2dfff9c4.tar.gz
The HTML generated for the Atom feed doesn't have the footer
of /T/ and /t/ HTML-only views, so just make "changed" in
the diffstat go directly to the permalink #related anchor.

Fixes: 66512e177390 ("view: generate query in single-message and commit views")
-rw-r--r--lib/PublicInbox/View.pm2
-rw-r--r--lib/PublicInbox/ViewDiff.pm4
-rw-r--r--lib/PublicInbox/WwwAtomStream.pm1
3 files changed, 4 insertions, 3 deletions
diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm
index 354cdd93..86f4a467 100644
--- a/lib/PublicInbox/View.pm
+++ b/lib/PublicInbox/View.pm
@@ -248,7 +248,7 @@ sub eml_entry {
 
         # scan through all parts, looking for displayable text
         $ctx->{mhref} = $mhref;
-        $ctx->{end_id} = "e$id";
+        $ctx->{changed_href} = "#e$id"; # for diffstat "files? changed,"
         $ctx->{obuf} = \$rv;
         $eml->each_part(\&add_text_body, $ctx, 1);
         delete $ctx->{obuf};
diff --git a/lib/PublicInbox/ViewDiff.pm b/lib/PublicInbox/ViewDiff.pm
index ee2d688c..8c1853e6 100644
--- a/lib/PublicInbox/ViewDiff.pm
+++ b/lib/PublicInbox/ViewDiff.pm
@@ -180,8 +180,8 @@ sub diff_before_or_after ($$) {
                         $$dst .= $linkify->to_html($l);
                 }
                 $$dst .= $x[2]; # $3 /^ \d+ files? /
-                my $end = $ctx->{end_id} // 'related';
-                $$dst .= "<a href=#$end>changed</a>,";
+                my $ch = $ctx->{changed_href} // '#related';
+                $$dst .= qq(<a href="$ch">changed</a>,);
                 $$dst .= ascii_html($x[1]); # $4: insertions/deletions
                 $$dst .= $linkify->to_html($x[0]); # notes, commit message, etc
         } else {
diff --git a/lib/PublicInbox/WwwAtomStream.pm b/lib/PublicInbox/WwwAtomStream.pm
index 7b7047ac..09b6facb 100644
--- a/lib/PublicInbox/WwwAtomStream.pm
+++ b/lib/PublicInbox/WwwAtomStream.pm
@@ -156,6 +156,7 @@ sub feed_entry {
                 qq(<pre\nstyle="white-space:pre-wrap">);
         $ctx->{obuf} = \$s;
         $ctx->{mhref} = $href;
+        $ctx->{changed_href} = "${href}#related";
         PublicInbox::View::multipart_text_as_html($eml, $ctx);
         delete $ctx->{obuf};
         $s .= '</pre></div></content></entry>';