Kentaro Kuribayashi's blog

Software Engineering, Management, Books, and Daily Journal.

greasemonkey スクリプトで、livedoor Reader にカスタムコマンドを追加する

なんか過剰に情報が充実している感のあるはてなキーワード "livedoor Reader" で知ったのですが、livedoor Reader には「vi モード」なる裏技があるらしいです。

vi モード

コロン ":" 押下により、vi モード突入。中の人の吹き出しにコマンドを入力できる。また、greasemonkey スクリプトにより、容易にカスタムコマンドを登録可能(:qa! で全既読化するとか。とはいえ当然 vi っぽいコマンド名である必要はない)。この機能は、後述の PlaggerLDR においても、重要な役割を果たしていたりする。
現在実装されているコマンドは以下の通り。

  • :q (中の人を消す)
  • :[0-5] (レートを変更。たとえば ":5" で、いま展開されているフィードのレートを 5 にする)

これは面白そうですね!
上記引用文では、例として「:qa! で全既読化するとか」と書かれているけど、僕がキーワードを見た時点では、:qa! を実現するコードは掲載されていなかったので、ものは試しと、それっぽいものを書いてみました……が、ただ単にコマンドを作ってこの日記に掲載して終わりってんじゃアレなので、せっかくなのでキーワードページで共有できるようにしたら面白いんじゃないかなと考えたりしました。
というわけで、vi モードの greasemonkey カスタムコマンドを共有するべく、はてなキーワード "livedoor Reader" にテンプレを書いてみたり。便利コマンドを作ったら、キーワードページにもコピペして集約したりするとステキなんじゃないかなぁとか思ったりしてます。
そんなこんなでさっそく、(new Hatena).blog() - livedoor Reader で一発で RSS フィードを登録するコマンド (:sub) なんつって、id:reinyannyan さんが素敵コマンドを追加してくれてました。さらに、ただ書き込まれたコードをコピペするってだけではスクリプトのインストールが面倒なので、id:secondlife さんが、キーワードから greasemonkey スクリプト部分だけを抜き出してくれたりしてます(キーワード編集の手違いにより、エラーが発生する場合がありますので、ご注意ください)。
てな具合に、大変に盛り上がってまいりました!!!さぁ、みんなも便利コマンドを作成して、どんどん共有していこうぜ!!!(ひとりっきりで大興奮
あと、これはいうまでもないことですが、上掲のスクリプトに限らず、greasemonkey でむりやりいじくっている以上、LDR の仕様変更にともない動かなくなったり、はたまた、なんかマズいことになったりすることもあり得ると思いますが、そのあたりは各自注意して使用してくださいって感じです。