From 2aba86811e2a30dd9cb87f074f5779aa470eb685 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8B=8F=E5=90=91=E5=A4=9C?= Date: Fri, 21 Jun 2024 17:53:15 +0800 Subject: [PATCH] refactor(theme): migrate theme config from old version Related Issue: #1879 --- .../devui-vue/docs/.vitepress/theme/index.ts | 29 ++++++++++++++----- 1 file changed, 21 insertions(+), 8 deletions(-) diff --git a/packages/devui-vue/docs/.vitepress/theme/index.ts b/packages/devui-vue/docs/.vitepress/theme/index.ts index d77decc5af..630f79d558 100644 --- a/packages/devui-vue/docs/.vitepress/theme/index.ts +++ b/packages/devui-vue/docs/.vitepress/theme/index.ts @@ -1,13 +1,19 @@ +// https://vitepress.dev/guide/custom-theme +import { h } from 'vue'; +import type { Theme } from 'vitepress'; +import DefaultTheme from 'vitepress/theme'; +import 'vitepress-theme-demoblock/dist/theme/styles/index.css'; +import { useComponents } from './useComponents'; + import editorWorker from 'monaco-editor/esm/vs/editor/editor.worker?worker'; import jsonWorker from 'monaco-editor/esm/vs/language/json/json.worker?worker'; import cssWorker from 'monaco-editor/esm/vs/language/css/css.worker?worker'; import htmlWorker from 'monaco-editor/esm/vs/language/html/html.worker?worker'; import tsWorker from 'monaco-editor/esm/vs/language/typescript/ts.worker?worker'; + import DevUI from '../../../devui/vue-devui'; import Locale from '../../../devui/locale'; -import Theme from '../devui-theme'; -import 'vitepress-theme-demoblock/theme/styles/index.css'; -import { registerComponents } from './register-components.js'; +import DevUITheme from '../devui-theme'; import { insertBaiduScript } from './insert-baidu-script'; if (typeof window !== 'undefined') { @@ -31,10 +37,17 @@ if (typeof window !== 'undefined') { } export default { - ...Theme, - enhanceApp({ app }) { - app.use(Locale).use(DevUI); - registerComponents(app); + extends: DevUITheme, + Layout: () => { + return h(DefaultTheme.Layout, null, { + // https://vitepress.dev/guide/extending-default-theme#layout-slots + }); + }, + enhanceApp(ctx) { + DefaultTheme.enhanceApp(ctx); + useComponents(ctx.app); + ctx.app.use(Locale); + ctx.app.use(DevUI); insertBaiduScript(); }, -}; +} satisfies Theme;