registry公開、やってみました
しばらく前からやってみたい! と思っていた、
jQuery Plugin registry (公式)でのプラグイン公開、やってみました。
いやはや、簡単というか、手間がないだけに戸惑うというか。
まさか、githubへの操作だけで公開まで終わるとは
思ってませんでした。titleはそういう意図です。
スムーズにいけば、plugins.jquery.comに1度もアクセスしなくても
公開作業が終わってしまいます。
参考
-
jQuery Plugin Registryにプラグインを登録する | jekylog
- 細かい説明は、ここを見た方が早いです。分かりやすかた。
ポイント
記事を書き始めてみたものの、手順の説明は↑の記事が文句なく分かりやすいので、
まずはかいつまんでポイントだけを。
- プラグインというか、プラグインの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**にする必要があります。
基本的には、このサンプルを空気読んで書き直していけばけば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と相性良く連携してる感じはしますね。
また何か作ったらやってみます。