if ($q->param('do') eq 'blog') {
my $page=titlepage(decode_utf8(scalar $q->param('title')));
$page=~s/(\/)/"__".ord($1)."__"/eg; # don't create subdirs
+ if (! length $page) {
+ error(gettext("please enter a page title"));
+ }
# if the page already exists, munge it to be unique
- my $from=$q->param('from');
+ my $from=decode_utf8($q->param('from'));
my $add="";
while (exists $IkiWiki::pagecase{lc($from."/".$page.$add)}) {
$add=1 unless length $add;
my $feedonly=yesno($params{feedonly});
# Backwards compatibility
- if (defined $params{show} && $params{show} =~ m/^\d+$/) {
+ if (defined $params{show} && $params{show} =~ m/^-?\d+$/) {
$params{limit} = $params{show};
delete $params{show};
}
$v=$baseurl.$v; # anchor
}
elsif ($dv=~/^(?!\w+:)[^\/]/) {
- $v=$url.$v; # relative url
+ $v=URI->new_abs($v, $url)->canonical; # relative url
}
elsif ($dv=~/^\//) {
if (! defined $urltop) {
my $template=template_depends($feedtype."page.tmpl", $page, blind_cache => 1);
$template->param(
+ wants_absolute_urls => 1,
title => $feedtitle,
wikiname => $config{wikiname},
pageurl => $url,