use warnings;
use strict;
use IkiWiki 2.00;
+use Encode;
sub import { #{{{
hook(type => "getsetup", id => "recentchanges", call => \&getsetup);
sub getsetup () { #{{{
return
+ plugin => {
+ safe => 1,
+ rebuild => 1,
+ },
recentchangespage => {
type => "string",
- default => "recentchanges",
+ example => "recentchanges",
description => "name of the recentchanges page",
safe => 1,
rebuild => 1,
},
recentchangesnum => {
type => "integer",
- default => 100,
+ example => 100,
description => "number of changes to track",
safe => 1,
rebuild => 0,
# page they link to is deleted, or newly created, or
# changes for whatever reason. So this CGI handles that
# dynamic linking stuff.
- my $page=$cgi->param("page");
+ my $page=decode_utf8($cgi->param("page"));
if (!defined $page) {
error("missing page parameter");
}
"</p>");
}
else {
- IkiWiki::redirect($cgi, $config{url}.IkiWiki::beautify_urlpath("/".htmlpage($link)));
+ if (defined pagetype($link)) {
+ IkiWiki::redirect($cgi, $config{url}.IkiWiki::beautify_urlpath("/".htmlpage($link)));
+ }
+ else {
+ IkiWiki::redirect($cgi, $config{url}.IkiWiki::beautify_urlpath("/".$link));
+ }
}
exit;