Vimpusher という Web サービスをリリースしました
明けましておめでとうございます。これは Vim Advent Calendar 2011 の35日目の記事です。
Vim Advent Calendar 2011 に参加するにあたって、Vimpusher という Web サービスを作ってみました。
これは何か
元々、http://vimpi.net/ という Web サービスがあって、
僕はこのサイトを昔知ったときに心が踊りました。
Vimpi は Vim のプラグインを watch するというコンセプトで作られていました。
Vimpusher は基本的には同じなのですが、
自動で自分の使っているプラグインが更新されたらいいな、と思って作ってみました。
@masudaK さんも Vimと親しくなるある「キッカケ」と、それからの付き合い方について - カイワレの大冒険 Third で言われてますが、最近は github で .vimrc (dotfiles) を管理されている方も多いと思います。
また vundle, neobundle, pathogen などのプラグインマネージャーがでてきたことで、
プラグインの管理が以前と比べて格段に楽になりました。
- このサービスは、どこか public な場所に .vimrc を公開していて (github とか)
- pathogen, vundle, neobundle, pathogen などのプラグインマネージャーを使っている人
を対象にした非常にニッチなサービスなのですが、
Vimpusher で .vimrc を登録しておけば、毎日 (か適当なタイミングで) クロールして、
人気のあるプラグインが分かるようになることを目論んでいます。
ということでもし上記条件にあてはまる方は登録して頂けるとありがたいです。
Vimpusher という名前
pusher とは麻薬の密売人みたいな意味があるということで
vim のヤバいプラグインが分かるような意味でつけてみました
間に合わなかった機能
本当はいろんなことを考えてて、
- 使い始めたけど、使うのをやめたプラグインの可視化
- プラグイン自体の利用数が減るのが分かったりする
- グラフ
- プラグイン自体の利用数が減るのが分かったりする
- follow とかできて、気になる人が使い始めた新しいプラグインが分かる
-
- github 的なタイムラインとか
-
- coderwall 的な何か
はい、全然間に合いませんでした。
あと、基本的なページングとかも実装されてないので、
本当にとりあえずできたっていう感じです。
作りはじめて気づいた仕様
Vim Scripts というサイトが vim.org で公開されているプラグインの mirror を
github に作っているのですが、これがあるおかげで、github に
Bundle 'FuzzyFinder'
とか github にリポジトリがなくてもインストールできるのですが、
逆にこれが理由で、オリジナルの URL が2個存在することになります。
例えば、https://github.com/tpope/vim-rails が開発中の最新のリポジトリで、
https://github.com/vim-scripts/rails.vim はミラーですが、
これが同じものを指すということをプラグラムで自動的にするのは難しく
今のところこれは別のプラグインということになっています。
ただ、グループという概念をいれて、
https://github.com/tpope/vim-rails は http://github.com/vim-scripts/rails.vim に紐づくよ
ということをできるように考えました。(まだ UI は実装してないのでひもづけることはできません)
例えば、https://github.com/Shougo/neocomplcache とミラーでは、最新版を見てるかどうか
という違いはあるので、これは別のものと考えてもいいのかもしれませんが、
とりあえず時間的に間に合わなかったので、あとで考えることにしました。
コード
- GitHub - banyan/Vimpusher で MIT ライセンスで公開しています
- @hell2u さんの SCSS のテンプレート (https://github.com/hail2u/hail2u.net-styles) を使わせていただきました。ありがとうございます
- 今のところ、dotcloud の Beta Tester Pro Plan で運用しています。
言い訳
本当に時間がなくて、最後 HTML とかインラインで CSS がりがり書いたりして、
テストも書けてない箇所が多く、そこは残念です。
ただこういう機会がないと一応リリースまでも持っていけなかったと思うので、
末端 vimmer である僕に機会を与えてもらってありがたいです。
粛々ときれい直していきたいなーと思っておりますので、
バグとか、何か要望等ありましたら @banyan か github のほうで連絡頂ければと思います。