summaryrefslogtreecommitdiff
path: root/IkiWiki
diff options
context:
space:
mode:
authorjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-08-04 01:57:32 +0000
committerjoey <joey@0fa5a96a-9a0e-0410-b3b2-a0fd24251071>2006-08-04 01:57:32 +0000
commitd3713b01649a834c8977d387cddb02c24a3fa2d5 (patch)
tree1cdafdfc7a3f243de86f3d70ba772f417b9cc55b /IkiWiki
parent5077165953e9460e189ae5d8dcb9533f8944d272 (diff)
* Encode link and guid urls in rss feeds to avoid illegal utf8 slipping in.
Diffstat (limited to 'IkiWiki')
-rw-r--r--IkiWiki/Plugin/inline.pm9
1 files changed, 6 insertions, 3 deletions
diff --git a/IkiWiki/Plugin/inline.pm b/IkiWiki/Plugin/inline.pm
index 71e71c02e..4410a2017 100644
--- a/IkiWiki/Plugin/inline.pm
+++ b/IkiWiki/Plugin/inline.pm
@@ -5,6 +5,7 @@ package IkiWiki::Plugin::inline;
use warnings;
use strict;
use IkiWiki;
+use HTML::Entities q{encode_entities_numeric};
sub import { #{{{
IkiWiki::hook(type => "preprocess", id => "inline",
@@ -162,7 +163,7 @@ sub genrss ($@) { #{{{
my $page=shift;
my @pages=@_;
- my $url="$config{url}/".htmlpage($page);
+ my $url=encode_entities_numeric("$config{url}/".htmlpage($page));
my $itemtemplate=template("rssitem.tmpl", blind_cache => 1,
die_on_bad_params => 0);
@@ -170,10 +171,12 @@ sub genrss ($@) { #{{{
foreach my $p (@pages) {
next unless exists $renderedfiles{$p};
+ my $u=encode_entities_numeric("$config{url}/$renderedfiles{$p}");
+
$itemtemplate->param(
title => pagetitle(basename($p)),
- url => "$config{url}/$renderedfiles{$p}",
- permalink => "$config{url}/$renderedfiles{$p}",
+ url => $u,
+ permalink => $u,
pubdate => date_822($pagectime{$p}),
content => absolute_urls(get_inline_content($p, $page), $url),
);