Ruby ToolboxでプロジェクトのREADMEをその場で開くユーザースクリプト

vzvu3k6k / ruby-toolbox-show-readme.user.js

Rubyのライブラリをジャンルごとに分類して人気順に配列しているThe Ruby Toolbox。便利なんだけど、ライブラリの説明文が大雑把すぎてそれぞれの違いがよく分からないことがある。READMEをその場で読めれば便利なのではないかと思って作った。虫眼鏡アイコンをクリックすると、GithubのAPIでリポジトリからREADMEが取得され、挿入される。

READMEはGithubのAPIでHTMLに変換されたものをそのままページ内に追加している。HTMLにJavaScriptが混入されないように配慮されてはいるが(scriptタグ、onerror=“alert(1)”、などはHTML化で消される)、もしかしたら抜け道があるかもしれない。

preタグの1行あたりの字数が多いと横方向にはみ出してしまう。折り返したり、表示域を制限して横スクロールしないと見れないようにすると不便なのでそのままにした。

RubygemやGithubのセクションの右上の虫眼鏡アイコンにポインタを乗せると依存情報やコントリビューターの一覧などが出てくることに、このスクリプトを書いていて初めて気づいた。最初、あるプロジェクトだけgemの依存関係とかが表示されていて(たまたまポインタが虫眼鏡の上を通ったらしい)、「なんでこいつだけこんな情報が出てるんだ?」としばらく悩んだ。READMEの読み込みはやや重い処理だと思うので、マウスオーバーではなくクリックで実行されるようにしている。