1
+ // https://vitepress.dev/guide/custom-theme
2
+ import { h } from 'vue' ;
3
+ import type { Theme } from 'vitepress' ;
4
+ import DefaultTheme from 'vitepress/theme' ;
5
+ import 'vitepress-theme-demoblock/dist/theme/styles/index.css' ;
6
+ import { useComponents } from './useComponents' ;
7
+
1
8
import editorWorker from 'monaco-editor/esm/vs/editor/editor.worker?worker' ;
2
9
import jsonWorker from 'monaco-editor/esm/vs/language/json/json.worker?worker' ;
3
10
import cssWorker from 'monaco-editor/esm/vs/language/css/css.worker?worker' ;
4
11
import htmlWorker from 'monaco-editor/esm/vs/language/html/html.worker?worker' ;
5
12
import tsWorker from 'monaco-editor/esm/vs/language/typescript/ts.worker?worker' ;
13
+
6
14
import DevUI from '../../../devui/vue-devui' ;
7
15
import Locale from '../../../devui/locale' ;
8
- import Theme from '../devui-theme' ;
9
- import 'vitepress-theme-demoblock/theme/styles/index.css' ;
10
- import { registerComponents } from './register-components.js' ;
16
+ import DevUITheme from '../devui-theme' ;
11
17
import { insertBaiduScript } from './insert-baidu-script' ;
12
18
13
19
if ( typeof window !== 'undefined' ) {
@@ -31,10 +37,17 @@ if (typeof window !== 'undefined') {
31
37
}
32
38
33
39
export default {
34
- ...Theme ,
35
- enhanceApp ( { app } ) {
36
- app . use ( Locale ) . use ( DevUI ) ;
37
- registerComponents ( app ) ;
40
+ extends : DevUITheme ,
41
+ Layout : ( ) => {
42
+ return h ( DefaultTheme . Layout , null , {
43
+ // https://vitepress.dev/guide/extending-default-theme#layout-slots
44
+ } ) ;
45
+ } ,
46
+ enhanceApp ( ctx ) {
47
+ DefaultTheme . enhanceApp ( ctx ) ;
48
+ useComponents ( ctx . app ) ;
49
+ ctx . app . use ( Locale ) ;
50
+ ctx . app . use ( DevUI ) ;
38
51
insertBaiduScript ( ) ;
39
52
} ,
40
- } ;
53
+ } satisfies Theme ;
0 commit comments