GitHub上のJSコードでモジュールをリンクで辿れるようにするユーザースクリプト

OctoLinkerという、より高機能な拡張機能が既に存在した。

を作った。GitHub上でのコードリーディングが少し楽になる(じっくり読むならgit clone)。


Firefox(Greasemonkey)とChrome(Tempermonkey)で動作を確認した。

TypeScriptにも対応している。JavaScript系以外の言語にも対応することを考慮してコードを書いたつもりだったけど、JS・npm依存なコードが増えて結局JS専用みたいになった(langsにプロパティを増やせば拡張可能)。個人的にはJS以外のコードを読む機会が少ないので、とりあえずここまで。

node.jsのAPIとして提供されるモジュールは、node.jsのドキュメントへのリンクとした。デフォルトでは外部モジュールはnpmのページをスクレイピングしてコードリポジトリのURLを取ってくるため、開くまでに少し時間がかかる(モジュール名から直接コードリポジトリのURLを取得できるAPIが公式にあればいいのになぁ)。

デフォルトでは内部モジュールは通常の遷移、外部モジュールは新規タブに開くようにしてある。linkToModule関数の引数のデフォルト値を変えることでこの挙動を変更できる。

[最初に空配列を用意し、必要なデータをpushしていって、最後にその配列を返す]といった関数、もう全部Generator関数で書きたくなる(絶対遅くなる)。