From 8cca70ed236a731d541f647a724771c2fe8ab050 Mon Sep 17 00:00:00 2001 From: Rizumu Ayaka Date: Fri, 22 Dec 2023 21:41:55 +0800 Subject: [PATCH] fix: changelog path parsing error --- docs/.vitepress/plugins/changelog.ts | 2 +- .../.vitepress/theme/components/Changelog.vue | 4 ++-- .../.vitepress/theme/composables/changelog.ts | 3 --- docs/.vitepress/theme/composables/route.ts | 23 ++++++++++++++++--- 4 files changed, 23 insertions(+), 9 deletions(-) diff --git a/docs/.vitepress/plugins/changelog.ts b/docs/.vitepress/plugins/changelog.ts index 16776fc..e3714bf 100644 --- a/docs/.vitepress/plugins/changelog.ts +++ b/docs/.vitepress/plugins/changelog.ts @@ -15,7 +15,7 @@ export function ChangeLog({ maxGitLogCount = 200 } = {}): Plugin { return { - name: 'vueuse-changelog', + name: 'git-changelog', resolveId(id) { return id === ID ? ID : null }, diff --git a/docs/.vitepress/theme/components/Changelog.vue b/docs/.vitepress/theme/components/Changelog.vue index bf7b439..bb0878a 100644 --- a/docs/.vitepress/theme/components/Changelog.vue +++ b/docs/.vitepress/theme/components/Changelog.vue @@ -35,8 +35,8 @@ const isFreshChange = computed(() => { 暂无最近变更历史
- - + + 此文档最后编辑于 {{ lastChangeDate?.fromNow() }} diff --git a/docs/.vitepress/theme/composables/changelog.ts b/docs/.vitepress/theme/composables/changelog.ts index a0de4fe..bcba704 100644 --- a/docs/.vitepress/theme/composables/changelog.ts +++ b/docs/.vitepress/theme/composables/changelog.ts @@ -1,12 +1,9 @@ -import { rootDir } from "../../meta" import { CommitInfo } from "../../types" import { type MaybeRefOrGetter, computed, toValue } from 'vue' export function useCommits(allCommits: CommitInfo[], path: MaybeRefOrGetter) { return computed(() => { let currentPath = toValue(path) - currentPath = (rootDir ? rootDir + '/' : '') + currentPath - const commits = allCommits.filter(c => { return c.version || c.path?.find(p => { const action = p[0], path1 = p[1]?.toLowerCase(), path2 = p[2]?.toLowerCase() diff --git a/docs/.vitepress/theme/composables/route.ts b/docs/.vitepress/theme/composables/route.ts index c11b97e..04acc79 100644 --- a/docs/.vitepress/theme/composables/route.ts +++ b/docs/.vitepress/theme/composables/route.ts @@ -1,9 +1,26 @@ import { useRoute } from 'vitepress' import { computed } from 'vue' +import { rootDir } from '../../meta' export function useRawPath() { const route = useRoute() - return computed(() => ( - decodeURIComponent(route.path).replace(/^\/(.+)\.html$/, '$1.md').toLowerCase() - )) + return computed(() => { + let path = decodeURIComponent(route.path).toLowerCase() + if (path.endsWith('/')) { + path += 'index.md' + } else { + path = path.replace(/^\/(.+?)(\.html)?$/s, '$1.md') + } + return pathJoin(rootDir, path).toLowerCase() + }) +} + +export function pathJoin(...args: string[]) { + return args.map((part, i) => { + if (i === 0) { + return part.trim().replace(/[\/]*$/g, '') + } else { + return part.trim().replace(/(^[\/]*|[\/]*$)/g, '') + } + }).filter(x=>x.length).join('/') }