Progressive Web Apps (PWA) plugin for Hexo.
hexo-pwa
let Hexo sites have these two capabilities.
$ npm install --save hexo-pwa
You can configure this plugin in _config.yml
.
pwa:
manifest:
path: /manifest.json
body:
name: hexo
short_name: hexo
icons:
- src: /images/android-chrome-192x192.png
sizes: 192x192
type: image/png
- src: /images/android-chrome-512x512.png
sizes: 512x512
type: image/png
start_url: /index.html
theme_color: '#ffffff'
background_color: '#ffffff'
display: standalone
serviceWorker:
path: /sw.js
preload:
urls:
- /
posts: 5
opts:
networkTimeoutSeconds: 5
routes:
- pattern: !!js/regexp /hm.baidu.com/
strategy: networkOnly
- pattern: !!js/regexp /.*\.(js|css|jpg|jpeg|png|gif)$/
strategy: cacheFirst
- pattern: !!js/regexp /\//
strategy: networkFirst
priority: 5
manifest.json
, eg: /manifest.json
manifest.json
, manifest.json example. body
can be null, if not null, hexo-pwa
will generate manifest.json
with JSON.stringify(body)
sw.js
, eg: /sw.js
, you shouldn't put sw.js in subdirectory because of the service worker scopecacheFirst
, networkFirst
, cacheOnly
, networkOnly
, fastest
. Caution: Log requests should use networkOnly
strategy.MIT