Fav is an open souce bookmark manager that syncronizes with Github Gist. This is the source code for the extension on Chrome and Firefox.
- Make sure you have a NodeJS enviorment setup with
npm install -g yarn)
- Clone the repository using
git cloneand install the dependencies with
You need a personal access token in order to authenticate with Github. For development, because memory is always wiped, put your token in an env and assign it to the variable
.env.example for an example. This will prefill the info on that screen
Running the Extension
Before you Run
Prior to running
yarn chrome and
yarn firefox for the first time, run
yarn bundle and then quit once the bundle is built.
If you do not do this then both these commands will fail
Running in Firefox
To run the extension in Firefox use the command
yarn firefox to run both the bundle and web-ext commands
Running in Chrome
To run the extension in Chrome use the command
yarn chrome to run both the bundle and web-ext commands
Building the Extension
To build the extnsion for production follow the steps below for each platform
yarn build:firefoxto build the extension with the firefox target.
Releasing for Production: To build a version to release to the app store, run
yarn build:firefox then upload the zip file found in web-ext-artifacts
Uploading Source Code: The easiest way of uploading the source code for release is to run
yarn clean to remove any temorary files then running
zip -r extension-source.zip .
Building for Chrome
NOTE: You must have a build key in your home directory named
buidkey.pem before trying to use the command
yarn build:chrometo build the extension for chrome.
- Open chrome and navigate to
chrome://extensionsand enable developer settings
- In developer settings pack the extension from the
Authentication is done via personal access tokens for both Chrome and Firefox. We attempted to use Github Oauth2 for a while but it proved to not be stable enough at this time.
- TARGET (chrome | firefox): Which browser to bundle for
- NODE_ENV (development | production): Enviorment to bundle for
- GITHUB_PERSONAL_ACCESS_TOKEN: Your access token