The "webextensions-examples" repository is a collection of simple but complete and installable WebExtensions.
We're really happy to accept contributions, either as new examples or as improvements to the existing examples. This file lists some general guidelines to help contributors write useful examples.
There are many ways you can help improve this repository! For example:
- write a brand-new example: for example, you might notice that there are no examples highlighting the cookies API.
- extend an existing example: for example, you might notice that the tabs-tabs-tabs example uses a lot of tab manipulation APIs, but does not cover tabs.setZoom().
- fix a bug: we have a list of issues, or maybe you found your own.
- contribute a translation: find an example with a
_locales
directory in it, and create a translation of the example's localizable strings into a new language.
Examples should:
- have a clear function, that's easy to explain and understand
- focus on demonstrating how to use the WebExtension technology, minimizing any complex logic that's extraneous to the WebExtension technology itself
- demonstrate good-practice use of the technology, even at the expense of extra complexity
- include useful optional manifest.json keys:
description
icons
homepage_url
strict_min_version
in theapplications
key
Finally, note that the examples are all made available under the Mozilla Public License 2.0, so any contributions must be compatible with that license. If you're not sure about that, just ask.
If you need help with writing a WebExtension, email the dev-addons mailing list or contact the WebExtensions team in the #webextensions IRC channel on irc.mozilla.org.