更新: LDR フィード絞込みスクリプト - ランダム・フィルター

id:reinyannyan:20070223:p1 のアップデートです。

新オプションとして、":random" を追加しました (省略形は ":rnd")。

フィードを無作為にふるい落とし、表示数の設定に関わらず、フィード一覧の読み込みを軽くする効果があります。

使用例として、次のようなキーバインドの組み合わせを考えてみました:

with (unsafeWindow) {
  register_hook("AFTER_INIT", function() {
    Keybind.add("r", function(){ vi["!"](":reload :random") });
    Keybind.add("R", Control.reload_subs);
    Keybind.add("u", function(){ vi["!"]("#{unread_count>0}") });
    Keybind.add("U", function(){ vi["!"]("+! #{unread_count>0} :random") });
  });
}

"r" キーでちょこっと読み、"R" で全部読み
"u" で未読フィードを表示 (現在の絞込み条件を保つ)
"U" で無作為に未読フィードを表示 (現在の絞込み条件を破棄)


u/U キーについて補足しますと、フィードの表示件数より多くの未読フィードが読み込まれた場合、未表示のフィードが生じてしまいます。表示フィードをあらかた読んでしまった段階でこれらのキーを押すと、未表示になっていたものが浮上してくる、ということです。


細かい変更としては、フォルダの指定オプション "+" に "!" を与えると現在の絞込み状態をクリアするようにしました。例:

// 全フィードから、"tech" フォルダを除く、レート 2 以下のフィードを表示
:! +! -tech #{rate<3}

"-" と "#" のオプションは現在の絞込み状態を維持する仕様なため、全体から検索し直したい場合、これまでは全フォルダにマッチする正規表現 (+^.*) を用いる必要がありました。これは無駄な検索を生じていました。


ダウンロードはこちら: ldr_subs_filter.user.js

どうぞご利用ください。