diff --git a/.vitepress/config.mts b/.vitepress/config.mts index eace46a13..079122330 100644 --- a/.vitepress/config.mts +++ b/.vitepress/config.mts @@ -5,6 +5,7 @@ import { presetUno, presetAttributify, presetIcons } from "unocss"; import { commitRef, meta } from "./constants"; import { pwa } from "./pwa"; import { generateMeta } from "./hooks/meta"; +import { fileURLToPath } from "url"; export default defineConfig({ title: "FMHY", @@ -54,6 +55,16 @@ export default defineConfig({ // Shut the fuck up chunkSizeWarningLimit: Infinity, }, + resolve: { + alias: [ + { + find: /^.*VPSwitchAppearance\.vue$/, + replacement: fileURLToPath( + new URL("./theme/components/ThemeSwitch.vue", import.meta.url), + ), + }, + ] + } }, themeConfig: { search: { diff --git a/.vitepress/theme/Layout.vue b/.vitepress/theme/Layout.vue new file mode 100644 index 000000000..0520f4052 --- /dev/null +++ b/.vitepress/theme/Layout.vue @@ -0,0 +1,18 @@ + + + diff --git a/.vitepress/theme/components/ThemeSwitch.vue b/.vitepress/theme/components/ThemeSwitch.vue new file mode 100644 index 000000000..8fe0d3434 --- /dev/null +++ b/.vitepress/theme/components/ThemeSwitch.vue @@ -0,0 +1,53 @@ + + + + + diff --git a/.vitepress/theme/index.ts b/.vitepress/theme/index.ts index 5c7dd8984..c8c5e9b20 100644 --- a/.vitepress/theme/index.ts +++ b/.vitepress/theme/index.ts @@ -2,16 +2,14 @@ import { h } from "vue"; import { type Theme, inBrowser } from "vitepress"; import DefaultTheme from "vitepress/theme"; import Sidebar from "./components/SidebarCard.vue"; +import Layout from "./Layout.vue"; import "./style.css"; import "uno.css"; // if (inBrowser) import("./pwa"); export default { - Layout: () => { - return h(DefaultTheme.Layout, null, { - "sidebar-nav-after": () => h(Sidebar), - }); - }, + extends: DefaultTheme, + Layout: Layout, enhanceApp({ app, router, siteData }) {}, } satisfies Theme; diff --git a/.vitepress/vue-shim.d.ts b/.vitepress/vue-shim.d.ts index 0660bd67a..ccfa68ba0 100644 --- a/.vitepress/vue-shim.d.ts +++ b/.vitepress/vue-shim.d.ts @@ -1,4 +1,4 @@ declare module "*.vue" { - import Vue from "vue"; - export default Vue; + const component: import("vue").Component; + export default component; }