LoginSignup
2

More than 5 years have passed since last update.

GitHubから特定ディレクトリのみをエクスポートするためのブックマークレット

Last updated at Posted at 2017-01-15

ブックマークレット

以下をブックマークに登録し、ハイライトされたコマンドをコピーして、ターミナルで実行。

javascript:(function(){var svn_url = document.location.href.replace("tree/master","trunk");var command = "svn export " + svn_url;var q = document.createElement("input");q.style.position="fixed";q.style.top="10px";q.style.left="10px";q.style.zIndex=999999;q.style.width="300px";q.type="textarea";q.value = command;document.body.appendChild(q);q.focus();q.select();})();

動作

どこかのリポジトリの子ディレクトリで、ブックマークレットを実行すると・・・

SS 2017-01-16 8.29.04.png

svn export のコマンドが画面左上に作られるので、それをコピーして、ターミナルで実行。

SS 2017-01-16 8.30.24.png

解説

GitHubには、Subversionのインターフェースもあって、SubversionはDirectory単位のエクスポートやチェックアウトが可能なので、それを使ってる。

ブックマークレットがやってる処理は以下の2つ。

  • urlの"tree/master"を"trunk"に置換
  • それを svn export のurlに指定して、画面上にテキストを表示
  • GitHub以外で起動しても、意味のないコマンドができちゃうけど、そのエラー処理はやってない
  • svnコマンドはインストールされている前提(手元のOSXでは知らない間に入っていた)

これくらい手動でしてもいいんだけど、勉強中は大量にサンプルを落としてきては、動作確認をしたいので、機会的にできるようにブックマークレット化。

背景

Xamarinの開発をやりはじめて、サンプルソースがいっぱいGitHubにあるのはわかったのだが、リポジトリ配下にいっぱいソリューション(プロジェクト)が、あって、「欲しいサンプルだけ取り出したい」ってシーンが多かった。

ブラウザ上の処理と、ファイルダウンロードって導線が作りづらいのだけど、「画面上にコマンドを表示して全選択」というところまでやってあげるのが、セキュリティ的な課題もなく、ちょうど良い気がする。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2