fix(pwa): site baseurl not passed to app.js
(#1955)
This commit is contained in:
parent
3ab3b844d2
commit
5a63244721
5 changed files with 14 additions and 12 deletions
|
@ -92,7 +92,10 @@
|
||||||
{% if jekyll.environment == 'production' %}
|
{% if jekyll.environment == 'production' %}
|
||||||
<!-- PWA -->
|
<!-- PWA -->
|
||||||
{% if site.pwa.enabled %}
|
{% if site.pwa.enabled %}
|
||||||
<script defer src="{{ 'app.min.js' | relative_url }}"></script>
|
<script
|
||||||
|
defer
|
||||||
|
src="{{ 'app.min.js' | relative_url }}?baseurl={{ site.baseurl | default: '' }}®ister={{ site.pwa.cache.enabled }}"
|
||||||
|
></script>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<!-- Web Analytics -->
|
<!-- Web Analytics -->
|
||||||
|
|
|
@ -1,15 +1,19 @@
|
||||||
import { pwa, baseurl } from '../../_config.yml';
|
|
||||||
import Toast from 'bootstrap/js/src/toast';
|
import Toast from 'bootstrap/js/src/toast';
|
||||||
|
|
||||||
if ('serviceWorker' in navigator) {
|
if ('serviceWorker' in navigator) {
|
||||||
if (pwa.enabled) {
|
// Get Jekyll config from URL parameters
|
||||||
const swUrl = `${baseurl}/sw.min.js`;
|
const src = new URL(document.currentScript.src);
|
||||||
|
const register = src.searchParams.get('register');
|
||||||
|
const baseUrl = src.searchParams.get('baseurl');
|
||||||
|
|
||||||
|
if (register) {
|
||||||
|
const swUrl = `${baseUrl}/sw.min.js`;
|
||||||
const notification = document.getElementById('notification');
|
const notification = document.getElementById('notification');
|
||||||
const btnRefresh = notification.querySelector('.toast-body>button');
|
const btnRefresh = notification.querySelector('.toast-body>button');
|
||||||
const popupWindow = Toast.getOrCreateInstance(notification);
|
const popupWindow = Toast.getOrCreateInstance(notification);
|
||||||
|
|
||||||
navigator.serviceWorker.register(swUrl).then((registration) => {
|
navigator.serviceWorker.register(swUrl).then((registration) => {
|
||||||
// In case the user ignores the notification
|
// Restore the update window that was last manually closed by the user
|
||||||
if (registration.waiting) {
|
if (registration.waiting) {
|
||||||
popupWindow.show();
|
popupWindow.show();
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,4 @@
|
||||||
import { baseurl } from '../../_config.yml';
|
importScripts('./assets/js/data/swconf.js');
|
||||||
|
|
||||||
importScripts(`${baseurl}/assets/js/data/swconf.js`);
|
|
||||||
|
|
||||||
const purge = swconf.purge;
|
const purge = swconf.purge;
|
||||||
const interceptor = swconf.interceptor;
|
const interceptor = swconf.interceptor;
|
||||||
|
|
|
@ -36,7 +36,6 @@
|
||||||
"@rollup/plugin-babel": "^6.0.4",
|
"@rollup/plugin-babel": "^6.0.4",
|
||||||
"@rollup/plugin-node-resolve": "^15.2.3",
|
"@rollup/plugin-node-resolve": "^15.2.3",
|
||||||
"@rollup/plugin-terser": "^0.4.4",
|
"@rollup/plugin-terser": "^0.4.4",
|
||||||
"@rollup/plugin-yaml": "^4.1.2",
|
|
||||||
"@semantic-release/changelog": "^6.0.3",
|
"@semantic-release/changelog": "^6.0.3",
|
||||||
"@semantic-release/exec": "^6.0.3",
|
"@semantic-release/exec": "^6.0.3",
|
||||||
"@semantic-release/git": "^10.0.1",
|
"@semantic-release/git": "^10.0.1",
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
import babel from '@rollup/plugin-babel';
|
import babel from '@rollup/plugin-babel';
|
||||||
import terser from '@rollup/plugin-terser';
|
import terser from '@rollup/plugin-terser';
|
||||||
import { nodeResolve } from '@rollup/plugin-node-resolve';
|
import { nodeResolve } from '@rollup/plugin-node-resolve';
|
||||||
import yaml from '@rollup/plugin-yaml';
|
|
||||||
import fs from 'fs';
|
import fs from 'fs';
|
||||||
import pkg from './package.json';
|
import pkg from './package.json';
|
||||||
|
|
||||||
|
@ -43,7 +42,7 @@ function build(filename, { src = SRC_DEFAULT, jekyll = false } = {}) {
|
||||||
format: 'iife',
|
format: 'iife',
|
||||||
name: 'Chirpy',
|
name: 'Chirpy',
|
||||||
banner,
|
banner,
|
||||||
sourcemap: !isProd
|
sourcemap: !isProd && !jekyll
|
||||||
},
|
},
|
||||||
watch: {
|
watch: {
|
||||||
include: `${src}/**`
|
include: `${src}/**`
|
||||||
|
@ -55,7 +54,6 @@ function build(filename, { src = SRC_DEFAULT, jekyll = false } = {}) {
|
||||||
plugins: ['@babel/plugin-transform-class-properties']
|
plugins: ['@babel/plugin-transform-class-properties']
|
||||||
}),
|
}),
|
||||||
nodeResolve(),
|
nodeResolve(),
|
||||||
yaml(),
|
|
||||||
isProd && terser(),
|
isProd && terser(),
|
||||||
jekyll && insertFrontmatter()
|
jekyll && insertFrontmatter()
|
||||||
]
|
]
|
||||||
|
|
Loading…
Reference in a new issue