« Pythonドキュメントの日英マッピングをするGreaseMonkey |Main| 続:Pythonドキュメントの日英マッピングをするGreaseMonkey »

« Pythonドキュメントの日英マッピングをするGreaseMonkey | JavaScript | ブログにコードを貼り付ける方法.js alpha0.1 »

対応づけられたサイトの切り替えをするブックマークレット

Pythonドキュメントの日英マッピングをするGreaseMonkeyの続編。enjamapper。 これをブックマークしておいて、 http://www.python.org/doc/2.4/* か http://www.python.jp/doc/release/* のどちらかで実行すると、もう片方のサイトにジャンプします。

実行されると即ジャンプするブックマークレットにすることで、HTMLを書き換えないでよくなるので、ターゲットのHTMLに対する依存性がなくなりました。サイトの対応付けの設定を書き換えるだけで、ファイルの配置が同じサイト間ならPythonのドキュメントに限らずジャンプできます。

サイトの対応付けをカスタマイズしたい場合や、僕のサイトに誰かが進入してスクリプトを有害な物に差し替えてしまう危険性を避けたい場合は enjamapper.js をダウンロードして自分の好きなところにおいてください。

使い方の具体例。 例えばPythonドキュメントの和訳中に 「positional arguments」はどう訳すのだろうと思ったとします。まず、Googleのsite:オプションを利用して「positional arguments site:http://www.python.org/doc/2.4/」と検索します。そうすると英文Pythonドキュメント中の「6.21.1.3 What are positional arguments for?」という項目がヒットします。これを開いて、enjamapperブックマークを実行すると、これに対応する日本語のページ「6.21.1.3 固定引数とは何か」にジャンプします。「positional arguments」は「固定引数」と訳せば他のドキュメントと統一できるということがわかりました。

ソースコードは以下。

// English-Japanese Mapper Bookmarklet
// see http://www.nishiohirokazu.org/blog/2006/09/enjamapper.html


mapping = [
  [
    "http://www.python.org/doc/2.4/",
    "http://www.python.jp/doc/release/"
  ]
]

loc = document.location.toString();
for(var i = 0; i < mapping.length; i++){
  var url1 = mapping[i][0];
  var url2 = mapping[i][1];
  if(loc.indexOf(url1) == 0){
    document.location = loc.replace(url1, url2);
  }else if(loc.indexOf(url2) == 0){
    document.location = loc.replace(url2, url1);
  }
}

トラックバック(Trackback)

Trackback URL: http://www.nishiohirokazu.org/mt/mt-tb.cgi/354

ご意見・ご感想をお送りください(フィードバック)

(フィードバックはメールで送信され、基本的に表示されませんが、内容によっては公開させていただくこともございます。ご了承ください。Your comment doesn't appear the page immediately. If the comment has value to other people, it will be put on the page or subsequent entries. Thank you.)

上の情報は、いずれも未記入でかまいません。 All of above questions are optional.