X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/b365d864c507c9f6e3374c1fb7c854ddb495aeae..f1b09207bf7d00dcd34dcafeaa177e9b2640297c:/IkiWiki.pm diff --git a/IkiWiki.pm b/IkiWiki.pm index 385d16a56..9e71cc153 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -5,6 +5,7 @@ use warnings; use strict; use Encode; use HTML::Entities; +use URI::Escape q{uri_escape_utf8}; use open qw{:utf8 :std}; use vars qw{%config %links %oldlinks %oldpagemtime %pagectime %pagecase @@ -385,7 +386,8 @@ sub linkpage ($) { #{{{ sub cgiurl (@) { #{{{ my %params=@_; - return $config{cgiurl}."?".join("&", map "$_=$params{$_}", keys %params); + return $config{cgiurl}."?". + join("&", map $_."=".uri_escape_utf8($params{$_}), keys %params); } #}}} sub baseurl (;$) { #{{{ @@ -428,8 +430,6 @@ sub htmllink ($$$;@) { #{{{ my $link=shift; my %opts=@_; -print STDERR "bestlink $lpage $link\n" if $lpage eq "roadmap" && $link =~/rcs/; - my $bestlink; if (! $opts{forcesubpage}) { $bestlink=bestlink($lpage, $link); @@ -455,7 +455,11 @@ print STDERR "bestlink $lpage $link\n" if $lpage eq "roadmap" && $link =~/rcs/; if (! grep { $_ eq $bestlink } map { @{$_} } values %renderedfiles) { return $linktext unless length $config{cgiurl}; return " "create", page => lc($link), from => $page). + cgiurl( + do => "create", + page => pagetitle(lc($link), 1), + from => $lpage + ). "\">?$linktext" }