LDR/Fastladderでアイテムの高さを制限してサクサク読むためのスクリプト

↓これに着想を得た。

各アイテムの高さを制限することによって,全文配信のフィードでも素早く読み飛ばせて,かつ気になる記事はその場でスクロールして読める.

ぼちぼち散歩 livedoor Readerでフィードを読むのがちょっとだけ早くなるかも知れないUser CSS

全文配信のフィードでも素早く読み飛ばせるというのはマウス派の意見だと思うけど、自分の場合は画像を含むフィードを「j」で下のほうまで進んでいるときに、画像が後から開いてフィードの高さがバラバラと変わるのが嫌なので、各アイテムの高さをまったくの固定にしてしまった。

fastladder_fixed_item_height.user.js

OperaFirefox (Greasemonkey) で確認。LDRFastladder の両方で動くようにするのが面倒くさかった。

アイテムのスタイルはスクリプトの頭の部分で変更できる。

  //////// config ////////
  var cfg = {
    item_style : ['height:400px;','overflow-x:hidden;','overflow-y:auto;'],
    down_key : 'd',
    up_key : 'u|D',
    //toggle_key : 'i',
    item_scroll_px : 200,
    integrated_scroll : true,
    integrated_next_feed : true
  }
  ///////////////////////

高さを固定ではなく制限にする場合、height のところを max-height にすればいい。値は好きなように。

アイテムの高さを固定または制限すると、各アイテムにスクロールバーが出てしまうのだが、マウスを使うのは嫌なので「d」と「u」で各アイテムのスクロールが出来るようにした。スクロールの幅は item_scroll_px で決められる。これを 0 にした場合はデフォルトの 100px スクロールする。

普段は「j」で下がっていって、下まで読みたい記事では「d」を押せばいいというわけ。

integrated_scroll = true というやつは、「d」と「u」でこれ以上アイテム内でスクロール出来ない場合に「j」と「k」を押したときの関数を代わりに実行するためのもの。

(Github のほうで TODO: add compatibility with LDR Ad-Entry Blocker (http://blog.endflow.net/?p=58) と書いてあるけど、あまり困ってないので実際にやるかどうかは不明。たぶんいつかやる)

設定に integrated_next_feed を追加。true にすると「d」だけで「j」と「s」の両方の効果を実現できる。あと up_key を D (Shift+D) にもあてた。

現在読んでいるアイテムについて、高さを制限しないスタイルと制限するスタイルを切り替えられるようにした。今の自分の設定はかなり落ち着いてこんな感じになった。

  //////// config ////////
  var cfg = {
    item_style : ['max-height:400px;','overflow-x:hidden;','overflow-y:auto;'],
    //down_key : 'd',
    //up_key : 'u|D',
    toggle_key : 'i',
    //item_scroll_px : 200,
    //integrated_scroll : true,
    //integrated_next_feed : true
  }
  ///////////////////////

Ad-entry-blocker を書き直してそれに対応させたりした。