Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
3
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

@fnobi

jQueryのPlugin Registryは、githubのmushupであった。

registry公開、やってみました

しばらく前からやってみたい! と思っていた、
jQuery Plugin registry (公式)でのプラグイン公開、やってみました。

いやはや、簡単というか、手間がないだけに戸惑うというか。

まさか、githubへの操作だけで公開まで終わるとは
思ってませんでした。titleはそういう意図です。

スムーズにいけば、plugins.jquery.comに1度もアクセスしなくても
公開作業が終わってしまいます。

参考

ポイント

記事を書き始めてみたものの、手順の説明は↑の記事が文句なく分かりやすいので、
まずはかいつまんでポイントだけを。

  • プラグインというか、プラグインの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と相性良く連携してる感じはしますね。

また何か作ったらやってみます。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
3
Help us understand the problem. What are the problem?