1. fnobi

    Posted

    fnobi
Changes in title
+jQueryのPlugin Registryは、githubのmushupであった。
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,125 @@
+
+## registry公開、やってみました
+
+しばらく前からやってみたい! と思っていた、
+[jQuery Plugin registry (公式)](http://plugins.jquery.com/)でのプラグイン公開、やってみました。
+
+- [jQuery – scroll turn | jQuery Plugin Registry](http://plugins.jquery.com/scrollTurn/)
+
+いやはや、簡単というか、手間がないだけに戸惑うというか。
+
+まさか、**githubへの操作だけで公開まで終わる**とは
+思ってませんでした。titleはそういう意図です。
+
+スムーズにいけば、plugins.jquery.comに1度もアクセスしなくても
+公開作業が終わってしまいます。
+
+## 参考
+
+- [jQuery Plugin Registryにプラグインを登録する | jekylog](http://fingaholic.github.com/posts/2013-01-26-jquery-plugin-registry.html)
+ - 細かい説明は、ここを見た方が早いです。分かりやすかた。
+
+## ポイント
+
+記事を書き始めてみたものの、手順の説明は↑の記事が文句なく分かりやすいので、
+まずはかいつまんでポイントだけを。
+
+- プラグインというか、プラグインのgithubレポジトリを登録・公開する形
+- post-receive hookを使って、レジストリとgithubを連携・同期
+- versionはgitのtagと対応させている
+- Manifestというのを書く
+
+「できる限り、jQuery側でデータを持たない!!」という思想をひしひしと感じますね。
+
+では一応、手順と気になったところを書いていきます。
+
+## 手順
+### 1. 作ったpluginを、githubに投入する。
+この段階では、本当にただぶち込んでおくだけ、という感じ。
+
+pluginそのものを、どういう形で入れておくかは自由だし、
+レポジトリの名前にも制約はなし。
+
+このplugin registryには、pluginのファイルではなく、
+あくまで**pluginのレポジトリを登録する**のである。
+
+たぶん、jQueryのかけらもないレポジトリでも、
+後述のManifestさえ書けば登録できるんじゃないかしら。(未確認)
+
+### 2. レポジトリのpost-receiveを設定
+post-receiveというのは、githubが提供しているサービスで、
+***「このレポジトリにpushがあった時、指定されたURLを叩いて教えてあげるよ!!」***
+というやつです。
+
+例えば、この「指定されたURL」に自分の作ったAPIを置いておいて、
+
+- そのきっかけでgit pullして、常にremoteと一致するディレクトリ作るとか、
+- そのきっかけでTwitter API叩いて「pullしたぜ!」ってつぶやくとか、
+
+いろいろできるわけです。
+
+そしてpulgin registryは、このpost-receiveのURLに
+http://plugins.jquery.com/postreceive-hook
+を指定してもらうことで、registryの状態とレポジトリの状態を同期してるわけです。
+
+おもしろいのは、事実上
+**post-receiveを登録 = registryへの登録**
+となっていることです。
+
+こののち、正しいManifestファイルがpushされ、
+対応したtagがpushされたら、
+いつの間にかregistryにURLができてます。おそろしや……!
+
+
+### 3. Manifestを書いてレポジトリのルートに置く
+
+npmのpackage.jsonみたいなものですね。

+ファイル名は**(plugin名).jquery.json**にする必要があります。
+
+- [http://plugins.jquery.com/docs/package-manifest/#sample](http://plugins.jquery.com/docs/package-manifest/#sample)
+
+基本的には、このサンプルを空気読んで書き直していけばけばOK!
+ですが、いくつか注意する項目が。
+
+#### name:
+plugin名です。Manifestのファイル名と対応している必要がありますし、
+
+そのままURLにもなるので、大事です。
+
+#### title:
+registryページのtitleに使われます。
+
+#### download:
+ダウンロード用のURLです。
+
+registryページの「Download now」は、ここに直リンクされるので、
+zipの置き場所とかをそのまま貼っておいた方が便利です。
+
+#### version:
+
+versionです。
+次の「tagを切る」ときには、ここと一致したtagを切らなくちゃいけません。
+
+### 4. tagを切る
+version名のタグを切ります。これはまぁそれだけです。
+その時点でのレポジトリの状態が登録されることになるので、
+見直しはこれより前に!
+
+```
+$ git tag 0.0.1
+$ git push origin --tags
+```
+
+### 5. おわり
+ここまでうまくいっていれば、registryにURLができてます。
+
+
+## まとめ
+
+記事書きながら、
+いま公開したpluginのManifestとかコードとかが怪しい気がしてきた…。
+
+まぁ、なんだか作業自体が直接的じゃなくて分かりづらいんですが、
+githubと相性良く連携してる感じはしますね。
+
+また何か作ったらやってみます。