Takes a master icon and automatically generates icon set for your Chrome extension by parsing the v2 manifest
MIT License
When creating a Chrome extension, you need to provide a set of icons for context menus, browser actions, page actions, and the Chrome Web Store. Usually, these are just resized versions of the same image. The goal of chrome-manifest-iconify is to intelligently handle the tedious process of generated all these resized clones. All you need to do is provide it a master icon and v2 manifest file. It will parse the manifest to determine the sizes, names, types, and paths of the icons it needs to generate. You can choose from several resizing algorithms as provided by Sharp so your entire icon set looks awesome.
npm install --save-dev chrome-manifest-iconify
Options:
--help Show help [boolean]
--version Show version number [boolean]
-i, --master-icon Path to the master icon [string] [required]
-m, --manifest Path to the v2 manifest.json
[string] [default: "manifest.json"]
-r, --resize-mode Algorithm for resizing the master icon
[choices: "nearest", "cubic", "mitchell", "lanczos2", "lanczos3"] [default:
"lanczos3"]
-o, --out-dir Directory to write the icons [string]
Examples:
chrome-manifest-iconify -i master.svg
chrome-manifest-iconify -i master.jpg -m src/manifest.json -r nearest -o
build/icons
Instead of directly using this API, you might find it easier to use the Gulp plugin gulp-chrome-manifest-iconify for your project.
The chrome-manifest-iconify module
Example
const chromeManifestIconify = require('chrome-manifest-iconify');
const loadIcons = async () => {
try {
const icons = await chromeManifestIconify.async({
manifest: 'src/manifest.json',
masterIcon: 'img/test-icon.png'
});
// Do stuff with icons
const buffers = await Promise.all(icons.map((i) => i.contents));
console.log(buffers);
} catch (err) {
// Oh, no! Something bad happened
console.error(err);
}
};
Generates icon set for a Chrome extension by parsing the v2 manifest. Note that this function does not actually write the files.
Kind: static method of chrome-manifest-iconify Returns: Promise.<Array.<module:chrome-manifest-iconify.Icon>> - A promise that resolves with the generated Icons
Param | Type | Description |
---|---|---|
options | object | The options for generating the Icons |
options.manifest | string | The path to the v2 manifest.json |
options.masterIcon | string | Buffer | Either a path or Buffer of the master icon from which all the generated icons will be reseized |
[options.outDir] | string | Base directory of the generated Icons. Defaults to parent directory of manifest |
[options.resizeMode] | string | The name of a Sharp kernel |