From 4e158964d23acfd2065ba67aa14f26a7b7a4d8a7 Mon Sep 17 00:00:00 2001 From: pengzhanbo Date: Mon, 23 Dec 2024 23:10:24 +0800 Subject: [PATCH] fix(theme): incorrect link external parsing (#396) --- theme/src/client/composables/link.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/theme/src/client/composables/link.ts b/theme/src/client/composables/link.ts index f9e54f3b..3683f6b1 100644 --- a/theme/src/client/composables/link.ts +++ b/theme/src/client/composables/link.ts @@ -3,8 +3,6 @@ import { computed, type MaybeRefOrGetter, toValue } from 'vue' import { resolveRouteFullPath, useRoute } from 'vuepress/client' import { useData } from './data.js' -const ENDING_SLASH = /(?:\/|\.(?:md|html))$/i - export function useLink( href: MaybeRefOrGetter, target?: MaybeRefOrGetter, @@ -19,8 +17,10 @@ export function useLink( return false if (rawTarget === '_blank' || isLinkExternal(link)) return true - const pathname = link.split(/[#?]/)[0] - return !ENDING_SLASH.test(pathname) + const filename = link.split(/[#?]/)[0]?.split('/').pop() || '' + if (filename === '' || filename.endsWith('.html') || filename.endsWith('.md')) + return false + return filename.includes('.') }) const link = computed(() => {