返回排行榜

EmailThis/extension-boilerplate

JavaScriptemailthis.me/open-source/extension-boilerplate

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

chrome-extensionfirefox-addonopera-extensionextensionswebextensionsboilerplate-templategulpes6
Star 增长趋势
Star
3.3k
Forks
363
周增长
Issues
23
1k2k3k
2017年2月2020年3月2023年5月2026年7月
制品库npmnpm install extension-boilerplate
README

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

相关仓库
jaywcjlove/linux-command

Linux命令大全搜索工具,内容包含Linux命令手册、详解、学习、搜集。https://git.io/linux

MarkdownMIT Licenselinuxlinux-command
jaywcjlove.github.io/linux-command
36.5k6.6k
refined-github/refined-github

:octocat: Browser extension that simplifies the GitHub interface and adds useful features

TypeScriptnpmMIT Licensechrome-extensiongithub
31.8k1.8k
nextai-translator/nextai-translator

基于 ChatGPT API 的划词翻译浏览器插件和跨平台桌面端应用 - Browser extension and cross-platform desktop application for translation based on ChatGPT API.

TypeScriptnpmGNU Affero General Public License v3.0chatgptchrome-extension
24.9k1.8k
Max-Eee/NeoPass

Your Essential Exam Companion for the Iamneo Portal & NPTEL Exams Disguised as NeoExamShield bypass

JavaScriptnpmaichrome-extension
neopass.tech
24.8k95
openai-translator/openai-translator

基于 ChatGPT API 的划词翻译浏览器插件和跨平台桌面端应用 - Browser extension and cross-platform desktop application for translation based on ChatGPT API.

TypeScriptnpmGNU Affero General Public License v3.0chatgptchrome-extension
24.2k1.8k
darkreader/darkreader

Dark Reader Chrome and Firefox extension

TypeScriptnpmMIT Licensedark-themechrome-extension
darkreader.org
22.2k2.7k
gildas-lormeau/SingleFile

Web Extension for saving a faithful copy of a complete web page in a single HTML file

JavaScriptnpmGNU Affero General Public License v3.0browserarchive
getsinglefile.com
21.9k1.4k
AutomaApp/automa

A browser extension for automating your browser by connecting blocks

VueOthervuechrome-extension
goautoma.com/extension
21.5k2.3k
xifangczy/cat-catch

猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension

JavaScriptnpmGNU General Public License v3.0chromechrome-extension
cat-catch.94cat.com
20.8k1.8k
dailydotdev/daily

daily.dev is the personalized developer news feed and community. Get the best tech content from 1000+ sources in your browser new tab or on mobile. Free and open source.

GNU Affero General Public License v3.0chrome-extensiondeveloper-tools
daily.dev
19.9k571
Nagi-ovo/voyager

Voyager — an all-in-one enhancement suite for AI Studio, Gemini, Claude & ChatGPT: timelines, folders, prompts, usage tracking, chat export, plugins, and more. / 面向 AI Studio、Gemini、Claude 与 ChatGPT 的全能增强套件。

TypeScriptnpmGNU General Public License v3.0chat-managementchrome-extension
voyager.nagi.fun/en
19.2k628
alyssaxuu/screenity

The free and privacy-friendly screen recorder with no limits 🎥

JavaScriptnpmGNU General Public License v3.0screen-capturescreencast
screenity.io
18.4k1.5k