lib/PublicInbox/View.pm | 19 ++++++++++++------- diff --git a/lib/PublicInbox/View.pm b/lib/PublicInbox/View.pm index 8c8125369a69eb2b3e5961b5258a5c2056725f9a..782e66861742ad376785e0199aaa8157aee7762a 100644 --- a/lib/PublicInbox/View.pm +++ b/lib/PublicInbox/View.pm @@ -573,13 +573,18 @@ $ctx->{-anchors} = {}; # attr => filename $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;