diff --git a/docs/.vuepress/notes.ts b/docs/.vuepress/notes.ts index e5bc3398..98c9bd90 100644 --- a/docs/.vuepress/notes.ts +++ b/docs/.vuepress/notes.ts @@ -116,7 +116,7 @@ export const zhNotes = definePlumeNotesConfig({ { text: 'plugin-netlify-functions', dir: 'netlify-functions', - link: '/plugins/plugin-netlify-functions/', + link: 'plugin-netlify-functions/', items: [ '介绍', '使用', diff --git a/theme/src/client/components/Home/VPHome.vue b/theme/src/client/components/Home/VPHome.vue index 8e2b3fa6..3637abac 100644 --- a/theme/src/client/components/Home/VPHome.vue +++ b/theme/src/client/components/Home/VPHome.vue @@ -60,7 +60,7 @@ let el: HTMLDivElement | null = null watch(() => onlyOnce.value, value => nextTick(() => { if (typeof document !== 'undefined') { - el ??= document.querySelector('#VPContent') + el ??= document.querySelector('.vp-layout') el?.classList.toggle('footer-no-border', value) } }), { immediate: true }) diff --git a/theme/src/client/components/VPDoc.vue b/theme/src/client/components/VPDoc.vue index a4b7715f..13142d0b 100644 --- a/theme/src/client/components/VPDoc.vue +++ b/theme/src/client/components/VPDoc.vue @@ -9,23 +9,20 @@ import VPDocMeta from '@theme/VPDocMeta.vue' import { useEncrypt } from '../composables/encrypt.js' import { useSidebar } from '../composables/sidebar.js' import { useData } from '../composables/data.js' +import { useHeaders } from '../composables/outline.js' const { page, theme, frontmatter, isDark } = useData() const route = useRoute() const { hasSidebar, hasAside, leftAside } = useSidebar() +const headers = useHeaders() const { isPageDecrypted } = useEncrypt() const hasComments = computed(() => { return page.value.frontmatter.comments !== false && isPageDecrypted.value }) -const enableAside = computed(() => { - if (page.value.isBlogPost) - return hasAside.value && isPageDecrypted.value && page.value.headers.length - - return hasAside.value && isPageDecrypted.value -}) +const enableAside = computed(() => hasAside.value && headers.value.length) const pageName = computed(() => route.path.replace(/[./]+/g, '_').replace(/_html$/, ''), @@ -68,7 +65,7 @@ watch(
import { computed, ref } from 'vue' -import { onContentUpdated } from '@vuepress-plume/plugin-content-update/client' import VPDocOutlineItem from '@theme/VPDocOutlineItem.vue' -import { type MenuItem, getHeaders, useActiveAnchor } from '../composables/outline.js' +import { useActiveAnchor, useHeaders } from '../composables/outline.js' import { useData } from '../composables/data.js' -const { theme, frontmatter } = useData() +const { theme } = useData() -const headers = ref([]) +const headers = useHeaders() const hasOutline = computed(() => headers.value.length > 0) -onContentUpdated(() => { - headers.value = getHeaders(frontmatter.value.outline ?? theme.value.outline) -}) - const container = ref() const marker = ref() diff --git a/theme/src/client/components/VPFooter.vue b/theme/src/client/components/VPFooter.vue index b57cc0ae..271974c0 100644 --- a/theme/src/client/components/VPFooter.vue +++ b/theme/src/client/components/VPFooter.vue @@ -50,6 +50,7 @@ onMounted(() => { } .footer-no-border .vp-footer { + background-color: transparent; border-top: none; } diff --git a/theme/src/client/components/VPLocalNav.vue b/theme/src/client/components/VPLocalNav.vue index c96cdc67..409508a1 100644 --- a/theme/src/client/components/VPLocalNav.vue +++ b/theme/src/client/components/VPLocalNav.vue @@ -1,10 +1,9 @@