2012/05/30


githubのJSON APIを使って、リポジトリのコミットログを取得してバッヂを作ってみました。
呼び出しは $(function() {
    $('#github-badge').githubBadge({ repos : [
        {author: 'mattn',    name: 'gist-vim'  },
        {author: 'mattn',    name: 'gtktwitter'},
        {author: 'miyagawa', name: 'remedie'   },
        {author: 'otsune',   name: 'plagger'   }
    ]});
});
こんな感じ。
現状、スクリプトではcssを当てていません。外部cssで適当に弄って下さい。
現状APIからgistは取れなさそうなので、対応していませんがそのうちAPIが出来るやもしれませんね。
これからもう少しカッコよくして行くつもりですが、よろしければどうぞ。
実行画面は以下
mattn/jquery-github-badge @ GitHub
ソースはこの辺にあります。
Posted at by



2012/05/25


quickrun.vim は言うまでもなく、とても便利なプラグインなのですが、C言語もしくはC++を書く人にとって少し使いにく所があります。
quickrun はファイルタイプに従ったコマンド定義に従って編集中のファイルを実行してくれます。C/C++ であれば実行可能なコンパイラでコンパイルし、実行した結果を表示してくれます。
しかし例えば C++ で boost を使う場合、ヘッダオンリーな物であれば問題無いのですが、ライブラリをリンクする必要がある場合には、quickrun では面倒な実行方法を取らざるを得ません。
ユーザからすれば #include <boost/filesystem.hpp>
と書かれていれば、出来れば -lboost_filesystem をリンクして欲しいものです。今日はそれを実現してくれる quickrunex.vim というのを作りました。
上記の様に boost/filesystem.hpp が include されていれば自動で -lboost_filesystem を付与してくれます。
現在対応しているライブラリとしては
  • libuv
  • v8
  • gtk
  • boost/chrono
  • boost/date_time
  • boost/exception
  • boost/filesystem
  • boost/graph
  • boost/iostream
  • boost/locale
  • boost/math
  • boost/python
  • boost/random
  • boost/serialization
  • boost/signals
  • boost/system
  • boost/thread
  • boost/timer
  • boost/wave
  • fltk2
  • fltk3
となります。#include するだけで自動的にライブラリをリンクしてくれます。
mingw32 と msvc にも対応しています。linux でも動くはずです。また mingw の boost であれば libboost_system-mgw46-1_46.dll.a の様に -lboost_system ではリンクしてくれないライブラリもありますが、これも自動で補完してくれます。
ですので、vim を起動してガシガシ書いて、一度も終了せずにアプリケーションを書けてしまいます。
今後、ユーザが拡張して仕組みを増やせる様にしたいと思うと同時に、C/C++ 以外にも使えたらいいなーと思っています。

ただし以下の点に注意しておいて下さい。
quickrunex.vim は quickrun.vim の v0.6.0 ブランチを使っています。master ブランチでは動作しません。

非推奨APIである quickrun#register_hook を使っています。help にも削除される可能性があると書いてありますので、いずれ動かなくなるかもしれません。

まぁ、thinca さんの事なので、おそらく別の方法で hook を登録出来る仕組みを作ってくれると信じていますが。
宜しければどうぞ。
mattn/quickrunex-vim - GitHub

quickrun extension for C/C++

https://github.com/mattn/quickrunex-vim
Posted at by



2012/05/22


時代がWindowsハッカーに追いついてきた。

GitHub for Windows

sync Stay in sync The sync button turns the complex workflow of pulling and pushing into a single op...

http://windows.github.com/
GitHub for Windows - GitHub

Ever wish there was an easy way to get up and running with Git and GitHub on your Windows computer? ...

https://github.com/blog/1127-github-for-windows


github for windows

待ってたよ。
ダウンロードしてインストールしてみた。
login

この後、PC内から存在するリポジトリを検索してくれるけど、いくらか抜けがあったのであまりあてにならない。
ここでスキップしても後から超簡単に追加出来るので、いっそスキップしてしまって良い。

ログインすると所属の一覧なんかが出てくる。
organizations


右側のパネルにリポジトリを含むフォルダをドロップすると、リポジトリ一覧に追加される。
自分のリポジトリじゃなくても使えるし、管理しやすそうだったので僕はローカルにある物をガサーっとドロップした。

repos

絞り込みも出来るし、右のペインにREADMEも表示される。もちろんmarkdownにも対応。
filter

リポジトリ名をダブルクリックするとcommit一覧とファイル一覧が表示される。
commits

ここからブランチを切り替えたり、選択リポジトリへpushしたり、revertしたり色んな事が出来る。
あと、github上の各リポジトリに「clone in windows」というボタンが出来ていて、これをクリックするとGitHub for Windowsの管理対象に追加される。
clone in windows


ぶっちゃけ、他のGit GUIに比べたら非にならないくらい便利だし、分かりやすい。

エクスプローラのエクステンションなんかも試した事あるけど、僕は殆どgithubで管理してるのでこれがあればいらない子。
Gitリポジトリ管理ツールはこれで決まりだ。

要望を言うとしたら、少し重たいのと、filterでキーをタイプするとフォーカスを見失ってしまうことくらいかな。
Posted at by