--- layout: none --- importScripts('https://storage.googleapis.com/workbox-cdn/releases/6.4.1/workbox-sw.js'); const { registerRoute } = workbox.routing; const { CacheFirst, NetworkFirst, StaleWhileRevalidate } = workbox.strategies; const { CacheableResponse } = workbox.cacheableResponse; workbox.core.setCacheNameDetails({ prefix: 'habibimroncn.github.io', suffix: '{{ site.time | date: "%Y-%m" }}' }); registerRoute( '/', new NetworkFirst() ); registerRoute( /page[0-99]/, new NetworkFirst() ) registerRoute( new RegExp('/\\d{4}/\\d{2}/\\d{2}/.+'), new StaleWhileRevalidate() ) workbox.precaching.precacheAndRoute([ {% for post in site.posts limit:12 -%} { url: '{{ post.url }}', revision: '{{ post.date | date: "%Y-%m-%d"}}' }, {% endfor -%} {% for snippet in site.snippets limit:12 -%} { url: '{{ snippet.url }}', revision: '{{ snippet.date | date: "%Y-%m-%d"}}' }, {% endfor -%} { url: '/', revision: '{{ site.time | date: "%Y%m%d%H%M" }}' }, { url: '/about', revision: '{{ site.time | date: "%Y%m%d%H%M" }}' }, { url: '/snippets', revision: '{{ site.time | date: "%Y%m%d%H%M" }}' }, { url: '/blog', revision: '{{ site.time | date: "%Y%m%d%H%M" }}' }, { url: '/css/style.css', revision: '{{ site.time | date: "%Y%m%d%H%M" }}' }, { url: '/css/font-awesome-4.7.0/css/font-awesome.min.css', revision: '{{ site.time | date: "%Y%m%d%H%M" }}' } ]) registerRoute( ({request}) => request.destination === 'image' , new CacheFirst({ plugins: [ new CacheableResponse({statuses: [0, 200]}) ], }) ); registerRoute( /assets\/(images|icons|css)/, new CacheFirst() );