]> git.vanrenterghem.biz Git - git.ikiwiki.info.git/commitdiff
Force comments URL in RSS feeds to be absolute
authorSimon McVittie <smcv@debian.org>
Thu, 21 Jan 2016 07:50:13 +0000 (07:50 +0000)
committerSimon McVittie <smcv@debian.org>
Thu, 21 Jan 2016 07:50:13 +0000 (07:50 +0000)
Now I'm going to get bug reports about wanting the URLs to be
protocol-relative, but we can't win there as long as we generate RSS,
because RSS doesn't have well-defined semantics for relative URLs
(and the W3C's validator complains about them). If absolute URLs are
a problem for you, please use Atom feeds.

IkiWiki/Plugin/comments.pm
IkiWiki/Plugin/inline.pm

index ad813d19d7e669c189342140c9d166d94968b4e7..e93db94ebc0f02d5e940d9092cd894fb9362c20e 100644 (file)
@@ -919,16 +919,18 @@ sub pagetemplate (@) {
        }
 
        if ($shown) {
+               my $absolute = $template->param('wants_absolute_urls');
+
                if ($template->query(name => 'commentsurl')) {
                        $template->param(commentsurl =>
-                               urlto($page).'#comments');
+                               urlto($page, undef, $absolute).'#comments');
                }
 
                if ($template->query(name => 'atomcommentsurl') && $config{usedirs}) {
                        # This will 404 until there are some comments, but I
                        # think that's probably OK...
                        $template->param(atomcommentsurl =>
-                               urlto($page).'comments.atom');
+                               urlto($page, undef, $absolute).'comments.atom');
                }
 
                if ($template->query(name => 'commentslink')) {
index d68723dffd04dd5d502a55edd1d2106288e98456..5ea5f35af64118581dd434efc6e4cdf61bed55b4 100644 (file)
@@ -725,6 +725,7 @@ sub genfeed ($$$$$@) {
 
        my $template=template_depends($feedtype."page.tmpl", $page, blind_cache => 1);
        $template->param(
+               wants_absolute_urls => 1,
                title => $feedtitle,
                wikiname => $config{wikiname},
                pageurl => $url,