awsxomプラグインを9月24日版に差し替え+少しいじってみたり
awsxom プラグインの新しいのが出ています。今回から foot.flavour でも使えるようになったので、サイドバーの Recommends にも awsxom プラグインを使うことにしました。
ところで、バージョンアップするときに気づいたのですが、awsxom では DVD の監督や出演者が表示できません(気づくの遅っ)。私は映画を選ぶときに監督や出演者(とくに監督)を重視する人なので、awsxom プラグインを少しいじってみることにしました。
ローカルとこのブログでテストした限りでは何とか動いているようなので、変更した箇所を書いておきます(無謀とも言う)。ただし、私は Perl には詳しくない(ていうか、全く知らないと言ってもいいくらい)ので、思いっきり間違っている可能性も(大いに)あります。
Amazon から取得するデータのタイプを「type=lite」から「type=heavy」に変更
73 行目を
my $url = "http://xml.amazon.co.jp/...&type=lite=...
から
my $url = "http://xml.amazon.co.jp/...&type=heavy=...
に変更。
150 行目あたりに、以下の行を追加
# 監督・出演者の解析
$detail{"Director"} = parseAuthor($buf, "Directors", "Director");
$detail{"Actor"} = parseActor($buf, "Starring", "Actor");
# DVDの場合、AuthorにDirectorと/またはActorを入れておく
if ($detail{"Catalog"} eq "DVD") {
if ($detail{"Director"} ne "" && $detail{"Actor"} ne "") {
$detail{"Author"} = $detail{"Director"} . " / " . $detail{"Actor"};
} elsif ($detail{"Director"} ne "" && $detail{"Actor"} eq "") {
$detail{"Author"} = $detail{"Director"};
} elsif ($detail{"Director"} eq "" && $detail{"Actor"} ne "") {
$detail{"Author"} = $detail{"Actor"};
}
}
「# デバッグ用」の前(オリジナルの 177 行目)あたりに、以下の行を追加
# ---------------------------------------------------------------------
# Actor 部分の解析
sub parseActor {
my ($buf, $parent, $child) = @_;
my @actors;
my $actor;
# Actorの数
my $actor_num = 3;
if ($buf =~ /<$parent>(.*)?<\/$parent>/s) {
my $act = $1;
@actors = ($act =~ /<$child>([^<]*)<\/$child>/gmi);
}
if ($actors[0] eq $actors[1]) {
shift @actors;
}
if (@actors >= $actor_num) {
splice(@actors,$actor_num);
$actor = join ", ", @actors;
} elsif (@actors > 1 && @actors < $actor_num) {
$actor = join ", ", @actors;
} else {
$actor = $actors[0];
}
return $actor;
}
新たに利用可能になる(?)変数
テンプレートの中で、以下の変数が使用できるようになる・・・かもしれません。
$Director: 監督の名前$Actor: 俳優の名前(最大3人まで)$Author: 「監督 / 俳優」
使用例
|
ハウルの動く城 [DVD] ブエナ・ビスタ・ホーム・エンターテイメント |
注意
- 動作無保証。
- にーやんが勝手に改造したものであり、作者の fukazawa さんとは無関係です。
ブログのトップページのエントリ表示数を変更とか
hail2u.net - Weblog - あるflavourだけ$num_entriesの数を変えるを参考に、flavour別にエントリの表示数を変更してみました。トップページなどの index.html は 5 件に、RSS や 検索結果の表示は 10 件にしています。
私の文章はどうも長文になりがちらしく、トップページがダラダラと縦に長くなってしまうのが気になっていました。seemore プラグイン(「続きを読む」でエントリを分割するプラグインみたいな)も使ってみたのですが、いまいちしっくり来ませんでした。タグを書くのが面倒という説も。
とりあえず、当面はこの形で行くことにします。また飽きたら、違う形に変えるかもしれません(ぉ
ちなみに、カンガルーオアシスさんのブロッサムスターターキット研究室では、blosxom starter kit の config.cgi を変更して、ページの種類によってエントリ表示数を変える方法を紹介しておられます。
FeedBurner+拡張スパムブロッカーで不具合発生?(その2)
にーやんのブログ :: FeedBurner+拡張スパムブロッカーで不具合発生?のつづき。
今のところ、そのような問題は発生していません。 RSS フィードを静的に生成しているからかもしれません。
上記のエントリでは、このように書きましたが、ためしに別のローカルで生成した RSS フィード(RSS 2.0 形式)を指定してみたところ、「Read timed out」エラーが出ました。
そこで、カンガルーオアシスさんの対処法を(参照)を施してみると、同じ RSS フィードでも、正常に処理してくれました。
なので、静的生成かどうかは関係ないのかもしれません。よくわかりませんが・・・。
コメント投稿者のメールアドレスを数値文字参照化
カンガルーオアシスさんで、コメント投稿者のメールアドレスを数値文字参照化する方法が公開されています(参照)。
さっそく、このブログでも導入しました。color99 さん、ありがとうございました。
awsxomプラグインを使ってみた→いい感じ
前のエントリ(参照)から、Amazon.co.jp アソシエイトのリンクの作成には、fukaz55 さんの awsxomプラグインを使わせていただいています。
少し前から、Amazon のリンク作成には、自分で適当に作った Bookmarklet (ヘタレすぎて非公開)を使っていました。でも、こちらのプラグインを使う方がはるかに簡単なので、ありがたく使わせていただくことにします。
blosxom 用の Amazon 関連のプラグインは他にもあります(参照)が、awsxom を使うことにしたのは、たまたま all about blosxom の PluginList の上のほうにあったからです。いや、マジで。
で、実際に使ってみたら、使い方は簡単だし、テンプレートで表示結果を変更することもできるし、いい感じだったというわけです。このまま、アサマシ用のブログを作ろうかと思うくらい(笑)
|
奈良美智作品集 「DRAWING FILE」 奈良 美智 フォイル |
実際に使ってみると、こんな感じで表示されます。
Design rule index―デザイン、新・100の法則
テンプレートをいじれば、テキストリンクだけにすることも可。
以下、awsxom を使う上で気をつけるといいかもしれないこととか、個人的にいじったところをメモ。
- 1 行目の Perl のパスは、サーバーによって変更する必要があるかもしれない。
- ていうか、1 行目は、なくてもよかったりします?
- 文字コードが Shift_JIS みたいなのを、一応、UTF-8 に変更。改行コードも LF に。
- そのままでも、テンプレートが UTF-8 なら大丈夫みたい。
- テンプレートが Shift_JIS でも、商品データは文字化けしないみたい。ただし、テンプレートの中の日本語は文字化け。
- Amazon の商品ページからコピペで OK なように、「ASIN:」のあとに半角スペースを入れるようにした。
- コロン(:)が全角の場合もあるみたい。
元に戻すかも。元に戻しました。 - どうもDVDとソフトウェアの商品だけ「ASIN:(全角)番号」な模様。
- コロン(:)が全角の場合もあるみたい。
- 「/ref=nosim/アソシエイト ID」を「/アソシエイト ID/ref=nosim」に変更。個人的な好み。
![ハウルの動く城 [DVD]](http://ecx.images-amazon.com/images/I/516B38XBMSL._SL160_.jpg)




