X-Git-Url: http://git.vanrenterghem.biz/git.ikiwiki.info.git/blobdiff_plain/f5a5df14b7daeb032137c293c4db288e84429dfa..a223f4540fee2d0c49523343a422315377bc0025:/ikiwiki diff --git a/ikiwiki b/ikiwiki index 936b0a173..3540f8667 100755 --- a/ikiwiki +++ b/ikiwiki @@ -19,7 +19,7 @@ sub getconfig () { #{{{ %config=( wiki_file_prune_regexp => qr{((^|/).svn/|\.\.|^\.|\/\.|\.html?$)}, wiki_link_regexp => qr/\[\[([^\s\]]+)\]\]/, - wiki_file_regexp => qr/(^[-A-Za-z0-9_.:\/+]+$)/, + wiki_file_regexp => qr/(^[-A-Za-z0-9_.\&;:\/+]+$)/, verbose => 0, wikiname => "wiki", default_pageext => ".mdwn", @@ -92,11 +92,11 @@ sub checkconfig () { #{{{ unless exists $config{wikistatedir}; if ($config{svn}) { - require IkiWiki::RCS::SVN; + require IkiWiki::Rcs::SVN; $config{rcs}=1; } else { - require IkiWiki::RCS::Stub; + require IkiWiki::Rcs::Stub; $config{rcs}=0; } } #}}} @@ -234,6 +234,13 @@ sub isinlinableimage ($) { #{{{ $file=~/\.(png|gif|jpg|jpeg)$/; } #}}} +sub pagetitle ($) { #{{{ + my $page=shift; + $page=~s/__(\d+)__/&#$1;/g; + $page=~y/_/ /; + return $page; +} #}}} + sub htmllink ($$;$$) { #{{{ my $page=shift; my $link=shift; @@ -248,7 +255,9 @@ sub htmllink ($$;$$) { #{{{ $bestlink="$page/".lc($link); } - return $link if length $bestlink && $page eq $bestlink; + my $linktext=pagetitle($link); + + return $linktext if length $bestlink && $page eq $bestlink; # TODO BUG: %renderedfiles may not have it, if the linked to page # was also added and isn't yet rendered! Note that this bug is @@ -258,7 +267,7 @@ sub htmllink ($$;$$) { #{{{ $bestlink=htmlpage($bestlink); } if (! grep { $_ eq $bestlink } values %renderedfiles) { - return "?$link" + return "?$linktext" } $bestlink=File::Spec->abs2rel($bestlink, dirname($page)); @@ -266,7 +275,7 @@ sub htmllink ($$;$$) { #{{{ if (! $noimageinline && isinlinableimage($bestlink)) { return ""; } - return "$link"; + return "$linktext"; } #}}} sub indexlink () { #{{{