Fav is an open souce bookmark manager that syncronizes with Github Gist. This is the source code for the extension on Chrome and Firefox.
Install the Latest Version in Chrome
- Make sure you have a NodeJS enviorment setup with
yarn
installed (npm install -g yarn
) - Clone the repository using
git clone
and install the dependencies withyarn
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 GITHUB_PERSONAL_ACCESS_TOKEN
. See .env.example
for an example. This will prefill the info on that screen
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
To run the extension in Firefox use the command yarn firefox
to run both the bundle and web-ext commands
To run the extension in Chrome use the command yarn chrome
to run both the bundle and web-ext commands
To build the extnsion for production follow the steps below for each platform
- Run
yarn build:firefox
to 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 .
NOTE: You must have a build key in your home directory named buidkey.pem
before trying to use the command yarn build:chrome
- Run
yarn build:chrome
to build the extension for chrome. - Open chrome and navigate to
chrome://extensions
and enable developer settings - In developer settings pack the extension from the
dist/
directory
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