2009/08/01


普段はあまりブラウザを立ち上げてなくて、vimでコーディングしてる時なんかに調べたい事があればw3mを使っています。
ただ良いコンテンツを見つけて、「うむ。はてブしたい!」と思った時にイチイチFirefox起動するのも面倒臭かったので、w3mから直接ブックマーク出来る様にした。
まずは、perlからはてなブックマークする仕組み。これはAtom APIを使った単純な物。 #!/usr/bin/perl
use warnings;
use strict;

use Config::Pit;
use XML::Atom::Client;
use XML::Atom::Entry;
use XML::Atom::Link;

my $url = shift;
print "\n$url\n";
print "はてなブックマーク: ";
my $summary = <STDIN>;
my $config  = pit_get( "b.hatena.ne.jp", require => {
  "username" => "your username in b.hatena.ne.jp",
  "password" => "your password in b.hatena.ne.jp",
});

my $entry = XML::Atom::Entry->new;
my $link  = XML::Atom::Link->new;
$link->rel('related');
$link->type('text/html');
$link->href($url);
$entry->add_link($link);
$entry->summary($summary);

my $client = XML::Atom::Client->new;
$client->username( $config->{username} );
$client->password( $config->{password} );
my $edit_uri = $client->createEntry( "http://b.hatena.ne.jp/atom/post", $entry )
  or warn $client->errstr;
Config::Pitを使ってる所と、はてブコメントを入力している部分がちょっと違うだけ。
このスクリプト "hb.pl" を $HOME/.w3m/hb.pl として置き、$HOME/.w3m/keymap に以下の行を追加する。 keymap m EXTERN "/usr/bin/env perl ~/.w3m/hb.pl '%s'"
これでw3mから"m"をタイプすれば、コメント入力が表示され http://mattn.kaoriya.net/
はてなブックマーク: [これはすごい]よーわからんけどね!
確定させればブックマーク出来る。中止は CTRL-C ね。

快適快適。
Posted at by