diff --git a/.vitepress/config.ts b/.vitepress/config.ts index 5f6bb8b6..15995bbb 100644 --- a/.vitepress/config.ts +++ b/.vitepress/config.ts @@ -221,7 +221,8 @@ export default defineConfig({ }, footer: { message: 'Released under the MIT License.', - copyright: 'Copyright © 2022-present Yusuke Wada & Hono contributors', + copyright: + 'Copyright © 2022-present Yusuke Wada & Hono contributors. Logo by @sawaratsuki1004.', }, nav: [ { text: 'Docs', link: '/top' }, diff --git a/.vitepress/theme/index.js b/.vitepress/theme/index.js index 1d23c1ab..ef34528d 100644 --- a/.vitepress/theme/index.js +++ b/.vitepress/theme/index.js @@ -1,8 +1,11 @@ import { h } from 'vue' import DefaultTheme from 'vitepress/theme' import NotFound from './NotFound.vue' +import { enableUwu } from './uwu' import './custom.css' +enableUwu() + export default { ...DefaultTheme, Layout() { diff --git a/.vitepress/theme/uwu.js b/.vitepress/theme/uwu.js new file mode 100644 index 00000000..0098c584 --- /dev/null +++ b/.vitepress/theme/uwu.js @@ -0,0 +1,46 @@ +/* + * Follow: https://github.com/reactjs/react.dev/blob/main/src/pages/_document.tsx + */ + +export function enableUwu() { + + try { + var preferredUwu + try { + preferredUwu = localStorage.getItem('uwu') + } catch (err) {} + + const isUwuValue = + window.location && window.location.search && window.location.search.match(/uwu=(true|false)/) + + if (isUwuValue) { + const isUwu = isUwuValue[1] === 'true' + if (isUwu) { + try { + localStorage.setItem('uwu', true) + } catch (err) {} + document.documentElement.classList.add('uwu') + console.log( + 'uwu mode enabled. logo credits to @sawaratsuki1004 via https://github.com/SAWARATSUKI/ServiceLogos' + ) + } else { + try { + localStorage.removeItem('uwu', false) + } catch (err) {} + } + } else if (preferredUwu) { + document.documentElement.classList.add('uwu') + } + } catch (err) {} + + document.addEventListener('DOMContentLoaded', async () => { + var logo + while (!logo) { + await new Promise((resolve) => setTimeout(resolve, 100)) + logo = document.querySelector('img.logo') + } + if (document.documentElement.classList.contains('uwu')) { + logo.src = '/images/uwu.png' + } + }) +} diff --git a/public/images/uwu.png b/public/images/uwu.png new file mode 100644 index 00000000..58ac5214 Binary files /dev/null and b/public/images/uwu.png differ