kinugasa-link.pl

キヌガサの友達リストを出力する仕組みを CGI から毎アクセスごとに引っ張ってきていたのですがあまりにも index 表示が重くなってしまったので、perl で javascript へ一度変えておいて index からはその javascript を読み込む仕組みへ変えてみました。サクサク表示になったぞ。

kinugasa-link.pl

#!/usr/bin/perl
use strict;
use HTML::Template;
use WebService::Kinugasa;

my $Skey = 'InputYourSKEY';
my $count = 3;

my $html_head = '';
my $html_foot = '';

my $kinugasa = WebService::Kinugasa->new(
    skey => $Skey,
    num => $count
    );
my $links = $kinugasa->link();
my $lists = $links->feeds();
my $output;
for (my $i = 0; $i < $count; ++$i) {
    $output->[$i]->{IMAGE} = $lists->[$i]->{mediumimage};
    $output->[$i]->{FRIEND_URL} = $lists->[$i]->{url};
    $output->[$i]->{HANDLENAME} = $lists->[$i]->{handlename};
    $output->[$i]->{COMMENT} = $lists->[$i]->{comment};
}

my $template = HTML::Template->new(filename => 'kinugasa-link.tmpl');
$template->param(KINUGASA_LINK => $output);
$template->param(HTML_HEAD => $html_head);
$template->param(HTML_FOOT => $html_foot);
js_output($template->output());
exit;

sub js_output {
    my @lines = split /
/, shift;
    for (@lines) {
        s/x27/'/g;
        print "document.writeln('$_');
";
    }
}

kinugasa-link.tmpl

<TMPL_VAR NAME=HTML_HEAD>
<table>
<TMPL_LOOP NAME=KINUGASA_LINK>
<tr>
 <td><img alt="<TMPL_VAR NAME=HANDLENAME>"
      src="<TMPL_VAR NAME=IMAGE>" border="0" /></td>
 <td align="left"><a href="<TMPL_VAR NAME=FRIEND_URL>"
      target="_blank"><TMPL_VAR NAME=HANDLENAME></a></td>
</tr>
<tr>
 <td colspan="2" align="left"><TMPL_VAR NAME=COMMENT></td>
</tr>
<tr>
 <td colspan="2"><hr color="#003060" width="80%"></td>
</tr>
</TMPL_LOOP>
</table>
<TMPL_VAR NAME=HTML_FOOT>

あとは cron で kinugasa-link.pl を実行して kinugasa-link.js を定期的に吐き出すように。このあたりの方法は Blog Hacks に記載されてますのでそちらも一緒に参照をどうぞ。

トラックバック(0)

このブログ記事を参照しているブログ一覧: kinugasa-link.pl

このブログ記事に対するトラックバックURL: http://hatotech.org/mt-admin/mt-tb.cgi/336

コメントする

このブログ記事について

このページは、が2004年10月 7日 16:34に書いたブログ記事です。

ひとつ前のブログ記事は「Cradle of Filth 2004 の新譜」です。

次のブログ記事は「bloglines へのシフト」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.01