about summary refs log tree commit homepage
diff options
context:
space:
mode:
-rw-r--r--lib/PublicInbox/View.pm19
1 files changed, 12 insertions, 7 deletions
diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm
index 8c812536..782e6686 100644
--- a/lib/PublicInbox/View.pm
+++ b/lib/PublicInbox/View.pm
@@ -573,13 +573,18 @@ sub add_text_body {
                 $ctx->{-diff} = $diff = [];
                 my $spfx;
                 if ($ibx->{-repo_objs}) {
-                        my $n_slash = $upfx =~ tr!/!/!;
-                        if ($n_slash == 0) {
-                                $spfx = '../';
-                        } elsif ($n_slash == 1) {
-                                $spfx = '';
-                        } else { # nslash == 2
-                                $spfx = '../../';
+                        if (index($upfx, '//') >= 0) { # absolute URL (Atom feeds)
+                                $spfx = $upfx;
+                                $spfx =~ s!/([^/]*)/\z!/!;
+                        } else {
+                                my $n_slash = $upfx =~ tr!/!/!;
+                                if ($n_slash == 0) {
+                                        $spfx = '../';
+                                } elsif ($n_slash == 1) {
+                                        $spfx = '';
+                                } else { # nslash == 2
+                                        $spfx = '../../';
+                                }
                         }
                 }
                 $ctx->{-spfx} = $spfx;