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">
|
<div v-if="categoryList.length" class="category-list">
|
||||||
<span class="icon vpi-folder" />
|
<span class="icon vpi-folder" />
|
||||||
<template v-for="(cate, i) in categoryList" :key="i">
|
<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 }}
|
{{ cate.name }}
|
||||||
</VPLink>
|
</VPLink>
|
||||||
<span v-if="i !== categoryList.length - 1">/</span>
|
<span v-if="i !== categoryList.length - 1">/</span>
|
||||||
@ -66,7 +66,7 @@ const createTime = computed(() =>
|
|||||||
<VPLink
|
<VPLink
|
||||||
class="tag"
|
class="tag"
|
||||||
:class="tag.className"
|
:class="tag.className"
|
||||||
:href="`${tagsLink.link}?tag=${tag.name}`"
|
:href="`${tagsLink ? `${tagsLink.link}?tag=${tag.name}` : undefined}`"
|
||||||
>
|
>
|
||||||
{{ tag.name }}
|
{{ tag.name }}
|
||||||
</VPLink>
|
</VPLink>
|
||||||
|
|||||||
@ -37,7 +37,7 @@ const breadcrumbList = computed<Breadcrumb[]>(() => {
|
|||||||
for (const category of categoryList) {
|
for (const category of categoryList) {
|
||||||
list.push({
|
list.push({
|
||||||
text: category.name,
|
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 { computed } from 'vue'
|
||||||
import VPLink from '@theme/VPLink.vue'
|
import VPLink from '@theme/VPLink.vue'
|
||||||
import { useReadingTimeLocale } from '@vuepress/plugin-reading-time/client'
|
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 { page, frontmatter: matter } = useData<'post'>()
|
||||||
const colors = useTagColors()
|
const colors = useTagColors()
|
||||||
const readingTime = useReadingTimeLocale()
|
const readingTime = useReadingTimeLocale()
|
||||||
const { tags: tagsLink } = useInternalLink()
|
const { tags: tagsLink } = useInternalLink()
|
||||||
|
const { isBlogPost } = useBlogPageData()
|
||||||
|
|
||||||
const createTime = computed(() => {
|
const createTime = computed(() => {
|
||||||
if (matter.value.createTime)
|
if (matter.value.createTime)
|
||||||
@ -47,7 +48,7 @@ const hasMeta = computed(() => readingTime.value.time || tags.value.length || cr
|
|||||||
:key="tag.name"
|
:key="tag.name"
|
||||||
class="tag"
|
class="tag"
|
||||||
:class="tag.className"
|
:class="tag.className"
|
||||||
:href="`${tagsLink.link}?tag=${tag.name}`"
|
:href="`${tagsLink?.link && isBlogPost ? `${tagsLink.link}?tag=${tag.name}` : undefined}`"
|
||||||
>
|
>
|
||||||
{{ tag.name }}
|
{{ tag.name }}
|
||||||
</VPLink>
|
</VPLink>
|
||||||
|
|||||||
@ -23,10 +23,18 @@ export function useInternalLink() {
|
|||||||
const blogData = computed(() => theme.value.blog || {})
|
const blogData = computed(() => theme.value.blog || {})
|
||||||
|
|
||||||
const home = computed(() => resolveLink('home', '/'))
|
const home = computed(() => resolveLink('home', '/'))
|
||||||
const blog = computed(() => resolveLink('blog', blogData.value.link || 'blog/'))
|
const blog = computed(() => blogData.value.postList !== false
|
||||||
const tags = computed(() => resolveLink('tag', blogData.value.tagsLink || 'blog/tags/'))
|
? resolveLink('blog', blogData.value.link || 'blog/')
|
||||||
const archive = computed(() => resolveLink('archive', blogData.value.archivesLink || 'blog/archives/'))
|
: home.value)
|
||||||
const categories = computed(() => resolveLink('category', blogData.value.categoriesLink || 'blog/categories/'))
|
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 {
|
return {
|
||||||
home,
|
home,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user