From 855b757f37af9af00be77b1f668270a8a8c3db11 Mon Sep 17 00:00:00 2001 From: Simon McVittie Date: Thu, 21 Jan 2016 07:50:13 +0000 Subject: [PATCH] Force comments URL in RSS feeds to be absolute 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 | 6 ++++-- IkiWiki/Plugin/inline.pm | 1 + 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/IkiWiki/Plugin/comments.pm b/IkiWiki/Plugin/comments.pm index ad813d19d..e93db94eb 100644 --- a/IkiWiki/Plugin/comments.pm +++ b/IkiWiki/Plugin/comments.pm @@ -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')) { diff --git a/IkiWiki/Plugin/inline.pm b/IkiWiki/Plugin/inline.pm index d68723dff..5ea5f35af 100644 --- a/IkiWiki/Plugin/inline.pm +++ b/IkiWiki/Plugin/inline.pm @@ -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,