2008/01/31


ClickCommentsのようなものを作ってしまったよ!

このページの下(Writebacks)に動くものがあるよ!
クリックすると「なると」が増えるよ!
なんで「なると」なのかは聞かないでね!
使うときは、フレーバに $naruto::link
と書くといいよ!
あくまでblosxomとJSONで何か作ってみたかっただけだから、実用性ないよ!
もしかしたらWeb拍手みたいに使えるかもしれないよ!

blosxom大好きっ子は、これを改造してバラまいてClickCommentsのシェアをどんどん下げちゃえばいいと思うよ!!!

元ネタ
http://d.hatena.ne.jp/amachang/20070807/1186485054
http://d.hatena.ne.jp/Hamachiya2/20070804/browser_crasher
amachang、はまちちゃん、勝手にテンプレート使ってごめんね!><
ダウンロード:

Posted at by




このサイトはPerl/CGIで出来たブログツール、blosxomで構築しています。
個人的には
テキストファイルがデータ本体であり、フレーバと呼ばれるレンダラによってブログエントリ化する。バックアップしたいなら、テキストファイルをアーカイブすればいいし、記事を消したいならば、そのテキストファイルを消せばいい。
って所が好きで、実はこのサイトを作る前から、自分専用のメモシステムとして使ってました。

続きを読む...

Posted at by




このサイトのfeedは、Feedburnerを使って焼いていません。いずれdel.icio.us等と一緒に配信させて頂くことになるやもしれませんが、なんとなくブログのフィード購読者数をカウントするCGI作ってみました。
例によって2〜3分で出来た代物なので(ブログ書いてる時間のほうが長いやろ)、中身のクオリティは適当です。
大体の著明なFeed-Fetcherは、ユーザエージェントに「XXX subscriber」という文字列を埋め込んできます。このXXXにそのフィードリーダのsubscriber数が格納されています。
blosxomのloggerプラグイン(もしくはココ)が出力したログファイルから、このsubscriber部を抜き取り著明なフィードリーダ毎購読者数をカウントします。

livedoor FeedFetcher/0.01 (http://reader.livedoor.com/; 23 subscribers) ...
#!/usr/bin/perl

use strict;
my $logfile = "/blosxom/logs/access.log";
#my $logfile = "access.log";
my %agents;
my %bot_ua = (
  'Hatena' => 'Hatena\x20RSS',
  'NewsAlloy' => 'NewsAlloy',
  'FreshReader' => 'FreshReader',
  'Feedpath' => 'Feedpath',
  'Google Reader' => 'Feedfetcher-Google',
  'Rojo' => 'Rojo',
  'Bloglines' => 'Bloglines',
  'Livedoor Reader' => 'livedoor\x20FeedFetcher',
);
open(FILE"<$logfile");
while(<FILE>) {
  my $line = $_;
  $line =~ s/^([^\t]+\t){2}([^\t]+)\t.*/\2/;
  if ((my $ua) = grep {$line =~ /$bot_ua{$_}/} keys(%bot_ua)) {
    $line =~ s/^.* ([0-9]+) subscriber.*\n$/\1/;
    $agents{$ua} = $line if ($agents{$ua} < $line);
  }
}
close(FILE);

print <<EOF
Content-Type: text/html;

<html>
<head><title>Your Feeds Subscriber</title><head>
<body>
<table border=\"1\">
EOF
;
my $sum = 0;
while(my ($key$value) = each(%agents)) {
  print "<tr><td>$key</td><td>$value</td></tr>\n";
  $sum += $value;
}
print <<EOF
<tr><td>total</td><td>$sum</td></tr>
</table>
</body>
</html>
EOF
;

いや、つまらない事しか書いてないのに、購読者がいらっしゃるとは...
※実際にはクライアントサイドで閲覧していらしゃるでしょうから、正しい値とは限りません。
Posted at by