aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/monotone.pm
diff options
context:
space:
mode:
authorJoey Hess <joey@kitenet.net>2012-03-13 11:49:29 -0400
committerJoey Hess <joey@kitenet.net>2012-03-13 11:50:39 -0400
commitf0733e6b9650e518edbc635b7fdb22b44155732d (patch)
tree89fad2ea5357c93f166aab079cc80a215b21df11 /IkiWiki/Plugin/monotone.pm
parentd903f2c2fa337c28ef1369caa606dd012100ad4e (diff)
downloadikiwiki-f0733e6b9650e518edbc635b7fdb22b44155732d.tar
ikiwiki-f0733e6b9650e518edbc635b7fdb22b44155732d.tar.gz
URI escape filename when generating the diffurl.
ikiwiki source files can contain at least one character that needs to be escaped in an url: +
Diffstat (limited to 'IkiWiki/Plugin/monotone.pm')
-rw-r--r--IkiWiki/Plugin/monotone.pm4
1 files changed, 3 insertions, 1 deletions
diff --git a/IkiWiki/Plugin/monotone.pm b/IkiWiki/Plugin/monotone.pm
index 1d89e3f6b..105627814 100644
--- a/IkiWiki/Plugin/monotone.pm
+++ b/IkiWiki/Plugin/monotone.pm
@@ -7,6 +7,7 @@ use IkiWiki;
use Monotone;
use Date::Parse qw(str2time);
use Date::Format qw(time2str);
+use URI::Escape q{uri_escape_utf8};
my $sha1_pattern = qr/[0-9a-fA-F]{40}/; # pattern to validate sha1sums
my $mtn_version = undef;
@@ -593,7 +594,8 @@ sub rcs_recentchanges ($) {
my $diffurl=$config{diffurl};
$diffurl=~s/\[\[r1\]\]/$parent/g;
$diffurl=~s/\[\[r2\]\]/$rev/g;
- $diffurl=~s/\[\[file\]\]/$file/g;
+ my $efile = uri_escape_utf8($file);
+ $diffurl=~s/\[\[file\]\]/$efile/g;
push @pages, {
page => pagename($file),
diffurl => $diffurl,