From 764f943990759e541640bab9ed1b0d63190960f4 Mon Sep 17 00:00:00 2001 From: Gavin John Date: Wed, 6 Sep 2023 14:56:48 -0500 Subject: [PATCH 01/10] Hide JS-required features if JS disabled --- src/node/plugin.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/node/plugin.ts b/src/node/plugin.ts index 70eb9aea..209730e1 100644 --- a/src/node/plugin.ts +++ b/src/node/plugin.ts @@ -266,6 +266,13 @@ export async function createVitePressPlugin( +
From 992a93e648723a14530933f31b941113c35c2d14 Mon Sep 17 00:00:00 2001 From: Gavin John Date: Wed, 6 Sep 2023 14:58:59 -0500 Subject: [PATCH 02/10] Hide Search in no-JS mode --- src/client/theme-default/components/VPNavBar.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/theme-default/components/VPNavBar.vue b/src/client/theme-default/components/VPNavBar.vue index 755da68e..a7685bbc 100644 --- a/src/client/theme-default/components/VPNavBar.vue +++ b/src/client/theme-default/components/VPNavBar.vue @@ -49,7 +49,7 @@ watchPostEffect(() => {
- + From 7d98f4db64c8119d7717643a5d27a86a7aa30f52 Mon Sep 17 00:00:00 2001 From: Gavin John Date: Wed, 6 Sep 2023 14:59:57 -0500 Subject: [PATCH 03/10] Disable light/dark mode slider when JS disabled --- src/client/theme-default/components/VPNavBarExtra.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/theme-default/components/VPNavBarExtra.vue b/src/client/theme-default/components/VPNavBarExtra.vue index 36f12a55..7c217f32 100644 --- a/src/client/theme-default/components/VPNavBarExtra.vue +++ b/src/client/theme-default/components/VPNavBarExtra.vue @@ -28,7 +28,7 @@ const hasExtraContent = computed(
-
+

{{ theme.darkModeSwitchLabel || 'Appearance' }} From fc6befb6ba9642610e808c36d82c42968fc1c915 Mon Sep 17 00:00:00 2001 From: Gavin John Date: Wed, 6 Sep 2023 15:00:29 -0500 Subject: [PATCH 04/10] Mark as !important, just in case --- src/node/plugin.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/node/plugin.ts b/src/node/plugin.ts index 209730e1..56af41ec 100644 --- a/src/node/plugin.ts +++ b/src/node/plugin.ts @@ -269,7 +269,7 @@ export async function createVitePressPlugin( From a73bdc20ce0889ce53247ffe1e2ecd7e33b8cd63 Mon Sep 17 00:00:00 2001 From: Gavin John Date: Wed, 6 Sep 2023 15:02:06 -0500 Subject: [PATCH 05/10] Mark hamburger menu as js-required --- src/client/theme-default/components/VPNavBar.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/theme-default/components/VPNavBar.vue b/src/client/theme-default/components/VPNavBar.vue index a7685bbc..38b7484f 100644 --- a/src/client/theme-default/components/VPNavBar.vue +++ b/src/client/theme-default/components/VPNavBar.vue @@ -56,7 +56,7 @@ watchPostEffect(() => {

From a4400887fbc2a810facedef391fb3bac14e06237 Mon Sep 17 00:00:00 2001 From: Divyansh Singh <40380293+brc-dd@users.noreply.github.com> Date: Sun, 10 Sep 2023 19:44:10 +0530 Subject: [PATCH 06/10] minify --- src/node/plugin.ts | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/node/plugin.ts b/src/node/plugin.ts index 56af41ec..2f088085 100644 --- a/src/node/plugin.ts +++ b/src/node/plugin.ts @@ -266,13 +266,7 @@ export async function createVitePressPlugin( - +
From 20a11d0d2b8b7c6e155838ba93b7f9b2402baddc Mon Sep 17 00:00:00 2001 From: Divyansh Singh <40380293+brc-dd@users.noreply.github.com> Date: Sun, 10 Sep 2023 19:52:15 +0530 Subject: [PATCH 07/10] add noscript on renderer not dev plugin --- src/node/build/render.ts | 1 + src/node/config.ts | 33 ++++++++++++++++----------------- src/node/plugin.ts | 1 - 3 files changed, 17 insertions(+), 18 deletions(-) diff --git a/src/node/build/render.ts b/src/node/build/render.ts index e5d8a324..0a36fa15 100644 --- a/src/node/build/render.ts +++ b/src/node/build/render.ts @@ -170,6 +170,7 @@ export async function renderPage( : '' } ${await renderHead(head)} + ${teleports?.body || ''}
${content}
diff --git a/src/node/config.ts b/src/node/config.ts index 0e4ed396..a4290c22 100644 --- a/src/node/config.ts +++ b/src/node/config.ts @@ -255,24 +255,23 @@ function resolveSiteDataHead(userConfig?: UserConfig): HeadConfig[] { ? userConfig.appearance.initialValue ?? 'auto' : 'auto' - head.push( - [ - 'script', - { id: 'check-dark-light' }, - `;(() => { - const preference = localStorage.getItem('${APPEARANCE_KEY}') || '${fallbackPreference}' - const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches - if (!preference || preference === 'auto' ? prefersDark : preference === 'dark') - document.documentElement.classList.add('dark') - })()` - ], - [ - 'script', - { id: 'check-mac-os' }, - `document.documentElement.classList.toggle('mac', /Mac|iPhone|iPod|iPad/i.test(navigator.platform))` - ] - ) + head.push([ + 'script', + { id: 'check-dark-mode' }, + `;(() => { + const preference = localStorage.getItem('${APPEARANCE_KEY}') || '${fallbackPreference}' + const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches + if (!preference || preference === 'auto' ? prefersDark : preference === 'dark') + document.documentElement.classList.add('dark') + })()` + ]) } + head.push([ + 'script', + { id: 'check-mac-os' }, + `document.documentElement.classList.toggle('mac', /Mac|iPhone|iPod|iPad/i.test(navigator.platform))` + ]) + return head } diff --git a/src/node/plugin.ts b/src/node/plugin.ts index 2f088085..70eb9aea 100644 --- a/src/node/plugin.ts +++ b/src/node/plugin.ts @@ -266,7 +266,6 @@ export async function createVitePressPlugin( -
From 3d57927a5bfc91530c0fbab0c9598e211b1d7d1a Mon Sep 17 00:00:00 2001 From: Gavin John Date: Sun, 10 Sep 2023 17:06:46 -0500 Subject: [PATCH 08/10] Remove local nav --- src/client/theme-default/components/VPLocalNav.vue | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/client/theme-default/components/VPLocalNav.vue b/src/client/theme-default/components/VPLocalNav.vue index 35379095..ea568a6e 100644 --- a/src/client/theme-default/components/VPLocalNav.vue +++ b/src/client/theme-default/components/VPLocalNav.vue @@ -44,7 +44,8 @@ const classes = computed(() => { return { VPLocalNav: true, fixed: empty.value, - 'reached-top': y.value >= navHeight.value + 'reached-top': y.value >= navHeight.value, + 'js-required': true } }) From ffc9871312fa86c5d275edb8240a4ad1c9fbc793 Mon Sep 17 00:00:00 2001 From: Gavin John Date: Sun, 10 Sep 2023 17:09:25 -0500 Subject: [PATCH 09/10] Hide copy code buttons when JS disabled --- src/node/markdown/plugins/preWrapper.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/node/markdown/plugins/preWrapper.ts b/src/node/markdown/plugins/preWrapper.ts index c7eca196..1f07385f 100644 --- a/src/node/markdown/plugins/preWrapper.ts +++ b/src/node/markdown/plugins/preWrapper.ts @@ -20,7 +20,7 @@ export function preWrapperPlugin(md: MarkdownIt, options: Options) { const rawCode = fence(...args) return `
${lang}${rawCode}
` + )}${active}">${lang}${rawCode}
` } } From 0e891604e6476ce4907bb16e63c2599b0ff3bcda Mon Sep 17 00:00:00 2001 From: Gavin John Date: Sun, 10 Sep 2023 17:10:09 -0500 Subject: [PATCH 10/10] Make VPFlyout require JS --- src/client/theme-default/components/VPFlyout.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/client/theme-default/components/VPFlyout.vue b/src/client/theme-default/components/VPFlyout.vue index 57118fe7..8726cab4 100644 --- a/src/client/theme-default/components/VPFlyout.vue +++ b/src/client/theme-default/components/VPFlyout.vue @@ -24,7 +24,7 @@ function onBlur() {