Plagger::Plugin::Widget::LivedoorClip
クリックするとLivedoorクリップにpermalinkを追加するボタンを作る。
http://subtech.g.hatena.ne.jp/otsune/20060814/WidgetLivedoorClip をコピーしているが、html関数の中身を少し変えて使っている。
package Plagger::Plugin::Widget::LivedoorClip; use strict; use base qw( Plagger::Plugin ); use Encode; use HTML::Entities; use URI; sub register { my($self, $context) = @_; $context->register_hook( $self, 'publish.entry.fixup' => \&add, ); } sub add { my($self, $context, $args) = @_; $args->{entry}->add_widget($self); } sub html { my($self, $entry) = @_; my $uri = URI->new('http://clip.livedoor.com/clip/add'); my %query; $query{link} = $entry->permalink; $query{title} = $entry->title; $uri->query_form(%query); my $url = HTML::Entities::encode($uri->as_string); my $button = $self->conf->{button} || '16_w'; return qq(<a href="$url"><img src="http://parts.blog.livedoor.jp/img/cmn/clip_16_$button.gif" al t="livedoor clip it" style="border:0;vertical-align:middle" /></a>); } 1;