PukiWiki AccessKey

30分プログラム、その59。PukiWiki関連のCreamMonkeyを2つほど。
PukiWikiは、AccessKeyが設定されているため、Control+Pでプレビューが表示できる。ただ、これがMac(Cocoa)の上移動のキーバインドとかぶっているため非常に使いづらい。特に、これはEmacsと同じキーバインドだから多用する。

そこで、AccessKeyを削除するCreamMonkeyを書いてみた。

// ==UserScript==
// @name	PukiWiki AccessKey Replacer
// @namespace	http://d.hatena.ne.jp/mzp/
// @include	http://pw1.atcms.jp/mzpi/*
// ==/UserScript==

(function(){
   var inputs = document.getElementsByTagName('input');
   for(var i = 0 ; i < inputs.length ; i++){
      var input = inputs[i];
      if(input.name == 'preview'){
	 input.accessKey='v';
      }
   }
})();

で、あと「新規ページの作成」と「ページの編集」にAccessKeyが割りあてられていないのが不満だったので、追加した。

// ==UserScript==
// @name	PukiWiki AccessKey Plus
// @namespace	http://d.hatena.ne.jp/mzp/
// @include	http://pw1.atcms.jp/mzpi/*
// ==/UserScript==
(function(){
   var links = document.getElementsByTagName('a');
   for(var i= 0 ; i < links.length ; i++){
      var link = links[i];
      if(link.href.search("plugin=newpage") != -1){
	 GM_log('set newpage accesskey');
	 link.accessKey = 'c';
      }
      if(link.href.search("cmd=edit") != -1){
	 GM_log('set editpage accesskey');
	 link.accessKey = 't';
      }
      
   }
})();
  • 特定のブラウザで動けばいいJavascriptは楽だ
  • 3分ぐらい残して終った