stf-browser-db provides the simple browser database used by STF. While it aims to be platform agnostic, we have only sampled Android browsers so far.
Browser information is provided in the following format in inventory.json
.
{
"android-browser": {
"developer": "Google Inc.",
"name": "Browser",
"platforms": {
"android": {
"package": "com.android.browser",
"system": true
}
}
}
}
Additionally, an icon is provided for each system browser in the static
folder. These have been grabbed manually using a separate tool. For non-system browsers, an icon is fetched automatically from the corresponding app store.
- Node.js >= 0.10
- make
- jq
- pngcrush
- GraphicsMagick
On OS X, you can install the last three with:
brew install jq pngcrush graphicsmagick
Simply run make
at the top of the repo after making sure you have the requirements installed. You will then have a complete list of resized icons in the dist
folder.
Install via NPM:
npm install --save stf-browser-db
The module is prebuilt before publishing, so you don't need the build requirements if you just want to use the library.
You are then able to access the inventory by requiring the module:
var inventory = require('stf-browser-db')
The unique key of each browser also works as the icon filename (after adding the .png
suffix). The icons can be found from the dist
folder after building or installing the module. It can be served as a static folder.
If you are adding a non-system browser (i.e. a browser that can be found from the platform's app store), simply modify inventory.json
making sure to insert the correct package name.
Running make
will then fetch the app's icon, resize it, and place the resized images into the dist
folder.
If you're adding a new system browser, you're in for some trouble. First you must find a way to import the app's icon from your device. We do have a tool for this but it's not convenient enough for open sourcing - yet! Try to get the best quality PNG you can find.
After you've got the icon, rename it to match the unique ID you gave to the app in inventory.json
, and place the icon to the corresponding platform folder inside the static
folder. It needs to be in PNG format. You will also need to place a JSON file with the same name there. The JSON file mimics (in a very minimal way) a response from the app store. Currently, its contents are not being used in the Makefile, but we may do so in the future. Open one of the existing JSON files to see the expected format.
Running make
will then load the icon from the static
folder, resize it, and place the resized images into the dist
folder.
See CONTRIBUTING.md.
See LICENSE.
Copyright © CyberAgent, Inc. All Rights Reserved.