diff --git a/README.md b/README.md new file mode 100644 index 0000000..e03ea0a --- /dev/null +++ b/README.md @@ -0,0 +1,38 @@ +# Browser Router + +Open your desired browser when clicking on a link based on the URL. This is a desktop application which registers itself +as the default browser. When clicking on a link in an application - e.g. your email program - you can specify rules +expressed in JavaScript regular expressions to decide based on the URL which browser should be opened. + +This macOS appication is open-source and based on Electron. + +## Installation + +TBA + +After installation you need to run `Browser Router` once manually. You will be prompted if the application should be +registered as default browser. Confirm this to start using `Browser Router`. + +## Configuration + +This is unfortunately still a bit complicated. In your Finder select "Browser Router" in "Applications" folder. +Right click and select "Show Package Contents". + +Navigate to `Contents/Resources/app/src`. Open `config.json` and edit the content or add a new entry. + +`default`: if no rules are matched, this browser is used. + +`url`: should be a JavaScript RegExp expression to match an URL. You can test your regular expression e.g. online here https://www.regexpal.com/ + +### Recognized Browsers +| Keyword | Browser | +|---------------|----------------------| +| chrome | Google Chrome | +| chrome-canary | Google Chrome Canary | +| chromium | Chromium | +| firefox | Firefox | +| opera | Opera | +| safari | Safari | +| vivaldi | Vivaldi | + +If your browser is missing, please create a new issue. diff --git a/package.json b/package.json index 7b87cc8..5362da7 100644 --- a/package.json +++ b/package.json @@ -8,7 +8,9 @@ "start": "ENV=DEV electron-forge start", "package": "electron-forge package", "make": "electron-forge make", - "lint": "eslint src" + "lint": "eslint src", + "prepublish": "yarn run lint", + "publish": "electron-forge publish --auth-token=$GITHUB_TOKEN" }, "keywords": [ "Electron", @@ -22,12 +24,20 @@ "config": { "forge": { "make_targets": { - "darwin": ["dmg"] + "darwin": [ + "dmg" + ] }, "electronPackagerConfig": { "packageManager": "yarn", "icon": "icons/browser-router.icns", - "ignore": [".idea"] + "ignore": [ + ".idea" + ] + }, + "github_repository": { + "owner": "mmmichl", + "name": "browser-router" }, "protocols": [ { diff --git a/src/knownBrowsers.js b/src/knownBrowsers.js index 0eca239..10da651 100644 --- a/src/knownBrowsers.js +++ b/src/knownBrowsers.js @@ -15,6 +15,10 @@ export default [ key: 'firefox', osName: 'Firefox', }, + { + key: 'opera', + osName: 'Opera', + }, { key: 'safari', osName: 'Safari',