jQuery Plugin Registryへの登録の仕方
画像をルーレットさせるjQueryプラグインを作ったので、jQuery Plugin Registryへ登録してみた。
roulette
http://plugins.jquery.com/roulette/
jQuery Plugin Registryの概要としては、
開発者が、作ったjQuery pluginをその開発者のgithubに置き、
post-receive hookという仕組みを使って、
githubからjQuery Plugin Registryへpush内容を伝える。
そうすると自動的にjQuery Plugin Registryへ登録されたり、更新されたりするわけだ。
なので、開発者はgithubしか触らなくていい。jQuery Plugin Registryに登録したり更新内容をアップしたりする必要はない。
非常にスマートな仕組みだ。
さて、登録の仕方だが、
http://plugins.jquery.com/docs/publish/
を見ればだいたい分かる。
まず、準備としてgithubにリポジトリを作り登録したいjQueryプラグインを置く。
で、次に、github repository の"Settings"を選んで、左側の"Service Hooks"を選択。
そうすると、"AVAILABLE SERVICE HOOKS"として登録可能なサービスが出てくるので、
"jQuery Plugins"を選んで"Active"にチェックを入れ、"Update Settings"を押す。
次に、jQuery Plugin Package Manifestを作る。
作り方は以下にある。
http://plugins.jquery.com/docs/package-manifest/
要はjsonファイルを作り、githubリポジトリのトップディレクトリに配置すればよい。
jsonの名前は"pluginName.jquery.json"である必要がある。
pluginNameには自分のプラグインの名前を指定する。
名前はなんでもよいが以下のような制限がある。
Plugin names may only contain letters, numbers, hypens, dots, and underscores.
また、名前は早い者勝ちだ。
ちなみにrouletteプラグインのJSONファイルは以下のように書いた。
{
"name": "roulette",
"title": "jQuery Roulette Image",
"description": "jQuery plugin for roulette image.",
"keywords": [
"roulette",
"image"
],
"version": "1.0.9",
"author": {
"name": "Akira Kuriyama",
"url": "http://d.hatena.ne.jp/shepherdMaster"
},
"licenses": [
{
"type": "MIT",
"url": "https://github.com/akira-kuriyama/roulette.js/blob/master/MIT-LICENSE.txt"
}
],
"bugs": "https://github.com/akira-kuriyama/roulette.js/issues",
"demo": "http://demo.st-marron.info/roulette/sample/demo.html",
"dependencies": {
"jquery": ">=1.8"
}
}さて、jsonファイルを頑張って書いても内容が間違っていると登録/更新されない。
なので、
http://plugins.jquery.com/docs/publish/
の"Validate Your Manifest File Here"からファイルを検証しよう。
"Congratulations, your manifest file is valid."と表示されれば内容は合っている。
最後はgit で tagを作ってpush すれば終わりだ。
tagをpushしないといくらコミットしてもjQuery Plugin Registryには登録/更新されない。
gitのtagの付け方は以下のページを見ればよい。
http://git-scm.com/book/ja/Git-%E3%81%AE%E5%9F%BA%E6%9C%AC-%E3%82%BF%E3%82%B0
tagをつけるコマンドは以下のような感じだ。
git tag -a v1.0.0 -m 'Roulette plugin release' git push origin v1.0.0
ここで、注意点がある。
タグのversionと、Manifest JSONファイル内のversionのが合ってないと登録/反映されない。
ここまで頑張ったなら登録/反映されるはずだが、
それでも登録/反映されない場合は、
http://plugins.jquery.com/docs/publish/
"Troubleshooting" の項目にerror log というリンクがあるので、
ここを見てみよう。自分のpluginのエラーが出ているかもしれない。
また登録/反映には数分かかる。
実際やってみるとJSONファイルの書き間違えでハマった以外はすんなりいけた。
jQueryプラグイン開発者は、これまでの大変だったプラグイン管理が非常に楽になると思う。