From 4236877b48de605e9a4bbe2c226357acef777dc1 Mon Sep 17 00:00:00 2001 From: Kia Ishii Date: Mon, 20 Jul 2020 20:19:55 +0900 Subject: [PATCH] refactor: rename `resolvePath` to more readable one --- src/client/theme-default/components/SideBar.ts | 8 ++++++-- src/client/theme-default/utils.ts | 2 +- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/client/theme-default/components/SideBar.ts b/src/client/theme-default/components/SideBar.ts index ea89018b..54dbfa67 100644 --- a/src/client/theme-default/components/SideBar.ts +++ b/src/client/theme-default/components/SideBar.ts @@ -1,7 +1,7 @@ import { useSiteData, usePageData, useRoute } from 'vitepress' import { computed, h, FunctionalComponent, VNode } from 'vue' import { Header } from '../../../../types/shared' -import { isActive, resolvePath } from '../utils' +import { isActive, getPathDirName } from '../utils' import { DefaultTheme } from '../config' import { useActiveSidebarLinks } from '../composables/activeSidebarLink' @@ -91,6 +91,10 @@ interface ResolvedSidebarItem { function resolveAutoSidebar(headers: Header[], depth: number): ResolvedSidebar { const ret: ResolvedSidebar = [] + if (headers === undefined) { + return [] + } + let lastH2: ResolvedSidebarItem | undefined = undefined headers.forEach(({ level, title, slug }) => { if (level - 1 > depth) { @@ -125,7 +129,7 @@ function resolveMultiSidebar( headers: Header[], depth: number ): ResolvedSidebar { - const item = config[resolvePath(path)] + const item = config[getPathDirName(path)] if (Array.isArray(item)) { return resolveArraySidebar(item, depth) diff --git a/src/client/theme-default/utils.ts b/src/client/theme-default/utils.ts index 2fbcce35..abb0f28a 100644 --- a/src/client/theme-default/utils.ts +++ b/src/client/theme-default/utils.ts @@ -27,7 +27,7 @@ export function normalize(path: string): string { * path is `/guide/getting-started.html`, this method will return `/guide/`. * Always with a trailing slash. */ -export function resolvePath(path: string): string { +export function getPathDirName(path: string): string { const segments = path.split('/') if (segments[segments.length - 1]) {