diff --git a/theme/src/client/components/Blog/VPPostItem.vue b/theme/src/client/components/Blog/VPPostItem.vue
index abb6285f..39cf64bf 100644
--- a/theme/src/client/components/Blog/VPPostItem.vue
+++ b/theme/src/client/components/Blog/VPPostItem.vue
@@ -54,7 +54,7 @@ const createTime = computed(() =>
-
+
{{ cate.name }}
/
@@ -66,7 +66,7 @@ const createTime = computed(() =>
{{ tag.name }}
diff --git a/theme/src/client/components/VPDocBreadcrumbs.vue b/theme/src/client/components/VPDocBreadcrumbs.vue
index dfd5efbe..49670f4d 100644
--- a/theme/src/client/components/VPDocBreadcrumbs.vue
+++ b/theme/src/client/components/VPDocBreadcrumbs.vue
@@ -37,7 +37,7 @@ const breadcrumbList = computed(() => {
for (const category of categoryList) {
list.push({
text: category.name,
- link: `${categories.value.link}?id=${category.id}`,
+ link: `${categories.value ? `${categories.value.link}?id=${category.id}` : undefined}`,
})
}
}
diff --git a/theme/src/client/components/VPDocMeta.vue b/theme/src/client/components/VPDocMeta.vue
index 82a66cd0..89552c78 100644
--- a/theme/src/client/components/VPDocMeta.vue
+++ b/theme/src/client/components/VPDocMeta.vue
@@ -2,12 +2,13 @@
import { computed } from 'vue'
import VPLink from '@theme/VPLink.vue'
import { useReadingTimeLocale } from '@vuepress/plugin-reading-time/client'
-import { useData, useInternalLink, useTagColors } from '../composables/index.js'
+import { useBlogPageData, useData, useInternalLink, useTagColors } from '../composables/index.js'
const { page, frontmatter: matter } = useData<'post'>()
const colors = useTagColors()
const readingTime = useReadingTimeLocale()
const { tags: tagsLink } = useInternalLink()
+const { isBlogPost } = useBlogPageData()
const createTime = computed(() => {
if (matter.value.createTime)
@@ -47,7 +48,7 @@ const hasMeta = computed(() => readingTime.value.time || tags.value.length || cr
:key="tag.name"
class="tag"
:class="tag.className"
- :href="`${tagsLink.link}?tag=${tag.name}`"
+ :href="`${tagsLink?.link && isBlogPost ? `${tagsLink.link}?tag=${tag.name}` : undefined}`"
>
{{ tag.name }}
diff --git a/theme/src/client/composables/internal-link.ts b/theme/src/client/composables/internal-link.ts
index c3476100..99028205 100644
--- a/theme/src/client/composables/internal-link.ts
+++ b/theme/src/client/composables/internal-link.ts
@@ -23,10 +23,18 @@ export function useInternalLink() {
const blogData = computed(() => theme.value.blog || {})
const home = computed(() => resolveLink('home', '/'))
- const blog = computed(() => resolveLink('blog', blogData.value.link || 'blog/'))
- const tags = computed(() => resolveLink('tag', blogData.value.tagsLink || 'blog/tags/'))
- const archive = computed(() => resolveLink('archive', blogData.value.archivesLink || 'blog/archives/'))
- const categories = computed(() => resolveLink('category', blogData.value.categoriesLink || 'blog/categories/'))
+ const blog = computed(() => blogData.value.postList !== false
+ ? resolveLink('blog', blogData.value.link || 'blog/')
+ : home.value)
+ const tags = computed(() => blogData.value.tags !== false
+ ? resolveLink('tag', blogData.value.tagsLink || 'blog/tags/')
+ : undefined)
+ const archive = computed(() => blogData.value.archives !== false
+ ? resolveLink('archive', blogData.value.archivesLink || 'blog/archives/')
+ : undefined)
+ const categories = computed(() => blogData.value.categories !== false
+ ? resolveLink('category', blogData.value.categoriesLink || 'blog/categories/')
+ : undefined)
return {
home,