Update pipeline to Node 24. Update Lerna. Update Vitepress to Beta. Replace...
This commit is contained in:
@@ -1,15 +1,61 @@
|
||||
// https://vitepress.dev/guide/custom-theme
|
||||
import { h, nextTick, watch } from 'vue';
|
||||
import type { Theme } from 'vitepress';
|
||||
import { useData } from 'vitepress';
|
||||
import DefaultTheme from 'vitepress/theme';
|
||||
import Layout from './Layout.vue';
|
||||
|
||||
import './style.css';
|
||||
import './custom.css';
|
||||
import './tools.css';
|
||||
import './mermaid-overrides.css';
|
||||
import './mermaid-lightbox.client';
|
||||
|
||||
import { createMermaidRenderer } from 'vitepress-mermaid-renderer';
|
||||
|
||||
export default {
|
||||
extends: DefaultTheme,
|
||||
Layout,
|
||||
enhanceApp({ _app, _router, _siteData }) {},
|
||||
|
||||
Layout: () => {
|
||||
const { isDark, localeIndex } = useData();
|
||||
|
||||
const initMermaid = () => {
|
||||
const mermaidRenderer = createMermaidRenderer({
|
||||
theme: isDark.value ? 'dark' : 'forest',
|
||||
});
|
||||
|
||||
mermaidRenderer.setToolbar({
|
||||
showLanguageLabel: false,
|
||||
downloadFormat: 'svg',
|
||||
fullscreenMode: 'browser',
|
||||
desktop: {
|
||||
copyCode: 'enabled',
|
||||
toggleFullscreen: 'enabled',
|
||||
resetView: 'enabled',
|
||||
zoomOut: 'enabled',
|
||||
zoomIn: 'enabled',
|
||||
zoomLevel: 'enabled',
|
||||
download: 'enabled',
|
||||
},
|
||||
fullscreen: {
|
||||
copyCode: 'disabled',
|
||||
toggleFullscreen: 'enabled',
|
||||
resetView: 'disabled',
|
||||
zoomLevel: 'disabled',
|
||||
download: 'enabled',
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
nextTick(initMermaid);
|
||||
|
||||
watch(
|
||||
() => [isDark.value, localeIndex.value] as const,
|
||||
() => {
|
||||
initMermaid();
|
||||
},
|
||||
);
|
||||
|
||||
return h(Layout);
|
||||
},
|
||||
|
||||
enhanceApp() {},
|
||||
} satisfies Theme;
|
||||
|
||||
Reference in New Issue
Block a user