Skip navigation.

Kuruman Log

かつて自分のカスタムログを書きためていたこともあった

March 2008

( Monthly archive )

ニコニコ動画観たい

miya2000さんの作られた"nicovideo - view without login."を入れてログイン要らなくしました!
……が、開発者曰く何処にでもはれるようにするのはもう少し待てとのことです。とりあえずリンクはひとまず外すことにします。はい。

YouTubeを可能な限り高画質で楽しむためのUserJS

YouTubeの動画を参照した場合、高画質なものがあるときはそれに置換するUserJSです。事の経緯や詳細はYouTube HDをOperaへ移植したを参照してください。

youtubehd.js

高速にブックマークしたい

ソーシャルブックマークへの投稿をいかに速くするかというのはブラウジング速度を速める上で大きな課題です。なにせ何度も読み込みますからね。


2008年3月19日版にて、下記のUser JavaScriptによる通信はセキュリティ上の問題によりOpera側で通信がブロックされるように仕様が変更となりました。つきまして、紹介しておりますUser JavaScriptは現行のOpera 9.5 Snapshotでは動作いたしません。以下、歴史的資料として残しておきます。


で、minibufferbookmarkcommandを発見した次第です。早速minibufferと併せてて導入してみました。しばらくUserJSは減らす一方でしたので、久しぶりです。これを入れるとminibufferを利用してソーシャルブックマークへの投稿が可能になります。

minibufferはご存じの方も多いと思いますし、vimを使っている方でしたらなじみもあるかと思いますが、":"を押すと画面下に入力欄が現れ、コマンドを入力することができる、というもの。"|"を使って(Unixのように)左側の内容を右側へ流し込むことができます。たとえば、

location | bookmark -d "--tag=Opera UserJS"


とすると、

  1. 現在開いているタブの(location)を"|"の右側に渡す
  2. 渡されたもの(location)をソーシャルブックマークに投げる(bookmark)
  3. ソーシャルブックマークにはdel.icio.usを使う(-d)
  4. タグは"Opera"と"UserJS"を付ける("--tag=Opera UserJS")


となります。

タグの補完が効くというのが素晴らしいですね。

ちなみにminibufferbookmarkcommandはArrayオブジェクトを勝手に拡張するなど、あまり行儀の良いスクリプトではありません。tumblrの投稿時やdel.icio.usのタグ補完など、幾つかの箇所で問題が発生しますので覚悟の上でご利用ください。やっつけでブラックリストを書いていますが、きりがありません。はい。きっと他にも影響するでしょう。

// ==UserScript==
(中略)
// @include        *
// @exclude        http://*.tumblr.com/*
// @exclude        http://del.icio.us/Kuruma?url=* // <- たびたび間違ってブックマークレットを起動するので、その辺りをごまかしてます
// ==/UserScript==


CodeReposなので誰かが依存を無くしてくれる気もします。というか自分やれよという話ですね、はい。とりあえずアカウントを申請しましたよ。

……なんて思っていたらショートカットキーも追加されるようで。とりあえず私にとっては押しにくく誤爆も多いキーですので、こんな具合に書き換えています。

window.Minibuffer.addShortcutkey({
 key: 'M', // ショートカットキーをBからMに変更
 description: 'Bookmark with comment', // 要約も気分的にちょっとだけ変更
 command: function(){
   var target_cmd = getTargetCommand();
   window.Minibuffer.execute(target_cmd + ' | bookmark ' + SBM + ' --tag --comment');
 }});
// タグだけでブックマークするショートカットキーを追加
window.Minibuffer.addShortcutkey({
  key: 'M',
  description: 'Bookmark without comment',
  command: function(){
    var target_cmd = getTargetCommand();
    window.Minibuffer.execute(target_cmd + ' | bookmark ' + SBM + ' --tag');
  }});


タグ無しでブックマークするということはあり得ませんので、"N"でコメント無し、"M"でコメント付きのブックマークを行うようにしてあります。@mattnありがとう!

んー、しかし、僕の場合ショートカットキーの部分だけ抽出すれば事足りる気がしてきた。

一応Arrayオブジェクトを拡張しないように修正したりとか自分好みにカスタマイズし終えたUserJSファイルを転がしておきます。
minibufferbookmarkcommand.js
Download Opera, the fastest and most secure browser