「くっつきトラックバック」[2003-09-24-5]をフルスクラッチで作ろうか
と思ってみたもののやっぱ面倒なので、既存の CGI に「JavaScript feed」
機能をつけて「くっつき化」するという方針にしてみました。
まず、基本から。「TrackBack 技術仕様書」を読む。ってだいぶ前に読ん
だんだけどね。
<http://lowlife.jp/yasusii/stories/8.html>
そこからリンクされている「TrackBack のスタンドアローン実装」
(Version 1.02) を取ってくる。
<http://www.movabletype.org/downloads/tb-standalone.tar.gz>
tb.cgi の以下の箇所を、
print FH generate_rss($tb_id, $data, 15);
close FH;
}
respond_exit();
} elsif ($mode eq 'list') {
こんな感じにしました。4 行追加するだけ。
print FH generate_rss($tb_id, $data, 15);
close FH;
}
if (open(FH, ">" . catfile($DataDir, $tb_id . '.js'))) {
print FH "document.write('@{[scalar(grep {$_} @$data)]}');\n";
close FH;
}
respond_exit();
} elsif ($mode eq 'list') {
これで、ping を受けるたびに tb_data/[TrackBackID].js というファイ
ルが作成されるようになります。これは、以下のように現在の TrackBack
の数を write するだけの JavaScript プログラムです。
document.write('3');
これを日記ページに以下のように貼りつけて使います。
<a href="tb/tb.cgi?__mode=list&tb_id=20030924"
onclick="window.open(this.href, 'trackback',
'width=480,height=480,scrollbars=yes,status=yes'); return
false">TrackBack(<script language="JavaScript"
src="tb/tb_data/20030924.js"></script>)</a>
chalow で日毎に上記のタグを出力するようにちょっと改造。しばらくこ
の日記でテスト。ゴミでも良いので適当に ping を送って頂けると嬉しい
です。文字化け問題はまだ何も対処していません。まあ、ぼちぼちと。
Referrer (Inside):
[2004-06-29-5] [2003-12-04-5] [2003-10-11-2] [2003-09-26-1]


