25 lines
995 B
TypeScript
25 lines
995 B
TypeScript
import { h } from 'vue'
|
|
import DefaultTheme from 'vitepress/theme'
|
|
import type { Theme } from 'vitepress'
|
|
import {
|
|
InjectionKey,
|
|
NolebaseEnhancedReadabilitiesMenu,
|
|
NolebaseEnhancedReadabilitiesScreenMenu,
|
|
} from '@nolebase/vitepress-plugin-enhanced-readabilities/client'
|
|
import { NolebaseHighlightTargetedHeading } from '@nolebase/vitepress-plugin-highlight-targeted-heading/client'
|
|
import '@nolebase/vitepress-plugin-enhanced-readabilities/client/style.css'
|
|
import '@nolebase/vitepress-plugin-highlight-targeted-heading/client/style.css'
|
|
import './style.css'
|
|
|
|
export default {
|
|
extends: DefaultTheme,
|
|
enhanceApp({ app }) {
|
|
app.provide(InjectionKey, { spotlight: { defaultToggle: true } })
|
|
},
|
|
Layout: () => h(DefaultTheme.Layout, null, {
|
|
'nav-bar-content-after': () => h(NolebaseEnhancedReadabilitiesMenu),
|
|
'nav-screen-content-after': () => h(NolebaseEnhancedReadabilitiesScreenMenu),
|
|
'layout-top': () => h(NolebaseHighlightTargetedHeading),
|
|
}),
|
|
} satisfies Theme
|