All Projects → EmailThis → Extension Boilerplate

EmailThis / Extension Boilerplate

Licence: mit
⚡️ A template for building cross browser extensions for Chrome, Opera & Firefox.

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects
HTML
75241 projects

Projects that are alternatives of or similar to Extension Boilerplate

Mue
Fast, open and free-to-use new tab page for modern browsers
Stars: ✭ 56 (-98.11%)
Mutual labels:  chrome-extension, firefox-addon, webextensions, opera-extension
Web Extension Starter
🖥🔋Web Extension starter to build "Write Once Run on Any Browser" extension
Stars: ✭ 987 (-66.63%)
Mutual labels:  chrome-extension, firefox-addon, opera-extension
Read Aloud
An awesome browser extension that reads aloud webpage content with one click
Stars: ✭ 444 (-84.99%)
Mutual labels:  chrome-extension, firefox-addon, webextensions
Send To Vlc
A Webextension to send streamble media sources to VLC (VideoLAN) media player
Stars: ✭ 51 (-98.28%)
Mutual labels:  chrome-extension, firefox-addon, opera-extension
quickjira
🚤 📂 Quickly access the JIRA of your choice by typing the ticket id
Stars: ✭ 65 (-97.8%)
Mutual labels:  firefox-addon, webextensions, opera-extension
Browser Addon
Kee adds free, secure and easy password management features to your browser which save time and keep your private data more secure.
Stars: ✭ 386 (-86.95%)
Mutual labels:  chrome-extension, firefox-addon, webextensions
Turbo Download Manager
a multi-browser download manager with multi-threading support
Stars: ✭ 282 (-90.47%)
Mutual labels:  chrome-extension, firefox-addon, opera-extension
Github Hovercard
Neat hovercards for GitHub.
Stars: ✭ 1,655 (-44.05%)
Mutual labels:  chrome-extension, firefox-addon, opera-extension
Ui Tool
UI for create-web-ext
Stars: ✭ 104 (-96.48%)
Mutual labels:  chrome-extension, firefox-addon, webextensions
Ccsearch Browser Extension
Cross-Browser extension to search, filter and use images in the public domain and under Creative Commons licenses.
Stars: ✭ 92 (-96.89%)
Mutual labels:  chrome-extension, firefox-addon, opera-extension
Bulkurlopener
Bulk URL Opener is an application that provides the user with multiple utilities to help with managing and using large amounts of urls
Stars: ✭ 29 (-99.02%)
Mutual labels:  chrome-extension, firefox-addon, opera-extension
Wallabagger
Chrome / Firefox / Opera plugin for wallabag v2.
Stars: ✭ 202 (-93.17%)
Mutual labels:  chrome-extension, firefox-addon, opera-extension
Save To The Wayback Machine
Browser extension for quickly saving web pages to the Internet Archive's Wayback Machine.
Stars: ✭ 83 (-97.19%)
Mutual labels:  chrome-extension, firefox-addon, opera-extension
Asciidoctor Browser Extension
⚪️ An extension for web browsers that converts AsciiDoc files to HTML using Asciidoctor.js.
Stars: ✭ 152 (-94.86%)
Mutual labels:  chrome-extension, firefox-addon, opera-extension
Jsdemos
Home page for all listed extensions, if you have any suggestions/bugs, please file an issue in this repo
Stars: ✭ 14 (-99.53%)
Mutual labels:  extensions, firefox-addon, webextensions
tst-bookmarks-subpanel
This is a Firefox addon providing the "Bookmarks" subpanel for Tree Style Tab.
Stars: ✭ 14 (-99.53%)
Mutual labels:  firefox-addon, webextensions
man-in-the-middle
Modify requests, inject JavaScript and CSS into pages
Stars: ✭ 74 (-97.5%)
Mutual labels:  extensions, webextensions
security.txt
ℹ️ Cross-platform browser extension for discovering security.txt and humans.txt files.
Stars: ✭ 15 (-99.49%)
Mutual labels:  firefox-addon, opera-extension
slack-channels-grouping
Chrome extension. Grouping slack channels.
Stars: ✭ 69 (-97.67%)
Mutual labels:  firefox-addon, opera-extension
frontenso-11ty-starter
Production-ready 11ty+Gulp+Webpack Starter that features Nunjucks, SASS, TailwindCSS (with JIT complier), and ESNext.
Stars: ✭ 24 (-99.19%)
Mutual labels:  gulp, boilerplate-template

Extension Boilerplate

A foundation for creating browser extensions for Chrome, Opera & Firefox.

Now that Firefox supports WebExtensions, it has become a lot easier to build browser extensions/addons for multiple browsers without duplicating the codebase. This project serves as a sensible starting point to help you get started.

I have extracted this from the browser extensions that I built for my side-project, Email This.

Side note: Do check out Email This. It is a simpler alternative to bookmarking tools like Pocket, Readability & Instapaper. Email This will remove ads & distractions from an article and send you a nice email with just the text/images. No need to install any additional applications or login to another app just to access your bookmarks. The Chrome Extensions is available on the Chrome Web Store.

Features

Write once and deploy to Chrome, Opera & Firefox
Based on WebExtensions. It also includes a tiny polyfill to bring uniformity to the APIs exposed by different browsers.
Live-reload
Your changes to CSS, HTML & JS files will be relayed instantly without having to manually reload the extension. This ends up saving a lot of time and improving the developer experience.
Sensible starting point
This comes with a gulp based workflow that converts modern ES6 JavaScript and SCSS to JS/CSS. Scripts are transpiled using Babel and bundled using Browserify. Sourcemaps are available for both JS and SCSS.
Sketch (.sketch) assets for icons and promo images
A .sketch file is included in the resources directory. This has all the icons and promo images that will be needed while uploading the extensions to the app stores.
Easily configurable and extendable
The gulpfile is easily understandable and configurable. If you want to add additional tasks or remove un-used ones, you can easily tweak that file to suit your needs.
Platform specific & Environment specific variables.
You might need to specify different data variables based on your environment. For example, you might want to use a localhost API endpoint during development and a production API endpoint once the extension is submitted to the appstore. You can specify such data in the json files inside `config` directory.
You can also set custom data variables based on the platform (different variable for Chrome, FF, Opera).

Installation

  1. Clone the repository git clone https://github.com/EmailThis/extension-boilerplate.git
  2. Run npm install
  3. Run npm run build

Alternately, if you want to try out the sample extension, here are the download links. After you download it, unzip the file and load it in your browser using the steps mentioned below.

Load the extension in Chrome & Opera
  1. Open Chrome/Opera browser and navigate to chrome://extensions
  2. Select "Developer Mode" and then click "Load unpacked extension..."
  3. From the file browser, choose to extension-boilerplate/build/chrome or (extension-boilerplate/build/opera)
Load the extension in Firefox
  1. Open Firefox browser and navigate to about:debugging
  2. Click "Load Temporary Add-on" and from the file browser, choose extension-boilerplate/build/firefox

Developing

The following tasks can be used when you want to start developing the extension and want to enable live reload -

  • npm run chrome-watch
  • npm run opera-watch
  • npm run firefox-watch

Packaging

Run npm run dist to create a zipped, production-ready extension for each browser. You can then upload that to the appstore.

TODO

  • Add support for Safari
  • Add Firefox & Opera Promo images
  • Add sample screenshot templates
  • Write a guide for using config variables & JS preprocessor

This project is licensed under the MIT license.

If you have any questions or comments, please create a new issue. I'd be happy to hear your thoughts.

Bharani, Email This

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].