X-Git-Url: https://sipb.mit.edu/gitweb.cgi/ikiwiki.git/blobdiff_plain/ff6941cef9a88ea2a0d3af2e5ae1edd09048916b..9ae094f16270389f87ecd24a3af80de4e03f2abc:/IkiWiki.pm diff --git a/IkiWiki.pm b/IkiWiki.pm index 499d3a71f..b6a2a3649 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -38,7 +38,7 @@ sub defaultconfig () { #{{{ wikiname => "wiki", default_pageext => "mdwn", cgi => 0, - rcs => 'svn', + rcs => '', notify => 0, url => '', cgiurl => '', @@ -298,10 +298,9 @@ sub bestlink ($$) { #{{{ my $link=shift; my $cwd=$page; - - # relative links - while ($link=~s!(^|/)\.\./!!g) { - $cwd=~s!/?[^/]+$!!; + if ($link=~s/^\/+//) { + # absolute links + $cwd=""; } do { @@ -327,10 +326,18 @@ sub isinlinableimage ($) { #{{{ $file=~/\.(png|gif|jpg|jpeg)$/i; } #}}} -sub pagetitle ($) { #{{{ +sub pagetitle ($;$) { #{{{ my $page=shift; - $page=~s/__(\d+)__/&#$1;/g; + my $unescaped=shift; + + if ($unescaped) { + $page=~s/__(\d+)__/chr($1)/eg; + } + else { + $page=~s/__(\d+)__/&#$1;/g; + } $page=~y/_/ /; + return $page; } #}}} @@ -406,6 +413,7 @@ sub htmllink ($$$;$$$) { #{{{ $bestlink=htmlpage($bestlink); } if (! grep { $_ eq $bestlink } map { @{$_} } values %renderedfiles) { + return $linktext unless length $config{cgiurl}; return " "create", page => lc($link), from => $page). "\">?$linktext"