-#!/usr/local/bin/perl\r
-############################################################\r
-#\r
-# Wiki¥Õ¥©¡¼¥Þ¥Ã¥È¤«¤éHTML¤òÀ¸À®¤¹¤ë¥¹¥¯¥ê¥×¥È\r
-#\r
-############################################################\r
-use lib "$ENV{'FSWIKI_HOME'}/lib";\r
-use Wiki;\r
-use Util;\r
-use Jcode;\r
-use Cwd;\r
-\r
-#===========================================================\r
-# °ú¿ô¤¬Â¤ê¤Ê¤¤\r
-#===========================================================\r
-if($#ARGV==-1){\r
- die "wiki2html.pl filename [-title=title] [-output=sjis|euc]\n";\r
-}\r
-\r
-#===========================================================\r
-# ÊÑ¿ô¤Î½àÈ÷\r
-#===========================================================\r
-my $from = "";\r
-my $title = "";\r
-my $css = "";\r
-my $output = "euc";\r
-my $count = 0;\r
-my $current = cwd();\r
-chdir($ENV{'FSWIKI_HOME'});\r
-\r
-#===========================================================\r
-# ¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤Î²òÀÏ\r
-#===========================================================\r
-foreach(@ARGV){\r
- if($count==0){\r
- $from = $_;\r
- } else {\r
- my ($key,$value)=split(/=/,$_);\r
- if($key eq "-title"){\r
- $title = $value;\r
- } elsif($key eq "-css"){\r
- $css = $value;\r
- } elsif($key eq "-input"){\r
- $input = $value;\r
- } elsif($key eq "-output"){\r
- $output = $value;\r
- } elsif($key eq "-farm"){\r
- $farm = $value;\r
- } else {\r
- die $key." is Unknown Option.\n";\r
- }\r
- }\r
- $count++;\r
-\r
-}\r
-\r
-if($title eq ""){\r
- $title = $from;\r
- $title =~ s/.*\///;\r
- $title =~ s/\.wiki//;\r
- #$title =~ s/%([0-9a-f]{2})/pack("C",$1)/ige;\r
-}\r
-\r
-my $url = $from;\r
-$url =~ s/\?.*$//;\r
-my $wiki = Wiki::Wiki2HTML->new('setup.dat', CGI->new($url));\r
-\r
-if($farm){\r
- $farm =~ s|\/$||;\r
- $farm=~/^\// or $farm = "/$farm";\r
- $wiki->config('data_dir' , $wiki->config('data_dir' ).$farm);\r
- $wiki->config('config_dir' , $wiki->config('config_dir').$farm);\r
-}\r
-\r
-#===========================================================\r
-# Wiki¥½¡¼¥¹¤ò¼èÆÀ\r
-#===========================================================\r
-my $source = "";\r
-if(index($from,"http://")==0 || index($from,"https://")==0){\r
- # HTTP·Ðͳ¤Ç¥½¡¼¥¹¤ò¼èÆÀ\r
- $source = &Util::get_response($wiki,$from);\r
-} else {\r
- # ¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ë¤«¤é¥½¡¼¥¹¤ò¼èÆÀ\r
- chdir($current);\r
- open(DATA,$from) or die "File Open Error :$from\n";\r
- while(<DATA>){\r
- $source .= $_;\r
- }\r
- close(DATA);\r
- chdir($ENV{'FSWIKI_HOME'});\r
-}\r
-&Jcode::convert(\$source,"euc");\r
-\r
-#===========================================================\r
-# HTMLÀ¸À®\r
-#===========================================================\r
-my $buf = "<html>\n".\r
- "<head>\n".\r
- " <title>".Util::escapeHTML($title)."</title>\n";\r
-if($output eq 'euc'){\r
- $buf .= " <meta http-equiv=\"Content-Type\" content=\"text/html; charset=EUC-JP\">\n";\r
-} else {\r
- $buf .= " <meta http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">\n";\r
-}\r
-\r
-if($css ne ""){\r
- $buf .= " <link rel=\"stylesheet\" type=\"text/css\" href=\"".$css."\">\n";\r
-}\r
-$buf .= "</head>\n".\r
- "<body>\n".\r
- "<h1>@{[Util::escapeHTML($title)]}</h1>\n".\r
- $wiki->process_wiki($source).\r
- "</body>\n".\r
- "</html>\n";\r
-\r
-&Jcode::convert(\$buf,$output);\r
-print $buf;\r
-\r
-package Wiki::Wiki2HTML;\r
-use base qw(Wiki);\r
-\r
-sub process_wiki {\r
- my $self = shift;\r
- my $source = shift;\r
- my $mainflg = shift;\r
- \r
- if($self->{parse_times} >= 50){\r
- return $self->error("Wiki::process_wiki¤Î¸Æ¤Ó½Ð¤·²ó¿ô¤¬¾å¸Â¤ò±Û¤¨¤Þ¤·¤¿¡£");\r
- }\r
- \r
- $self->{parse_times}++;\r
- my $parser = Wiki::Wiki2HTMLParser->new($self,$mainflg);\r
- $parser->parse($source);\r
- $self->{parse_times}--;\r
- \r
- return $parser->{html};\r
-}\r
-\r
-package Wiki::Wiki2HTMLParser;\r
-use base qw(Wiki::HTMLParser);\r
-\r
-sub wiki_anchor {\r
- my $self = shift;\r
- my $page = shift;\r
- my $name = shift;\r
- \r
- if(!defined($name) || $name eq ""){\r
- $name = $page;\r
- }\r
- if($self->{wiki}->page_exists($page)){\r
- my $link = "@{[Util::url_encode(Util::url_encode($page))]}.html";\r
- return qq|<a href="$link" class="wikipage">@{[Util::escapeHTML($name)]}</a>|;\r
- } else {\r
- return qq|<span class="nopage">@{[Util::escapeHTML($name)]}</span><a href="#">?</a>|;\r
- }\r
-}\r
-\r
-#===========================================================\r
-# CGI.pm¤Î¥â¥Ã¥¯¥ª¥Ö¥¸¥§¥¯¥È\r
-#===========================================================\r
-package CGI;\r
-\r
-sub new {\r
- my $class = shift;\r
- my $self = {};\r
- $self->{url} = shift;\r
- return bless $self, $class;\r
-}\r
-\r
-sub url {\r
- my $self = shift;\r
- return $self;\r
-}\r
-\r
-sub get_session {\r
- return undef;\r
-}\r
+#!/usr/local/bin/perl
+############################################################
+#
+# Wiki¥Õ¥©¡¼¥Þ¥Ã¥È¤«¤éHTML¤òÀ¸À®¤¹¤ë¥¹¥¯¥ê¥×¥È
+#
+############################################################
+use lib "$ENV{'FSWIKI_HOME'}/lib";
+use Wiki;
+use Util;
+use Jcode;
+use Cwd;
+
+#===========================================================
+# °ú¿ô¤¬Â¤ê¤Ê¤¤
+#===========================================================
+if($#ARGV==-1){
+ die "wiki2html.pl filename [-title=title] [-output=sjis|euc]\n";
+}
+
+#===========================================================
+# ÊÑ¿ô¤Î½àÈ÷
+#===========================================================
+my $from = "";
+my $title = "";
+my $css = "";
+my $output = "euc";
+my $count = 0;
+my $current = cwd();
+chdir($ENV{'FSWIKI_HOME'});
+
+#===========================================================
+# ¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤Î²òÀÏ
+#===========================================================
+foreach(@ARGV){
+ if($count==0){
+ $from = $_;
+ } else {
+ my ($key,$value)=split(/=/,$_);
+ if($key eq "-title"){
+ $title = $value;
+ } elsif($key eq "-css"){
+ $css = $value;
+ } elsif($key eq "-input"){
+ $input = $value;
+ } elsif($key eq "-output"){
+ $output = $value;
+ } elsif($key eq "-farm"){
+ $farm = $value;
+ } else {
+ die $key." is Unknown Option.\n";
+ }
+ }
+ $count++;
+
+}
+
+if($title eq ""){
+ $title = $from;
+ $title =~ s/.*\///;
+ $title =~ s/\.wiki//;
+ #$title =~ s/%([0-9a-f]{2})/pack("C",$1)/ige;
+}
+
+my $url = $from;
+$url =~ s/\?.*$//;
+my $wiki = Wiki::Wiki2HTML->new('setup.dat', CGI->new($url));
+
+if($farm){
+ $farm =~ s|\/$||;
+ $farm=~/^\// or $farm = "/$farm";
+ $wiki->config('data_dir' , $wiki->config('data_dir' ).$farm);
+ $wiki->config('config_dir' , $wiki->config('config_dir').$farm);
+}
+
+#===========================================================
+# Wiki¥½¡¼¥¹¤ò¼èÆÀ
+#===========================================================
+my $source = "";
+if(index($from,"http://")==0 || index($from,"https://")==0){
+ # HTTP·Ðͳ¤Ç¥½¡¼¥¹¤ò¼èÆÀ
+ $source = &Util::get_response($wiki,$from);
+} else {
+ # ¥í¡¼¥«¥ë¥Õ¥¡¥¤¥ë¤«¤é¥½¡¼¥¹¤ò¼èÆÀ
+ chdir($current);
+ open(DATA,$from) or die "File Open Error :$from\n";
+ while(<DATA>){
+ $source .= $_;
+ }
+ close(DATA);
+ chdir($ENV{'FSWIKI_HOME'});
+}
+&Jcode::convert(\$source,"euc");
+
+#===========================================================
+# HTMLÀ¸À®
+#===========================================================
+my $buf = "<html>\n".
+ "<head>\n".
+ " <title>".Util::escapeHTML($title)."</title>\n";
+if($output eq 'euc'){
+ $buf .= " <meta http-equiv=\"Content-Type\" content=\"text/html; charset=EUC-JP\">\n";
+} else {
+ $buf .= " <meta http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">\n";
+}
+
+if($css ne ""){
+ $buf .= " <link rel=\"stylesheet\" type=\"text/css\" href=\"".$css."\">\n";
+}
+$buf .= "</head>\n".
+ "<body>\n".
+ "<h1>@{[Util::escapeHTML($title)]}</h1>\n".
+ $wiki->process_wiki($source).
+ "</body>\n".
+ "</html>\n";
+
+&Jcode::convert(\$buf,$output);
+print $buf;
+
+package Wiki::Wiki2HTML;
+use base qw(Wiki);
+
+sub process_wiki {
+ my $self = shift;
+ my $source = shift;
+ my $mainflg = shift;
+
+ if($self->{parse_times} >= 50){
+ return $self->error("Wiki::process_wiki¤Î¸Æ¤Ó½Ð¤·²ó¿ô¤¬¾å¸Â¤ò±Û¤¨¤Þ¤·¤¿¡£");
+ }
+
+ $self->{parse_times}++;
+ my $parser = Wiki::Wiki2HTMLParser->new($self,$mainflg);
+ $parser->parse($source);
+ $self->{parse_times}--;
+
+ return $parser->{html};
+}
+
+package Wiki::Wiki2HTMLParser;
+use base qw(Wiki::HTMLParser);
+
+sub wiki_anchor {
+ my $self = shift;
+ my $page = shift;
+ my $name = shift;
+
+ if(!defined($name) || $name eq ""){
+ $name = $page;
+ }
+ if($self->{wiki}->page_exists($page)){
+ my $link = "@{[Util::url_encode(Util::url_encode($page))]}.html";
+ return qq|<a href="$link" class="wikipage">@{[Util::escapeHTML($name)]}</a>|;
+ } else {
+ return qq|<span class="nopage">@{[Util::escapeHTML($name)]}</span><a href="#">?</a>|;
+ }
+}
+
+#===========================================================
+# CGI.pm¤Î¥â¥Ã¥¯¥ª¥Ö¥¸¥§¥¯¥È
+#===========================================================
+package CGI;
+
+sub new {
+ my $class = shift;
+ my $self = {};
+ $self->{url} = shift;
+ return bless $self, $class;
+}
+
+sub url {
+ my $self = shift;
+ return $self;
+}
+
+sub get_session {
+ return undef;
+}