GithubHelp home page GithubHelp logo

y31 / webextensions-examples Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mdn/webextensions-examples

0.0 2.0 0.0 2.28 MB

Example Firefox add-ons created using the WebExtensions API

Home Page: https://developer.mozilla.org/en-US/Add-ons/WebExtensions

License: Mozilla Public License 2.0

CSS 5.35% HTML 13.45% JavaScript 79.24% Python 1.92% Batchfile 0.04%

webextensions-examples's Introduction

webextensions-examples

https://github.com/mdn/webextensions-examples

Maintained by the MDN team at Mozilla.

WebExtensions are a way to write browser extensions: that is, programs installed inside a web browser that modify the behaviour of the browser or of web pages loaded by the browser. They are built on a set of cross-browser APIs, so WebExtensions written for Google Chrome or Opera will in most cases run in Firefox or Edge too.

The "webextensions-examples" repository is a collection of simple but complete and installable WebExtensions. You can use the examples to see how to use the WebExtensions APIs, and as a starting point for your own WebExtensions.

The examples are made available under the Mozilla Public License 2.0.

How to use "webextensions-examples"

To use the repository, first clone it.

Each example is in its own top-level directory. Install an example in your favourite web browser (installation instructions are below), and see how it works. Each example has its own short README explaining what it does.

To find your way around a WebExtension's internal structure, have a look at the Anatomy of a WebExtension page on MDN.

To use these examples in Firefox, you should use the most recent release of Firefox. Some examples work with earlier releases.

A few examples rely on APIs that are currently only available in pre-release versions of Firefox. Where this is the case, the example should declare the minimum version that it needs in the strict_min_version part of the applications key in its manifest.json file.

Installing an example

There are a couple ways to try out the example extensions in this repository.

  1. Open Firefox and load about:debugging in the URL bar. Click the Load Temporary Add-on button and select the manifest.json file within the directory of an example extension you'd like to install. Here is a video that demonstrates how to do this.
  2. Install the web-ext tool, change into the directory of the example extension you'd like to install, and type web-ext run. This will launch Firefox and install the extension automatically. This tool gives you some additional development features such as automatic reloading.

Index of examples

annotate-page
Sidebar demo.
apply-css
Inserts CSS into a web page.
beastify
Adds a browser action with a popup and injects a script into a web page.
bookmark-it
Adds and removes bookmarks.
borderify
Injects scripts into pages that match a URL pattern.
chill-out
Page action demo, plus some features of alarms and tabs.
commands
Defines keyboard shortcuts.
context-menu-copy-link-with-types
Advanced clipboard interaction, including copy to clipboard from a background page.
context-menu-demo
Adds items to the context menu.
contextual-identities
Contextual identities (containers) demo.
cookie-bg-picker
Demo using cookies, browser actions with popups, and content scripts.
embedded-webextension-bootstrapped
An embedded WebExtension in a bootstrapped Firefox add-on.
embedded-webextension-sdk
An embedded WebExtension in an Add-on SDK Firefox add-on.
emoji-substitution
Injects content scripts into web pages matching a given URL pattern.
eslint-example
How to configure a WebExtension with eslint.
favourite-colour
Demo of storage and options(settings) pages.
firefox-code-search
Customizes the behavior of the browser's address bar.
forget-it
Clears stored browsing data.
google-userinfo
Authenticates the user with Google.
history-deleter
Clears browsing history entries by domain.
latest-download
Displays the most recently downloaded item.
list-cookies
Lists all cookies in the active tab.
mocha-client-tests
Tests the add-on using Mocha.
native-messaging
Exchanges messages between the add-on and a Python program installed on the user's computer.
navigation-stats
Collects and displays statistics for sites the user navigates to.
notify-link-clicks-i18n
Displays localized notifications when the user clicks on links.
open-my-page-button
Opens a page bundled with the add-on, when the user clicks a toolbar button.
page-to-extension-messaging
Exchanges messages between a web page and the add-on.
permissions
Demo showing how to ask the user for additional permissions at runtime.
quicknote
Note-taking add-on: shows how to store data, and how to use browser actions and popups.
react-es6-popup
How to use React and ES6 in an add-on.
selection-to-clipboard
Basic clipboard example: copying to the clipboard in a content script.
stored-credentials
Performs HTTP basic authentication using a stored username and password.
tabs-tabs-tabs
Demo of various tabs functions: open, close, move, etc.
top-sites
Replaces the "new tab" page with links to pages that the user often visits.
user-agent-rewriter
Intercepts and modifies HTTP requests.
webpack-modules
Uses webpack to package npm modules for use in an add-on.
window-manipulator
Demo of various windows functions: create, close, resize, etc.

Learn more

To learn more about developing WebExtensions, see the WebExtensions documentation on MDN for getting started guides, tutorials, and full API reference docs.

Problems?

If you find a problem, please file a bug.

If you need help, email the dev-addons mailing list or contact the WebExtensions team in the #webextensions IRC channel on irc.mozilla.org.

Contributing

We welcome contributions, whether they are whole new examples, new features, bug fixes, or translations of localizable strings into new languages. Please see the CONTRIBUTING.md file for more details.

webextensions-examples's People

Contributors

anaran avatar aterranova-bv avatar bobsilverberg avatar bwinton avatar capaci avatar chrisdavidmills avatar evolighting avatar flavio88 avatar freaktechnik avatar hmelenok avatar hrily avatar kartik95 avatar kumar303 avatar lv7777 avatar makyen avatar matthewjwein avatar minj avatar nistath avatar rahulyesantharao avatar rob--w avatar rpl avatar sebastianz avatar shubheksha avatar sneakypete81 avatar teoli2003 avatar wilkinv avatar xfq avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.