diff --git a/packages/docusaurus-plugin-pwa/package.json b/packages/docusaurus-plugin-pwa/package.json index 91b591a666..3623fbcb2d 100644 --- a/packages/docusaurus-plugin-pwa/package.json +++ b/packages/docusaurus-plugin-pwa/package.json @@ -18,6 +18,7 @@ "@babel/preset-env": "^7.12.16", "@docusaurus/core": "2.0.0-beta.3", "@docusaurus/theme-common": "2.0.0-beta.3", + "@docusaurus/utils": "2.0.0-beta.3", "@docusaurus/utils-validation": "2.0.0-beta.3", "babel-loader": "^8.2.2", "clsx": "^1.1.1", diff --git a/packages/docusaurus-plugin-pwa/src/index.js b/packages/docusaurus-plugin-pwa/src/index.js index 838e126209..5e4ce875d6 100644 --- a/packages/docusaurus-plugin-pwa/src/index.js +++ b/packages/docusaurus-plugin-pwa/src/index.js @@ -8,6 +8,7 @@ const LogPlugin = require('@docusaurus/core/lib/webpack/plugins/LogPlugin') .default; const {compile} = require('@docusaurus/core/lib/webpack/utils'); +const {normalizeUrl} = require('@docusaurus/utils'); const path = require('path'); const webpack = require('webpack'); const {injectManifest} = require('workbox-build'); @@ -88,12 +89,15 @@ function plugin(context, options) { injectHtmlTags() { const headTags = []; if (isProd && pwaHead) { - pwaHead.forEach(({tagName, ...attributes}) => - headTags.push({ + pwaHead.forEach(({tagName, ...attributes}) => { + if (attributes.href && !attributes.href.startsWith(baseUrl)) { + attributes.href = normalizeUrl([baseUrl, attributes.href]); + } + return headTags.push({ tagName, attributes, - }), - ); + }); + }); } return {headTags}; }, diff --git a/website/docusaurus.config.js b/website/docusaurus.config.js index 0a259761b1..6d18b5e306 100644 --- a/website/docusaurus.config.js +++ b/website/docusaurus.config.js @@ -196,12 +196,12 @@ const isVersioningDisabled = !!process.env.DISABLE_VERSIONING || isI18nStaging; { tagName: 'link', rel: 'icon', - href: `${baseUrl}img/docusaurus.png`, + href: 'img/docusaurus.png', }, { tagName: 'link', rel: 'manifest', - href: `${baseUrl}manifest.json`, + href: 'manifest.json', }, { tagName: 'meta', @@ -221,18 +221,18 @@ const isVersioningDisabled = !!process.env.DISABLE_VERSIONING || isI18nStaging; { tagName: 'link', rel: 'apple-touch-icon', - href: `${baseUrl}img/docusaurus.png`, + href: 'img/docusaurus.png', }, { tagName: 'link', rel: 'mask-icon', - href: `${baseUrl}img/docusaurus.png`, + href: 'img/docusaurus.png', color: 'rgb(62, 204, 94)', }, { tagName: 'meta', name: 'msapplication-TileImage', - href: `${baseUrl}img/docusaurus.png`, + href: 'img/docusaurus.png', }, { tagName: 'meta',