Announcing the jQuery Plugin Registry

Posted on by

They say good things come to those who wait, and today we’re happy to end the waiting and unveil the jQuery Plugin Registry. We’ve worked long and hard to put together a brand new site that will serve to reduce the fragmentation and distribution problems that can be obstacles for plugin developers and consumers. We’ve also put an emphasis on remedying a number of the issues that plagued the old jQuery plugins site, especially with respect to workflows for contribution of both plugins and enhancements to the repository itself. The goal is to make sharing and browsing quality jQuery plugins a pleasant experience for everyone!

jQuery Plugin Registry: plugins.jquery.com
Source/Documentation/Issues: github.com/jquery/plugins.jquery.com

Downloading and Using Plugins

If you’re looking to just browse and use jQuery plugins in your application or site, not a lot has changed. Plugins each have basic pages that provide a link to the plugin download, as well as past versions, documentation, issue tracker, and source code repository. Download links may serve you a zip file with the plugin assets, or link to the best resource to download the build of the plugin you’re looking for.

Registering Your Plugin

Registering your plugin and having it listed on the site is not a complicated process; however, it assumes a number of aspects of the plugin development process, including using version control (git) and providing documentation on how to use it. You also have to include a plugin.jquery.json package manifest file, which provides all the information used to describe your plugin on the registry, including the version number, as well as the locations of the files and the documenation.

To register and publish your plugin, you’ll need to push your code to a public repository on GitHub, and add our post-recieve webhook URL (http://plugins.jquery.com/postreceive-hook) to your repository. The next time you push a semver tag, we’ll take care of registering the plugin name and updating its page on the site. When you’re ready to release the next version of your plugin, just tag and push again!

Users can download your plugin however you’d like them to. You can link directly to a JavaScript file for your users to save into their project, take advantage of the GitHub’s built-in zip file distribution, or even link to a custom build tool you may have online for further configuration.

That’s it — no uploading files to us, no wading through forms, and no manual updates for new versions.

(We plan to support other sites in the future! However, we’ve only been able to implement integration with GitHub at this point. If you’d like to assist with adding services, read on!)

Contributing to the Plugin Registry

Our work building the registry has informed and overlapped with a major initiative we’ve taken to open-source all of the content and design of all jQuery web sites. You’ve already seen part of this launch with the new api.jquery.com and jqueryui.com, and we’ll be talking more about this initiative later this week. As it relates to the Plugin Registry, it means that everything from the site documentation to the styles and templates to the post-receive hook itself is open source. So if you notice bugs or have ideas, you can raise and track issues and file your fixes as pull requests. You can even run a local instance of the site to iterate and test your changes.

Of course, if you’re a plugin author, you can also contribute by publishing your plugins to the registry. Even if you haven’t written plugins of your own, you can help out the authors of your favorite plugins by submitting pull requests that add a plugin.jquery.json manifest to their plugin’s repository.

Be Excellent To Each Other

We know this site has been long in the making, and we’re excited to finally be able to open it up for you to use, whether you’re looking for plugins to use in your app or you want to share your work with other developers. We’re looking forward to seeing lots of new plugins and old favorites make their way into the registry, so if you’re a plugin developer, we encourage you to get started as soon as you can with the registration process.

Name registration is on a first-come, first-served basis, and you can’t reserve a name prior to releasing a plugin. However, we recognize there is a huge ecosystem of jQuery plugins already out there, so especially in these early days of the registry’s existence, we do ask that authors reserve judgment and respect for other popular, widely-adopted plugins that may already have a reasonable historical claim to a particular name, even if it has not yet been registered. By and large, we hope that this will discourage “land grab” registrations, but we may step in to manually resolve a situation, should a particularly egregious case arise. “Squatting” on a plugin name is similarly disallowed, and may result in removal without warning!

(Translation: Ben Alman’s BBQ (Back Button & Query) plugin has long been a popular tool for working with the location.hash for navigation. Now is NOT a good time to create and register a sweet plugin for marking up quotations and call it the jQuery BBQ (<bold>,<blockquote>, & <q> plugin!)

That’s All, Folks

Thanks for your patience. Now go forth and publish! Should you encounter any trouble, please file issues, join us in the #jquery-content channel on freenode, or send an e-mail to plugins at jquery dot com

23 thoughts on “Announcing the jQuery Plugin Registry

  1. This looks like a great start, quite excited to see this develop into something that makes developing with jQuery significantly nicer.

    One of my major issues with the old plugins site was a complete lack of filtering, ranking and social proof.

    There are a huge number of jQuery plugins available – and there are usually loads that appear to do the same thing. If I need a new plugin for something – how do I know which one to choose? How do I find out which ones are the best/quickest/lightest/etc.., without downloading and testing all of them by hand every time – along with tones of Googling?

    You couldn’t – you just had to try out loads, google loads and slowly build up a set of favourite plugins that you trusted.

    So far, the new plugins site isn’t much better at this.

    It needs – on the homepage and index pages – user ratings, download counts, likes, G+’s, etc.. for each plugin. Not necessarily that, but some kind of ranking/social proof whenever you display a plugin name/link – to allow people to see the communities estimation of which plugins are the ‘best’ – and then you need to be able to filter/sort by this when searching.

    Was thinking about raising an issue on Github (yay!) – but is this too vague?

  2. Great news. I am excited to learn about some new plugins and try out some new things. I am just getting a solid handle on the basics and am ready to go further.

    Excited to explore them.

  3. Yeah, right. Another registry for Javascript files and another json package description. Why not use npm?

    jQuery project should help to fix this mess and not add another “standard”.

  4. Please make it possible to submit plugins without using github. Plugins that are not open-sourced there just can’t be indexed right now.

  5. It would be great to be able to find out why a plugin isn’t getting added, say if the manifest fails to conform to the minimum requirements? Perhaps email could be required but not published by default and a failure message could be delivered that way?

    As to Duncan’s point of vetting, github stars/forks are/would be a perfect metric for this, and can be pulled at publish time via the gh API.

  6. Is it just me, or is there no actual way to know if you did everything correctly? I just submitted a plugin (maybe 10 mins ago) and it’s not appearing on the site, but ones that were published “8 hours ago” are appearing. I am thinking I must have done something wrong, despite following the instructions to the letter. Unfortunately there’s nothing telling me if it went through or not. Even the “Test Hook” button on GitHub does nothing when you click it…

  7. Nice to see these new sites go live, but why, why, why are they so big and bloated in terms of their design? That interferes with quickly getting in and finding the answer. Is there a reason this design was accepted?

  8. Love it. Also want to say it looks good on my phone. Got bored at a birthday party and it kept me busy for awhile. :-)