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関数で書きたくなる(絶対遅くなる)。