詩と創作・思索のひろば

ドキドキギュンギュンダイアリーです!!!

Fork me on GitHub

現在 Chrome で開いているプルリクエストを一発でチェックアウトするスクリプト

プルリクエストをレビューしていて diff を見たら意外とでかいぞ手元で1コミットずつ見るか……となったときにブランチをいちいち確認してチェックアウトするのが面倒なので一発でやってくれるシェルスクリプトを書いた。

chrome-cli を使うので OSX のみ。もうこれでオチたようなもんだけど、以下をパスの通った場所に置いたらオッケーです。Chrome で現在開いているタブが GitHub のプルリクエストページであるとき、その PR に対応するブランチをチェックアウトしてくれる。リポジトリオーナーではない所からのプルリクエストの場合は、ユーザ名と同じ名前の origin を登録してブランチをチェックアウトします。

Git: checkout "this" (currently shown in Chrome) P ...

f:id:motemen:20140704132228p:plain

こんな感じに動く。シェルスクリプトで文字列操作するの面倒だなーと思ってたけど、Chrome の中なら JavaScript が使えるので便利だった。

ページのドメインによって Favicon の色を変えられる Chrome 拡張を作りました

f:id:motemen:20140509095630p:plain

ウェブ開発者の皆さまにおかれましては、少なくとも本番環境・開発環境の2種類に常に接していると思いますが、ブラウザで両方を開いているような場合にこの区別をつけることが難しい。この問題には、環境によって Favicon の色を変えるという手法が有効であると知られています。たいてい実装は難しくないとはいえ面倒なことに変わりはないし、GitHubGitHub:Enterprise のように直接手を入れることができないようなものもある。そこで Chrome 拡張によってこれを実現しようというものです。

Chrome Web Store - Flavoured Favicon

https://github.com/motemen/chrome-Flavoured-Favicon

設定するにはオプションJSON を直接書く必要がある(手抜き)のですが、単純なので難しくはないはずです。特定のドメインで、Favicon に指定された色を重ねて描画するようになります。#F0F で赤っぽくとか、#BBB で灰色に……とか。オブジェクトのキーがドメイン部にマッチするパターンとなっていて、*ワイルドカードとして使えるので、特定のサブドメイン下はすべて開発環境だ! というような場合に効果を発揮します。

設定の例

{
  "localhost": {
    "color": "#BBB"
  },
  "*.develop.exmple.com": {
    "color": "#F0F"
  },
  "githubenterpreise.example.com": {
    "color": "#CC0"
  }
}

以上のような設定で、

  • localhost では Favicon が灰色に、
  • 開発環境にデプロイされたものでは赤っぽく、
  • GitHub:Enterprise は金(黄土色か……)に

なります。最初に貼ってあるスクリーンショットみたいな感じにできます。

ビルドまわりも gulp 使ってみてるなどそこそこ工夫してるので、あとで別エントリにまとめようと思います。

ウェブ上の任意の画像の貼り付けタグを Markdown としてクリップボードにコピーできる Chrome 拡張

f:id:motemen:20140407095231p:plain

Pusheen Explorer紹介記事)は素晴らしいサイトですがこれをプルリクエストの応酬に利用するにはただ一点の難がありました。いい画像を見つけてもそれを Markdown としてコメントに含めるのが難しいことです。そこで作った Chrome 拡張がこちら。

Chrome Web Store - Quote Image As Textリポジトリ

画像を右クリックした際のコンテキストメニューに「Quote image as text」というのが追加されて、これをクリックするとクリップボードにその画像を貼り付けるタグと、画像が表示されているページ(またはその画像がリンクになっている場合は、リンク先のページ)へのリンクが Markdown 記法でコピーされます。あとはテキストエリアに貼り付けるだけ。簡単ですね!

スクリーンショットと例

f:id:motemen:20140407094922p:plain

上のような場合だと、生成される Markdown は

[![](http://upload.wikimedia.org/wikipedia/commons/3/38/JPEG_example_JPG_RIP_001.jpg)](http://en.wikipedia.org/wiki/JPEG)

となり、展開すると以下のようになります。

はてなで一緒に働きませんか?