RLE-wiki/docs/.vitepress/theme/index.ts

62 lines
1.7 KiB
TypeScript
Raw Normal View History

2023-11-30 15:58:49 +08:00
// https://vitepress.dev/guide/custom-theme
import { h } from 'vue'
import type { Theme } from 'vitepress'
import DefaultTheme from 'vitepress/theme'
import AppearanceToggle from './components/AppearanceToggle.vue'
import {
NolebaseEnhancedReadabilitiesPlugin,
NolebaseEnhancedReadabilitiesMenu,
NolebaseEnhancedReadabilitiesScreenMenu,
} from '@nolebase/vitepress-plugin-enhanced-readabilities'
import {
NolebaseHighlightTargetedHeading,
} from '@nolebase/vitepress-plugin-highlight-targeted-heading'
import {
NolebaseGitChangelogPlugin
} from '@nolebase/vitepress-plugin-git-changelog/client'
import '@nolebase/vitepress-plugin-enhanced-readabilities/dist/style.css'
import '@nolebase/vitepress-plugin-highlight-targeted-heading/dist/style.css'
import '@nolebase/vitepress-plugin-git-changelog/client/style.css'
2023-11-30 15:58:49 +08:00
import './style.css'
2023-12-05 23:18:27 +08:00
import 'uno.css'
2023-11-30 15:58:49 +08:00
export default {
extends: DefaultTheme,
Layout: () => {
return h(AppearanceToggle, null, {
'default': () => h(DefaultTheme.Layout, null, {
// https://vitepress.dev/guide/extending-default-theme#layout-slots
'doc-top': () => [
h(NolebaseHighlightTargetedHeading),
],
'nav-bar-content-after': () => [
h(NolebaseEnhancedReadabilitiesMenu),
],
'nav-screen-content-after': () => [
h(NolebaseEnhancedReadabilitiesScreenMenu),
],
}),
2023-11-30 15:58:49 +08:00
})
},
enhanceApp({ app }) {
app.use(NolebaseEnhancedReadabilitiesPlugin, {
spotlight: {
defaultToggle: true,
}
})
app.use(NolebaseGitChangelogPlugin, {
locales: {
'zh-CN': {
lastEditedDateFnsLocaleName: 'zhCN',
}
}
})
2023-11-30 15:58:49 +08:00
}
} satisfies Theme