Firefoxでgithub-greedy-collectorを使う
Google Chrome には、GitHubのレポジトリのページに訪れた際に自動的にgit cloneしてくれるExtensionがあります。
便利そうなのですが、宗教上の理由でFirefoxを使っているため、このExtensionを使うことが出来ません。 そのため、Firefoxで動くようにコードを書いてみました。
Solution
Firefox のadd-onを作るのはめんどくさいため、今回はVimperator上にこの機能を実装しました。 Vimperatorを入れていない人は今すぐインストールしましょう。幸せになれます。
以下のコードを~/.vimperatorrc
に貼り付けることで動作します。
js <<END function __vimperator_ggc() { if (window.content.window.document.querySelector('.fork-flag')) { return; } const paths = buffer.URL.split('/'); const host = paths[2]; const owner = paths[3]; const repo = paths[4]; if (typeof owner === 'undefined' || typeof repo === 'undefined') { return; } fetch( `http://localhost:8080?host=${host}&owner=${owner}&repo=${repo}`, {method: 'POST'} ); } END autocmd PageLoad github.com/* js __vimperator_ggc()
Usage
上記コードを.vimperatorrc
に貼り付けFirefoxを再起動し、ggc-server
をコマンドラインから起動しておくことで有効になります。
この状態でGitHubのレポジトリに訪れると、そのレポジトリを自動でローカルにcloneしてきます。
Note
- forkされたレポジトリはCloneしないようになっています
- インストール方法や設計はオリジナルのブログも参考になります