/[pub]/suikawiki/script/wiki.cgi
Suika

Diff of /suikawiki/script/wiki.cgi

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.4 by wakaba, Mon Feb 4 15:03:23 2002 UTC revision 1.9 by wakaba, Sun Mar 24 00:55:15 2002 UTC
# Line 108  my @uneditable = ( $whatsnew ); Line 108  my @uneditable = ( $whatsnew );
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";
# Line 564  sub inline { Line 564  sub inline {
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):[\x21-\x7E]*) # Direct http://...           (?:&lt;(?:mailto|http|https|ftp|urn):[\x21-\x7E]*)&gt;
569                          |         #| (?:$WikiName)                         # LocalLinkLikeThis
570                      ($WikiName)                         # LocalLinkLikeThis         | (?:$BracketName)                      # [[日本語リンク]]
571                          |         )
                     ($BracketName)                      # [[日本語リンク]]  
                 )  
572              !              !
573                  &make_link($1)                  &make_link($1)
574              !gex;              !gex;
# Line 670  EOD Line 668  EOD
668  # URLやページの名前からリンクを作る  # URLやページの名前からリンクを作る
669  sub make_link {  sub make_link {
670      my $name = shift;      my $name = shift;
671      if ($name =~ /^(http|https|ftp).*?(\.gif|\.png|\.jpeg|\.jpg)?$/) {      $name =~ s/^&lt;(.*)&gt;$/$1/;
672        $name =~ s/^\[\[(.*)\]\]$/$1/;
673        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>|;
676          } else {          } else {
677              return qq|<a href="$name">$name</a>|;              return qq|&lt;<a href="$name">$name</a>&gt;|;
678          }          }
679      } elsif ($name =~ /^mailto:(.*)/) {      } elsif ($name =~ /^mailto:(.*)/) {
680          my $address = $1;          my $address = $1;
681          return qq|<a href="$name">$address</a>|;          return qq|&lt;<a href="$name">$address</a>&gt;|;
682      } elsif ($database{$name}) {      } elsif ($name =~ /^urn:[0-9A-Za-z_:-]+/) {
683          my $percent_name = &encode_percent($name);          return qq|&lt;<a href="/uri-res/N2L?${name}">$name</a>&gt;|;
684          return qq|<a href="$thisurl?mycmd=read;mypage=$percent_name">$name</a>|;      } else {
685      } else {        my $name2 = $name; $name2 =~ tr/\x20/-/;
686          my $percent_name = &encode_percent($name);        if ($database{$name2}) {
687          return qq|$name<a href="$thisurl?mycmd=edit;mypage=$percent_name">?</a>|;          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    
# Line 834  sub print_sample { Line 842  sub print_sample {
842  ----  ----
843  *大見出し2  *大見出し2
844  **小見出し2-1  **小見出し2-1
845  http://www.hyuki.com/  &lt;http://suika.fam.cx/&gt;
846  **小見出し2-2  **小見出し2-2
847    
848  [[結城浩]]  [[結城浩]]

Legend:
Removed from v.1.4  
changed lines
  Added in v.1.9

admin@suikawiki.org
ViewVC Help
Powered by ViewVC 1.1.24