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/TabButlernpm installIf you are developing for Chrome/Chromeium browsers, use
npm run start:chromeIf you are developing for Firefox, use
npm run start:firefoxIf you are developing for both Chrome and Firefox, use
npm run start:allNote: 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/chromedirectory
- Open
about:debugging - Click the
This Firefoxoptions - Click the
Load Temporary Add-onbutton - Navigate to repository
- Select the
manifest.jsonfile in thedist/firefoxdirectory
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
