43 lines
1.1 KiB
TypeScript
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
|