X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/b365d864c507c9f6e3374c1fb7c854ddb495aeae..43fd7cc0c5510fb6bc75b71c169a3da7c0517a0a:/IkiWiki.pm diff --git a/IkiWiki.pm b/IkiWiki.pm index 385d16a56..29add5c34 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 => $page + ). "\">?$linktext" }