- return "<span class=\"nopage\">".&Util::escapeHTML($name)."</span>".
- "<a href=\"".$self->{wiki}->create_page_url($page)."\">?</a>";
+ #ºÇ¸å¤Î"#"°Ê¹ß¤ò¥¢¥ó¥«¡¼¤È¤¹¤ë
+ if($page =~ m/#([^#]+)$/) {
+ $page = $`;
+ $anchor = $1;
+ }
+ if(defined($anchor) && $page eq '') {
+ #Ʊ°ì¥Ú¡¼¥¸¤Î¥¢¥ó¥«¡¼¥ê¥ó¥¯
+ return "<a href=\"#$anchor\" class=\"wikipage\">".
+ &Util::escapeHTML($name)."</a>";
+ } elsif($self->{wiki}->page_exists($page)) {
+ #»ØÄê¥Ú¡¼¥¸¤Î¥¢¥ó¥«¡¼¥ê¥ó¥¯
+ return "<a href=\"".$self->{wiki}->create_page_url($page).(defined($anchor)?"#".$anchor:"")."\" class=\"wikipage\">".
+ &Util::escapeHTML($name)."</a>";
+ } else {
+ #¿·µ¬¥Ú¡¼¥¸ºîÀ®ÍÑ¥ê¥ó¥¯
+ return "<span class=\"nopage\">".&Util::escapeHTML($name)."</span>".
+ "<a href=\"".$self->{wiki}->create_page_url($ppage)."\">?</a>";
+ }