Files
certd/docs/.vitepress/theme/index.ts
2024-10-20 03:35:08 +08:00

36 lines
913 B
TypeScript

// https://vitepress.dev/guide/custom-theme
// import { h } from 'vue'
import type { Theme } from 'vitepress'
import DefaultTheme from 'vitepress/theme'
import './style.css'
import Layout from './Layout.vue'
import { registerAnalytics, siteIds, trackPageview } from './plugins/baidutongji'
import { inBrowser } from "vitepress";
export default {
extends: DefaultTheme,
Layout,
// Layout: () => {
// return h(DefaultTheme.Layout, null, {
// // https://vitepress.dev/guide/extending-default-theme#layout-slots
// })
// },
enhanceApp({ app, router, siteData }) {
// ...
if (inBrowser) {
registerAnalytics(siteIds)
window.addEventListener('hashchange', () => {
const { href: url } = window.location
trackPageview(siteIds, url)
})
router.onAfterRouteChanged = (to) => {
trackPageview(siteIds, to)
}
}
}
} satisfies Theme