ソースを色付けするGreasemonkeyスクリプト

ネット上でソースコードを見ると(viewcvstracなどを通ってない限り)text/plainな状態で見ることになります。白黒でちょっと見難いのでGoogle Code Archive - Long-term storage for Google Code Project Hosting.を使って色付けするGreasemonkeyスクリプトを作りました。

googlecodeprettify.user.js

インストールしてこれを開いてみると画面右上にボタンが出ているので、それを押すとprettyPrint()が実行されて色が付いていると思います。

装飾は控えめにしていますので、スクリプト内のCSSを好きなようにいじってください。←こういう設定はGM_(get|set)Valueでできるようにした方が良いのかな?ローカルに置いたcssを読み込めたりできるといいんだけど(><)

  • 元々CPANのpmファイルを見るときのために作ったのに、prettifyがPODを認識してくれないからイマイチ(><)
  • 普通にdocument.openすると履歴にopen前状態が残ってしまい、「戻る」が上手く動かなくなります。document.openの第2引数にtrue'replace'を渡すと履歴に残らないようです。これは知らなかったー。ソース:http://lxr.mozilla.org/mozilla/source/content/html/document/src/nsHTMLDocument.cpp#2006←?
はてなってブックマークレット貼れなかったっけ・・・?リンク先がjavascript:だと消えちゃう(><))
// ブックマークレット

javascript:(function(){var s=document.createElement('script');s.src='http://holidays-l.googlecode.com/svn/trunk/gm_scripts/googlecodeprettify.user.js';document.documentElement.appendChild(s)})()
これを開いて、ブックマークレットを実行するとprettyPrint()ボタンが出ると思います。
  • IEでも動くようにしました。
  • <pre>が二重になっていたのを直しました。
  • ちゃんと「戻る」が機能するように修正しました(id:cecidiaさんありがとうございました!)
  • 重かったのでprettyPrint()をbody.onloadではなくて、button.onclickで実行するようにしました。(画面右上に「prettyPrint()」というボタンが出ます)っつーか、やっぱりGMじゃなくてブックマークレットで良いよね、これ。