Code Snippetsを見やすくするGreasemonkeyスクリプト

Code Snippetsとはプログラムコードの断片を共有 するサイト。激しく使えるものから使い道に頭を悩めるようなものまで幅広く投稿されてるので暇を見て眺めていたわけだが、このサイトが思いのほか使い辛い。

何が使い辛いってコードが初期状態で展開されてるから、50行近くもあるコードがあると、ページがエラい高さになる。

というわけで、いっちょGreasemonkeyで見やすくしてみようじゃあないか、と思って作ったのがこれ。

codesnippets.user.js

何気にOperaにも対応。コードタイトル右端に展開用のボタンを表示。デフォルトは全部閉じた状態。展開した状態でダブルクリックすると閉じる。折角なんでサイドバーも閉じた。これで大分見やすくなったー。

微妙に手抜きっぷりが見え隠れしているのは、近い将来もっと見やすい形にサイト側が対応するだろうという見通しのものであり、決してめんどくさかった訳ではない。いやマジで。

本当はSleipnirのSeaHorseにも対応させようとしたんだけど

user.js設置する(alert仕込む)

Sleipnir起動

ページ開く

alert出る

user.js弄る(alert消す)

リロード

alert出る

user.js削除する

リロード

alert出る

どうみてもメモリに読み込んでます。本当にありがとうございました。

つーことは、SeaHorse用に作る場合はブックマークレットかSleipnirスクリプトとして作成してから移植するしかないのか。超めんどー。・・・あー、今回はご縁が無かったということで。

んで、コード共有サイトなんだからボタン一発でクリップボードに入れられるようにしたいよな。というわけでflashファイルを利用してクリップボードへコピーしてくれるボタンを生成してくれるようにもしてある。

なんでdataスキームじゃないかというと、どうやらFlashPlayer9になってセキュリティ周りに変更が出たらしく、最小構成のHTMLにembedでdataスキームのsetClipboard.swfを指定したやつを開いても反応しなくなったのよ。というわけでエロい人解決法求む。

ファイル自体はこっちね。OperaかFirefoxを使って、右クリックメニューから保存。適当なURLで繋がる場所にアップロードしたら、スクリプトを開いて「var flashURL」部分にURLを入力すれば機能するようになる。

setClipboard.swf