diff options
Diffstat (limited to 'IkiWiki.pm')
-rw-r--r-- | IkiWiki.pm | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/IkiWiki.pm b/IkiWiki.pm index 763f24e6c..385d16a56 100644 --- a/IkiWiki.pm +++ b/IkiWiki.pm @@ -376,6 +376,12 @@ sub titlepage ($) { #{{{ return $title; } #}}} +sub linkpage ($) { #{{{ + my $link=shift; + $link=~s/([^-[:alnum:]:+\/._])/$1 eq ' ' ? '_' : "__".ord($1)."__"/eg; + return $link; +} #}}} + sub cgiurl (@) { #{{{ my %params=@_; @@ -422,6 +428,8 @@ 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); @@ -496,8 +504,8 @@ sub linkify ($$$) { #{{{ $content =~ s{(\\?)$config{wiki_link_regexp}}{ defined $2 - ? ( $1 ? "[[$2|$3]]" : htmllink($lpage, $page, titlepage($3), anchor => $4, linktext => pagetitle($2))) - : ( $1 ? "[[$3]]" : htmllink($lpage, $page, titlepage($3), anchor => $4)) + ? ( $1 ? "[[$2|$3]]" : htmllink($lpage, $page, linkpage($3), anchor => $4, linktext => pagetitle($2))) + : ( $1 ? "[[$3]]" : htmllink($lpage, $page, linkpage($3), anchor => $4)) }eg; return $content; |