diff --git a/theme/src/client/components/VPDoc.vue b/theme/src/client/components/VPDoc.vue index a4b7715f5..13142d0b5 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 { type MenuItem, 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/VPLocalNav.vue b/theme/src/client/components/VPLocalNav.vue index c96cdc672..409508a1f 100644 --- a/theme/src/client/components/VPLocalNav.vue +++ b/theme/src/client/components/VPLocalNav.vue @@ -1,10 +1,9 @@