デフォルトのレイアウトではよけいなヘッダとかが表示されなくなって見やすくて、とても良いと思います。
しかし、たまに今見ているページを英語で見たり日本語で見たりしたいとき、旧レイアウトであった言語切り替えのメニューも使えなくなったので、ちょっと困っていた。*2
と、いうことで久しぶりにvimpのコマンド書いた。プラグインにするほどのものじゃあないので、とりあえず .vimperatorrc などに突っ込む感じで使う。
// MSDNの言語切り替え js<<EOM commands.addUserCommand( ["MSDNLocaleChange"], "Change msdn page's locale", function(args) { var parsed_uri = buffer.URL.match(/(^http:\/\/msdn\.microsoft\.com\/)([^\/]+)(\/.*)/); if (!parsed_uri) return; liberator.open(parsed_uri[1] + args[0] + parsed_uri[3]); }, { completer: function(context) { context.title = ["locale"]; context.completions = [["ja-jp"], ["en-us"]]; }, argCount: "1" }, true ); EOM
以下のようにコマンドで言語が切り替えられます。
今見ているページを英語に
:MSDNLocaleChange en-us
今見ているページを日本語に
:MSDNLocaleChange ja-jp
自分メモ
spaceバーに割り当てられている関数を調べる場合。
:echo content.wrappedJSObject.Keybind._keyfunc['space']
ちなみに、reader_pref.x.x.x.jsにどのキーにどの関数を割り当てるかが定義されている。
:echo content.wrappedJSObject.Keybind._keyfunc
すれば、キーバインドの一覧っぽいのが得られる
tombloo.js, hack | |
livedoorReaderでフィードを読んでいるとき、ブクマしたい場合右クリックでコンテキストメニューを開いて「Link - LDR」を選択しないと、livedoorReader自身がブクマされてしまいます。
これがいちいち面倒だったので、tombloo.jsのコマンド一覧に表示できるようにしてみた。
以下のようになります。
"Link\ -\ LDR"を選択すると、ちゃんと現在選択しているフィードがブクマ対象になります。
とりあえずいじってみた。やるんだったらもうちょっと抽象化して汎用的なコードにしたほうがいい気がするけど、ねむいのでここまで。
--- tombloo.js (リビジョン 35109) +++ tombloo.js (作業コピー) @@ -116,6 +116,16 @@ function getContext() { const doc = window.content.document; const win = window.content.wrappedJSObject; + + function getTarget() { + if (/^http:\/\/reader\.livedoor\.com/.test(buffer.URL)) { + let item = win.get_active_item && win.get_active_item(true); + return item ? item.element : doc; + } else { + return doc; + } + } + return implant( implant( { @@ -123,7 +133,7 @@ window: win, title: doc.title.toString() || '', selection: win.getSelection().toString(), - target: doc, + target: getTarget(), //event : event, //mouse : mouse, //menu : gContextMenu,
以下のエントリが参考になりました。
一行野郎 | |
echo <ul>{[<li>{i.name+" "+i.version}</li> for each (i in Application.extensions.all) if (i.enabled) ].reduce(function(a,b) a+b)}</ul>
echopy.js入れてれば、"echo"を"echo!"にするだけで、クリップボードにもコピーしてくれる。
echo <ul>{[<li>{i.name}({i._filename})</li> for each(i in GM_getConfig().scripts)].reduce(function(a,b) a+b)}</ul>
ego_counter.js, plugin, 小ネタ | |
http://coderepos.org/share/browser/lang/javascript/vimperator-plugins/trunk/ego_counter.js
作った。
まあ、ずいぶん前から、vimperatorrc.js に直書きしてたコードなんだけど
グリモンで似たような事してる人がいたので、もしかしたら需要あるかも...と思ったのでプラグインにした。
ego_counter.jsをpluginディレクトリに突っ込んで、以下のようにrcファイルなどでグローバル変数を設定してください。
let g:ego_counter_uri = 'http://d.hatena.ne.jp/snaka72'
これで、vimpを再起動すると...
のようにステータスラインにブクマ数が表示されます。
よろしかったら、どうぞ。
仕様を書いてなかった。