2006-04-27
livedoor Reader から、ショートカットキー一発ではてなブックマークにぶくまする greasemonkey スクリプト
2006-04-28 追記。
以下のスクリプトの機能に追加して、del.icio.us へも対応したものを、yoko さんが作成しました。
del.icio.us ユーザ、あるいは、はてぶと del.icio.us 兼用ユーザは、そっちを使う方がいいと思います。
まぁ見出しがすべてを物語っていて、それ以上の説明の余地がないのですが、ともあれ livedoor Reader で読んでいるエントリを、はてなブックマーク AtomAPI を通して、ショートカットキー一発ではてなブックマークにぶくまするための greasemonkey スクリプトを書きました。
以下、設定方法。
- 下記のスクリプトをエディタかなんかに貼り付けて、はてなのユーザ名、パスワードを記入
- "Blogging in the wind: WSSE for JavaScript" から wsse.js をダウンロードしてきて、どこか適当な場所におき、その URL を記入
- あらかじめ設定されているショートカットキーが "b" ってのがイヤなら、なんか適当に変更
- 以上が済んだら、そのファイルを保存して、それを Firefox で開くと現れる、"Install" ボタンを押してインストール
以上の設定・インストールが成功したら、以下の画像ような感じで、上で設定したショートカットキーによりプロンプトが出てきて、livedoor Reader でエントリを読みながらはてなブックマークにぶくまできるようになります。
少しわかりにくいのですが、ショートカット "p" でピンが立つ対象がぶくま対象のエントリです。
プロンプトを空のまま OK するか、あるいはキャンセルすると、ブックマークしません。また、ブックマークが成功したら "201 - Created" とかなんとか alert が表示されます。
外部 JavaScript ライブラリを持ってこなきゃならなかったりしてちと導入がめんどうだけど、わりと便利かも。
// ==UserScript==
// @name livedoor Reader 2 Hatena::Bookmark
// @description bookmark the entry gets your attention on the spot
// @namespace http://antipop.gs/ns/greasemonkey/ldr_post2hatebu
// @include http://reader.livedoor.com/reader/*
// ==/UserScript==
(function(){
// 設定
// wsse.js は http://rvr.typepad.com/wind/2005/07/wsse_for_javasc.html から取ってきてぉ><ノ
var username = 'hatena_id';
var password = 'hatena_password';
var shortCutKey = 'b';
var libWSSE = 'http://yourdomain/path/to/wsse.js';
var postURI = 'http://b.hatena.ne.jp/atom/post';
var w = unsafeWindow;
var _onload = w.onload;
function ATOM (username, password) {
this.username = username;
this.password = password;
}
ATOM.prototype = {
post: function (postURI, permalink, comment) {
var requestBody =
<entry xmlns="http://purl.org/atom/ns#">
<title>dummy</title>
<link rel="related" type="text/html" href={permalink} />
<summary type="text/plain">{comment}</summary>
</entry>;
GM_xmlhttpRequest({
method: 'POST',
url: postURI,
headers: {
'Accept': 'application/x.atom+xml, application/xml, text/xml, */*',
'X-WSSE': w.wsseHeader(this.username, this.password),
},
data: requestBody.toString(),
onload: function (details) {
alert([details.status, details.statusText].join(' - '));
}
});
}
};
var onload = function () {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = libWSSE;
document.getElementsByTagName('head')[0].appendChild(script);
var atom = new ATOM(username, password);
w.Keybind.add(shortCutKey, function(){
var item = w.get_active_item(true);
if (item) {
var permalink = item.link.replace(/#/, '%23');
var comment = w.prompt('comment for "' + item.title + '"');
if (!comment)
return;
else
atom.post(postURI, permalink, comment);
}
});
};
w.onload = function(){
_onload();
onload();
};
})();
Greasemonkey Hacks (Hacks)
posted with amazlet on 06.04.27
Mark Pilgrim
Oreilly & Associates Inc (2005/11)
Oreilly & Associates Inc (2005/11)
最新WebサービスAPIエクスプロ-ラ ~Amazon、はてな、Google、Yahoo! 4大Webサービス完全攻略
posted with amazlet on 06.04.27
Software Design 編集部
技術評論社 (2005/09/23)
売り上げランキング: 6,326
技術評論社 (2005/09/23)
売り上げランキング: 6,326
トラックバック - http://d.hatena.ne.jp/antipop/20060427/1146067330
リンク元
- 279 http://d.hatena.ne.jp/keyword/Livedoor Reader
- 234 http://wiki.livedoor.jp/staff_reader/d/Greasemonkey
- 210 http://caramel-tea.com/2006/08/lgr_gm/
- 205 http://susu.whitesnow.jp/note/coding/060428-ldr2sbm.html
- 130 http://reader.livedoor.com/reader/
- 100 http://b.hatena.ne.jp/
- 81 http://d.hatena.ne.jp/rikuo/20071216
- 79 http://carbonfairy.org/note/coding/060428-ldr2sbm.html
- 54 http://www.google.co.jp/search?q=livedoor+reader+はてなブックマーク+コメント&start=0&hl=ja&lr=lang_ja&ie=utf-8&oe=utf-8&client=firefox&rls=org.mozilla:ja:official
- 53 http://d.hatena.ne.jp/




