Widget::Delicious高速ポストHack

plaggerで未読のFeedを斜め読みするために、BodyTextSubstrを作成しました。が、del.icio.usへtoreadタグで登録する作業が少し面倒なので、ハックしてみました。


GETのqueryはここから拝借しました。

 Index: svn/plagger/lib/Plagger/Plugin/Widget/Delicious.pm
===================================================================
--- svn/plagger/lib/Plagger/Plugin/Widget/Delicious.pm (リビジョン 781)
+++ svn/plagger/lib/Plagger/Plugin/Widget/Delicious.pm (作業コピー)
@@ -22,11 +22,12 @@
sub html {
my($self, $entry) = @_;
my $uri = URI->new('http://del.icio.us/' . $self->conf->{username});
- $uri->query_form(
- v => 3,
- url => $entry->permalink,
- title => encode('utf-8', $entry->title),
- );
+ my %query;
+ $query{'url'} = $entry->permalink;
+ $query{'description'} = encode('utf-8', $entry->title);
+ $query{'tags'} = $self->conf->{tags} if $self->conf->{tags};
+ $query{'jump'} = 'doclose' if $self->conf->{one_click_post} == 1;
+ $uri->query_form(%query);

my $url = HTML::Entities::encode($uri->as_string);
return qq(<a href="$url"><img src="http://del.icio.us/static/img/delicious.small.gif" alt="del.icio.us it!" style="border:0;vertical-align:middle" /></a>);

ハック前の設定のみでは以前と同様の動きを行いますが、

 - module: Widget::Delicious
config:
username: username
tags: toread
one_click_post: 1

上記の設定をすると、

  • username : 以前からの設定でdel.icio.usのユーザー名
  • tags : 登録する際のTagを指定
  • oneclickpost : ここを1にすると登録ウィンドウが自動で閉じる

となります。

一瞬登録ウィンドウが開きますが、自動で閉じますので登録作業がかなり楽になります。


fast_postからone_click_postに変更し、rev.784でコミットしました。 - 2006/05/19追加