mirror of
https://github.com/pengzhanbo/vuepress-theme-plume.git
synced 2026-04-23 10:58:13 +08:00
fix(theme): incorrect internal link
This commit is contained in:
parent
2fd8da5b7c
commit
aeee0ec8de
@ -54,7 +54,7 @@ const createTime = computed(() =>
|
||||
<div v-if="categoryList.length" class="category-list">
|
||||
<span class="icon vpi-folder" />
|
||||
<template v-for="(cate, i) in categoryList" :key="i">
|
||||
<VPLink :href="`${categoriesLink.link}?id=${cate.id}`">
|
||||
<VPLink :href="`${categoriesLink ? `${categoriesLink.link}?id=${cate.id}` : undefined}`">
|
||||
{{ cate.name }}
|
||||
</VPLink>
|
||||
<span v-if="i !== categoryList.length - 1">/</span>
|
||||
@ -66,7 +66,7 @@ const createTime = computed(() =>
|
||||
<VPLink
|
||||
class="tag"
|
||||
:class="tag.className"
|
||||
:href="`${tagsLink.link}?tag=${tag.name}`"
|
||||
:href="`${tagsLink ? `${tagsLink.link}?tag=${tag.name}` : undefined}`"
|
||||
>
|
||||
{{ tag.name }}
|
||||
</VPLink>
|
||||
|
||||
@ -37,7 +37,7 @@ const breadcrumbList = computed<Breadcrumb[]>(() => {
|
||||
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}`,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
@ -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 }}
|
||||
</VPLink>
|
||||
|
||||
@ -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,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user