#!/usr/bin/perl # # - Wikipedia Gateway - # 要はCSSを書き換えてるだけなので、それさえ書き換えれば携帯向けにでもなんにでも。 # by ぶ at 天狗屋敷.jp # use strict; use warnings; use Jcode; use LWP::UserAgent; use CGI;# qw(-debug); use CGI::Carp qw(fatalsToBrowser); my $srcurl = 'http://ja.wikipedia.org'; # 見に行くサイトURL #my $srcurl = 'http://ja.uncyclopedia.info'; # Uncyclopediaを見に行くならこっち。 my $script = 'wiipedia.cgi'; # スクリプトのファイル名。 my $siteurl = 'http://tenguyasiki.jp/wiipedia/'; # 設置URL。リンクの張り替えに使います。 # 引数無しで呼び出したときに表示するページ my $defaultpage = 'Special:Random'; # プロキシ指定 my $proxy = ""; # #### 設定ここまで # my $charset = 'utf-8'; my $cgi = CGI->new(); my $page = $cgi->param('index'); my $ua = LWP::UserAgent->new; $ua->proxy(['http'] => $proxy); unless(defined $page){ $page = $defaultpage; } my $res = $ua->get( $srcurl.'/wiki/'.$page ); my ($t, $c) = pickup_content($res->as_string, $srcurl); my $html = make_html($t, $c); print $cgi->header(-charset=>"$charset"); print $html; exit; # 文字列と補完用URLを渡すと、タイトルとページ本体(リンク先変更済み、画像URLの補完済み)を返す。 sub pickup_content{ my $str = $_[0]; my ($title, $content) = ("", ""); my ($begin, $end) = (0, 0); my @lines = split(/\n/, $str); # 〜 の間を抜き出してテンプレートに挟み込むだけ。 foreach my $line (@lines){ $title = $1 if( $title eq "" and $line =~ /