108 |
# 文字']'を1つ多くとるようにしている。 |
# 文字']'を1つ多くとるようにしている。 |
109 |
# |
# |
110 |
my $WikiName = '([A-Z][a-z]+([A-Z][a-z]+)+)'; |
my $WikiName = '([A-Z][a-z]+([A-Z][a-z]+)+)'; |
111 |
my $BracketName = '\[\[([^>\s]+?\]?)\]\]'; |
my $BracketName = '\[\[([^>\x09]+?\]?)\]\]'; |
112 |
|
|
113 |
# アイコン部分のタグ |
# アイコン部分のタグ |
114 |
my $IconTag = ''; #<<"EOD"; |
my $IconTag = ''; #<<"EOD"; |
564 |
$line =~ s|'''([^']+?)'''|<strong>$1</strong>|g; |
$line =~ s|'''([^']+?)'''|<strong>$1</strong>|g; |
565 |
$line =~ s|''([^']+?)''|<em>$1</em>|g; |
$line =~ s|''([^']+?)''|<em>$1</em>|g; |
566 |
$line =~ s! |
$line =~ s! |
567 |
( |
( |
568 |
(<(mailto|http|https|ftp|urn):[\x21-\x7E]*)> # Direct http://... |
(?:<(?:mailto|http|https|ftp|urn):[\x21-\x7E]*)> |
569 |
| |
#| (?:$WikiName) # LocalLinkLikeThis |
570 |
($WikiName) # LocalLinkLikeThis |
| (?:$BracketName) # [[日本語リンク]] |
571 |
| |
) |
|
($BracketName) # [[日本語リンク]] |
|
|
) |
|
572 |
! |
! |
573 |
&make_link($1) |
&make_link($1) |
574 |
!gex; |
!gex; |
668 |
# URLやページの名前からリンクを作る |
# URLやページの名前からリンクを作る |
669 |
sub make_link { |
sub make_link { |
670 |
my $name = shift; |
my $name = shift; |
671 |
|
$name =~ s/^<(.*)>$/$1/; |
672 |
|
$name =~ s/^\[\[(.*)\]\]$/$1/; |
673 |
if ($name =~ /^(http|https|ftp).*?(\.png|\.jpeg|\.jpg)?$/) { |
if ($name =~ /^(http|https|ftp).*?(\.png|\.jpeg|\.jpg)?$/) { |
674 |
if ($2) { |
if ($2) { |
675 |
return qq|<a href="$name"><img border="0" src="$name" /></a>|; |
return qq|<a href="$name"><img border="0" src="$name" /></a>|; |
681 |
return qq|<<a href="$name">$address</a>>|; |
return qq|<<a href="$name">$address</a>>|; |
682 |
} elsif ($name =~ /^urn:[0-9A-Za-z_:-]+/) { |
} elsif ($name =~ /^urn:[0-9A-Za-z_:-]+/) { |
683 |
return qq|<<a href="/uri-res/N2L?${name}">$name</a>>|; |
return qq|<<a href="/uri-res/N2L?${name}">$name</a>>|; |
|
} elsif ($database{$name}) { |
|
|
my $percent_name = &encode_percent($name); |
|
|
return qq|<a href="$thisurl?mycmd=read;mypage=$percent_name">$name</a>|; |
|
684 |
} else { |
} else { |
685 |
my $percent_name = &encode_percent($name); |
my $name2 = $name; $name2 =~ tr/\x20/-/; |
686 |
return qq|$name<a href="$thisurl?mycmd=edit;mypage=$percent_name">?</a>|; |
if ($database{$name2}) { |
687 |
|
my $percent_name = &encode_percent($name2); |
688 |
|
return qq|<a href="$thisurl?mycmd=read;mypage=$percent_name" class="wiki">$name</a>|; |
689 |
|
} elsif ($database{'[['.$name2.']]'}) { |
690 |
|
my $percent_name = &encode_percent('[['.$name2.']]'); |
691 |
|
return qq|<a href="$thisurl?mycmd=read;mypage=$percent_name" class="wiki">$name</a>|; |
692 |
|
} else { |
693 |
|
my $percent_name = &encode_percent($name2); |
694 |
|
return qq|<a href="$thisurl?mycmd=edit;mypage=$percent_name" class="wiki newpage">$name?</a>|; |
695 |
|
} |
696 |
} |
} |
697 |
} |
} |
698 |
|
|