84 lines
1.8 KiB
Markdown
84 lines
1.8 KiB
Markdown
# pwa-manifest [](https://travis-ci.org/ragingwind/pwa-manifest)
|
|
|
|
> Creating a Web Manifest for Progressive Web App with a variety of options
|
|
|
|
|
|
## Install
|
|
|
|
```
|
|
$ npm install --save @pwa/manifest
|
|
```
|
|
|
|
|
|
## Usage
|
|
|
|
```js
|
|
const pwaManifest = require('manifest');
|
|
|
|
pwaManifest({
|
|
name: 'My PWApp',
|
|
short_name: 'My Short PWA Name',
|
|
start_url: '/index.html?homescreen=1',
|
|
display: 'standalone',
|
|
background_color: '#EFEFEF',
|
|
theme_color: '#FFEEFF'
|
|
}).then(function (manifest) {
|
|
// dump new generated manifest file if you want
|
|
pwaManifest.write('./', manifest);
|
|
});
|
|
```
|
|
|
|
|
|
## API
|
|
|
|
### pwaManifest([options])
|
|
|
|
#### options
|
|
|
|
Type: `object`
|
|
|
|
Web Manifest properties you want to set. The name of options are same as member property of Web Manifest. Icons sizes are followed in [lighthouse audits](https://github.com/GoogleChrome/lighthouse/tree/9f91ab405ca89882f40a71c6aef5dc6dc08543b4/lighthouse-core/audits)
|
|
```
|
|
{
|
|
"name": "My Powerful Progressive Web App",
|
|
"short_name": "PWApp",
|
|
"icons": [{
|
|
"src": "icon-144x144.png",
|
|
"sizes": "144x144",
|
|
"type": "image/png"
|
|
}, {
|
|
"src": "icon-192x192.png",
|
|
"sizes": "192x192",
|
|
"type": "image/png"
|
|
}, {
|
|
"src": "icon-512x512.png",
|
|
"sizes": "512x512",
|
|
"type": "image/png"
|
|
}],
|
|
"start_url": "/index.html?homescreen=1",
|
|
"display": "standalone",
|
|
"background_color": "#FFFFFF",
|
|
"theme_color": "#3F51B5"
|
|
}
|
|
```
|
|
|
|
### pwaManifest.write(dir, manifest)
|
|
|
|
Returns a promise.
|
|
|
|
### pwaManifest.write.sync(dir, manifest)
|
|
|
|
Write a manifest file as `manifest.json` to dest path.
|
|
|
|
### pwaManifest.read(dir)
|
|
|
|
Returns a promise.
|
|
|
|
### pwaManifest.read.sync(dir)
|
|
|
|
Read a manifest file in the name of `manifest.json` to src path
|
|
|
|
## License
|
|
|
|
MIT © [Jimmy Moon](http://ragingwind.me)
|