Files
moeka-project/docs/.vitepress/theme/index.ts
T
2026-08-26 20:13:10 +08:00

43 lines
1.1 KiB
TypeScript

import type { Theme } from 'vitepress'
import messages from '@proj-airi/i18n/locales'
import { createI18n } from 'vue-i18n'
import ThemedVideo from '../components/ThemedVideo.vue'
import Layout from '../custom/Layout.vue'
import '@unocss/reset/tailwind.css'
import 'uno.css'
import './style.css'
import './theme-vitepress.css'
import './theme-markdown.css'
import './theme-media.css'
import './theme-kbd.css'
import './theme-animations.css'
import './custom-nixie.css'
import '@fontsource-variable/quicksand/index.css'
import '@fontsource-variable/dm-sans/index.css'
import '@fontsource/dm-mono/index.css'
import '@fontsource/dm-serif-display/index.css'
import '@fontsource-variable/comfortaa/index.css'
export default {
Layout,
enhanceApp({ app, siteData }) {
if (!import.meta.env.SSR && import.meta.env.PROD) {
import('../modules/posthog')
}
const i18n = createI18n({
legacy: false,
locale: siteData.value.lang || 'en',
fallbackLocale: 'en',
messages,
})
app.use(i18n)
app.component('ThemedVideo', ThemedVideo)
},
} satisfies Theme