Development Quick Start
- Node.js (tested on v18)
- NPM (tested on v8.6.0)
- Chrome (>= v88), has only been tested here
Note: Even thought the extension uses the webextension-pollyfill
library, it has currently only been tested on Chrome. However, it should work on other browsers like Firefox, Opera, Edge, etc.
git clone https://github.com/MitchellMarkGeorge/TabButler
npm install
If you are developing for Chrome/Chromeium browsers, use
npm run start:chrome
If you are developing for Firefox, use
npm run start:firefox
If you are developing for both Chrome and Firefox, use
npm run start:all
Note: For minified production build, use respective npm run build
instead.
- Open
chrome://extensions
- Enable Development mode
- Click Load Unpacked button
- Navigate to repository
- Select
dist/chrome
directory
- Open
about:debugging
- Click the
This Firefox
options - Click the
Load Temporary Add-on
button - Navigate to repository
- Select the
manifest.json
file in thedist/firefox
directory
Usage
Shortcut | Description |
---|---|
ctrl + shift + space |
Toggle tab search in current page |
alt + shift + space |
Toggle tab actions in current page |
Note: For Mac, cmd
is used instead of ctrl
and option
is used insead of alt
.
On Windows and Linux, the Tab Actions modal is toggled with alt
+ shift
+ K
- TypeScript (both content and background script)
- Web Extensions Polyfill (makes the extension cross-platform)
- React (for the actual search modal in content script)
- CSS (for some minor styling in content script)
We use SemVer for versioning.
Note: Because of the way that browser extensions do versioning, the "version"
field in the manifest files are used for internal puposes and do not represent the actual version of Tab Butler.
To refer to the actual version, look either to the "version_name"
field in the manifest file or the "version"
field in the package.json
(this is what the user will actually see).
- Mitchell Mark-George - Initial work
- Dylan Player - Readme development and documentation
See also the list of contributors who participated in this project.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
This project is licensed under the MIT License - see the LICENSE.txt file for details