add noscript on renderer not dev plugin

pull/2912/head
Divyansh Singh 2 years ago
parent a4400887fb
commit 20a11d0d2b

@ -170,6 +170,7 @@ export async function renderPage(
: '' : ''
} }
${await renderHead(head)} ${await renderHead(head)}
<noscript><style>.js-required{display:none!important}</style></noscript>
</head> </head>
<body>${teleports?.body || ''} <body>${teleports?.body || ''}
<div id="app">${content}</div> <div id="app">${content}</div>

@ -255,24 +255,23 @@ function resolveSiteDataHead(userConfig?: UserConfig): HeadConfig[] {
? userConfig.appearance.initialValue ?? 'auto' ? userConfig.appearance.initialValue ?? 'auto'
: 'auto' : 'auto'
head.push( head.push([
[
'script', 'script',
{ id: 'check-dark-light' }, { id: 'check-dark-mode' },
`;(() => { `;(() => {
const preference = localStorage.getItem('${APPEARANCE_KEY}') || '${fallbackPreference}' const preference = localStorage.getItem('${APPEARANCE_KEY}') || '${fallbackPreference}'
const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches
if (!preference || preference === 'auto' ? prefersDark : preference === 'dark') if (!preference || preference === 'auto' ? prefersDark : preference === 'dark')
document.documentElement.classList.add('dark') document.documentElement.classList.add('dark')
})()` })()`
], ])
[ }
head.push([
'script', 'script',
{ id: 'check-mac-os' }, { id: 'check-mac-os' },
`document.documentElement.classList.toggle('mac', /Mac|iPhone|iPod|iPad/i.test(navigator.platform))` `document.documentElement.classList.toggle('mac', /Mac|iPhone|iPod|iPad/i.test(navigator.platform))`
] ])
)
}
return head return head
} }

@ -266,7 +266,6 @@ export async function createVitePressPlugin(
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1"> <meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="description" content=""> <meta name="description" content="">
<noscript><style>.js-required{display:none!important}</style></noscript>
</head> </head>
<body> <body>
<div id="app"></div> <div id="app"></div>

Loading…
Cancel
Save