主にキーボードショートカットを使い読み進めていく使い方がメイン。
ピンをたててタブブラウザなどで一気に気になった entry を開くことができる。
feed 先読み機能がついており、現在表示中の feed の一つ先の feed を先読みすることにより、サクサク読み進めることが可能。また開いた feed の描画は最初 entry の一つを描画し、後にすべての entry 描画を行う方法を採っているためにユーザはほぼ wait 無しで読み進めることが可能となっている。
左サイドバーのフィード絞り込みインクリメンタル検索では、ローマ字を入力すると簡易 migemo のような機能によりひらがな、カタカナもローマ字から検索することが可能になっている。
コロン ":" 押下により、vi モード突入。中の人の吹き出しにコマンドを入力できる。また、greasemonkey スクリプトにより、容易にカスタムコマンドを登録可能(:qa! で全既読化するとか。とはいえ当然 vi っぽいコマンド名である必要はない)。この機能は、後述の PlaggerLDR においても、重要な役割を果たしていたりする。
現在実装されているコマンドは以下の通り。
カスタムコマンドを作成したら、下記のテンプレを用いて、共有しましょう。
またこの Greasemonkey は http://lab.rails2u.com/misc/ldr_keyword_gm.user.js からインストールできるかもしれませんでした。
// ==UserScript==
// @name LDR Vi Commands
// @namespace http://d.hatena.ne.jp/keyword/livedoor%20Reader
// @include http://reader.livedoor.com/reader/*
// ==/UserScript==
(function(){
var w = unsafeWindow;
with (w) {
vi['qa!'] = function () {
var api = new API('/api/subs?unread=1');
api.post({}, function (subs) {
subs.forEach(function (i) {
touch_all(i.subscribe_id);
});
});
};
vi.sub = function () {
var i = 0;
var q = new Queue;
q.interval = 500;
Array.from(arguments).forEach(function (url) {
q.push(function () {
(new API("/api/feed/discover")).post({ url: url }, function (list) {
if (list.length) {
var item = list.sort_by("subscribers_count")[0];
if (!item.subscribe_id) {
var feedlink = item.feedlink;
(new API("/api/feed/subscribe")).post({ feedlink: feedlink },
function (res) {
feedlink2id[feedlink] = res.subscribe_id;
message(++i + '\u4ef6\u767b\u9332\u3057\u307e\u3057\u305f');
});
}
}
});
});
});
q.push(function () {
subs.update(true);
});
q.exec();
message('\u767b\u9332\u4e2d...');
};
register_command("mt|moveto", function (folder) {
if (State.now_reading)
Control.move_to(folder);
});
register_command("mkdir", function (folder) {
create_folder(folder);
});
register_command("irb|ruby", function() {
var self = arguments.callee;
if (!self.gen_param)
self.gen_param = function (args) {
var cmd, headers, onload;
if (self.sess) {
cmd = encodeURIComponent(w.Array.from(args).join(" "));
headers = {
Cookie: ["_session_id", self.sess
].map(encodeURIComponent).join("=")
};
onload = function(res) {
message(res.responseText);
};
}
else {
cmd = "!INIT!IRB!";
onload = function(res) {
self.sess = res.responseText;
self.apply(null, args);
};
}
return {
method: "GET",
url: "http://tryruby.hobix.com/irb?cmd=" + cmd,
headers: headers,
onload: onload
};
};
message("..");
GM_xmlhttpRequest(self.gen_param(arguments));
});
}
})();
// == end == ←削除しないで下さい。
新しくコマンドを追加する場合は、編集画面内のtextareaから以下のテンプレをコピーしてコードを入力した後、上にペーストしてください。
コマンドの実装
vi コマンドを追加。
文法:
register_command(command_name, function)
command_name は "|" 区切りで複数指定可能。
例:
register_command("h!|help!", message.curry("Don't panic!"));
スタイルシートに新しいルールを追加。
文法:
LDR_addStyle(selector, style)
例:
LDR_addStyle("div.body", "word-break: normal!important;"); // 英語ブログを読みやすく
LDR 互換 API の実装、greasemonkey スクリプトによる使用 API の切り替え(LDR 本家、互換 API 他)、クロスドメインリクエストの組み合わせにより、LDR の UI を Plagger のフロントエンドにしてしまおうってな激烈にステキなプロジェクト。miyagawa 氏を中心とする Plagger Authors による。
icchw2012-02-05
marliondes2212012-02-02
noissefnoc2012-02-01
masutaka262012-01-24
tt_clown2012-01-24
tami32012-01-18
akizukid2012-01-14
kozai2011-12-31
akisan04132011-12-12
efcl2011-12-02
hitode9092011-11-29
girls_fashion2011-11-20
psappho2011-11-12
matobat2011-11-03
akatuki_sato2011-11-03
mizchi2011-10-31
elly42022011-10-16
tami32011-10-14
beerrr2011-10-13
AltNight2011-10-10
| あ | RSSリーダー, LDR touch, AeroReader, LDR |
|---|---|
| な | nowa |
| は | フィードリーダー, Fastladder |
| ら | ライブドアリーダー |