2024-02-01 22:38:21 +09:00
|
|
|
import { h } from 'vue';
|
|
|
|
|
import DefaultTheme from 'vitepress/theme';
|
|
|
|
|
import './style.css';
|
|
|
|
|
import { Theme } from 'vitepress';
|
|
|
|
|
import IconsSidebarNavAfter from './layouts/IconsSidebarNavAfter.vue';
|
|
|
|
|
import HomeHeroIconsCard from './components/home/HomeHeroIconsCard.vue';
|
|
|
|
|
import HomeHeroBefore from './components/home/HomeHeroBefore.vue';
|
|
|
|
|
import { ICON_STYLE_CONTEXT, iconStyleContext } from './composables/useIconStyle';
|
|
|
|
|
import { CATEGORY_VIEW_CONTEXT, categoryViewContext } from './composables/useCategoryView';
|
2024-06-25 09:56:55 +02:00
|
|
|
import { EXTERNAL_LIBS_CONTEXT, externalLibContext } from './composables/useExternalLibs';
|
2023-06-04 16:59:38 +02:00
|
|
|
|
|
|
|
|
const theme: Partial<Theme> = {
|
|
|
|
|
extends: DefaultTheme,
|
|
|
|
|
Layout() {
|
|
|
|
|
return h(DefaultTheme.Layout, null, {
|
|
|
|
|
'home-hero-before': () => h(HomeHeroBefore),
|
|
|
|
|
'sidebar-nav-after': () => h(IconsSidebarNavAfter),
|
|
|
|
|
'home-hero-image': () => h(HomeHeroIconsCard),
|
2024-02-01 22:38:21 +09:00
|
|
|
});
|
2023-06-04 16:59:38 +02:00
|
|
|
},
|
|
|
|
|
enhanceApp({ app }) {
|
2024-02-01 22:38:21 +09:00
|
|
|
app.provide(ICON_STYLE_CONTEXT, iconStyleContext);
|
|
|
|
|
app.provide(CATEGORY_VIEW_CONTEXT, categoryViewContext);
|
2024-06-25 09:56:55 +02:00
|
|
|
app.provide(EXTERNAL_LIBS_CONTEXT, externalLibContext);
|
2024-02-01 22:38:21 +09:00
|
|
|
},
|
|
|
|
|
};
|
2023-06-04 16:59:38 +02:00
|
|
|
|
2024-02-01 22:38:21 +09:00
|
|
|
export default theme;
|