TracのWikiやチケットで、改行させたいときに、いちいち[[BR]]を入力するのが面倒だったので、Shift+リターンで[[BR]]が入力出来るGreasemonkeyスクリプトを書いてみました。(Greasemonkeyスクリプトの勉強も兼ねて)
(function () { var func = function(event) { var br = '[[BR]]'; if (event.shiftKey && event.keyCode == 13) { var elm = event.target; var end = elm.selectionEnd; elm.value = elm.value.substr(0, end) + br + elm.value.substr(end); elm.setSelectionRange(end + br.length, end + br.length); } }; var result = document.evaluate('//textarea[@class="wikitext"]', document, null, XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null); var node; while(node = result.iterateNext()) { node.addEventListener('keypress', func, false); } })();
ページ内のTEXTAREAでclassが"wikitext"となっているエレメントに対して、イベントリスナーを登録し、Shift+リターンで[[BR]]を挿入するようにしています。
tracを含むURLをスクリプトの対象にしておけば、どこのTracいっても同じように入力出来るので楽かも。(サイトによってはURLにtracが含まれない場合もありますが…)
なお、trac.jsを変更して同じような事が出来るようです。