Skip to content

Commit 2fe8f60

Browse files
committed
revert(theme): revert 'allow setting base path in sidebar items'
closes #2752
1 parent 7141a83 commit 2fe8f60

File tree

3 files changed

+40
-58
lines changed

3 files changed

+40
-58
lines changed

Diff for: docs/.vitepress/config.ts

+37-37
Original file line numberDiff line numberDiff line change
@@ -53,8 +53,8 @@ export default defineConfig({
5353
nav: nav(),
5454

5555
sidebar: {
56-
'/guide/': { base: '/guide/', items: sidebarGuide() },
57-
'/reference/': { base: '/reference/', items: sidebarReference() }
56+
'/guide/': sidebarGuide(),
57+
'/reference/': sidebarReference()
5858
},
5959

6060
editLink: {
@@ -122,72 +122,72 @@ function sidebarGuide(): DefaultTheme.SidebarItem[] {
122122
text: 'Introduction',
123123
collapsed: false,
124124
items: [
125-
{ text: 'What is VitePress?', link: 'what-is-vitepress' },
126-
{ text: 'Getting Started', link: 'getting-started' },
127-
{ text: 'Routing', link: 'routing' },
128-
{ text: 'Deploy', link: 'deploy' }
125+
{ text: 'What is VitePress?', link: '/guide/what-is-vitepress' },
126+
{ text: 'Getting Started', link: '/guide/getting-started' },
127+
{ text: 'Routing', link: '/guide/routing' },
128+
{ text: 'Deploy', link: '/guide/deploy' }
129129
]
130130
},
131131
{
132132
text: 'Writing',
133133
collapsed: false,
134134
items: [
135-
{ text: 'Markdown Extensions', link: 'markdown' },
136-
{ text: 'Asset Handling', link: 'asset-handling' },
137-
{ text: 'Frontmatter', link: 'frontmatter' },
138-
{ text: 'Using Vue in Markdown', link: 'using-vue' },
139-
{ text: 'Internationalization', link: 'i18n' }
135+
{ text: 'Markdown Extensions', link: '/guide/markdown' },
136+
{ text: 'Asset Handling', link: '/guide/asset-handling' },
137+
{ text: 'Frontmatter', link: '/guide/frontmatter' },
138+
{ text: 'Using Vue in Markdown', link: '/guide/using-vue' },
139+
{ text: 'Internationalization', link: '/guide/i18n' }
140140
]
141141
},
142142
{
143143
text: 'Customization',
144144
collapsed: false,
145145
items: [
146-
{ text: 'Using a Custom Theme', link: 'custom-theme' },
147-
{ text: 'Extending the Default Theme', link: 'extending-default-theme' },
148-
{ text: 'Build-Time Data Loading', link: 'data-loading' },
149-
{ text: 'SSR Compatibility', link: 'ssr-compat' },
150-
{ text: 'Connecting to a CMS', link: 'cms' }
146+
{ text: 'Using a Custom Theme', link: '/guide/custom-theme' },
147+
{ text: 'Extending the Default Theme', link: '/guide/extending-default-theme' },
148+
{ text: 'Build-Time Data Loading', link: '/guide/data-loading' },
149+
{ text: 'SSR Compatibility', link: '/guide/ssr-compat' },
150+
{ text: 'Connecting to a CMS', link: '/guide/cms' }
151151
]
152152
},
153153
{
154154
text: 'Experimental',
155155
collapsed: false,
156156
items: [
157-
{ text: 'MPA Mode', link: 'mpa-mode' },
158-
{ text: 'Sitemap Generation', link: 'sitemap-generation' }
157+
{ text: 'MPA Mode', link: '/guide/mpa-mode' },
158+
{ text: 'Sitemap Generation', link: '/guide/sitemap-generation' }
159159
]
160160
},
161-
{ text: 'Config & API Reference', base: '/reference/', link: 'site-config' }
161+
{ text: 'Config & API Reference', link: '/reference/site-config' }
162162
]
163163
}
164164

165+
/* prettier-ignore */
165166
function sidebarReference(): DefaultTheme.SidebarItem[] {
166167
return [
167168
{
168169
text: 'Reference',
169170
items: [
170-
{ text: 'Site Config', link: 'site-config' },
171-
{ text: 'Frontmatter Config', link: 'frontmatter-config' },
172-
{ text: 'Runtime API', link: 'runtime-api' },
173-
{ text: 'CLI', link: 'cli' },
171+
{ text: 'Site Config', link: '/reference/site-config' },
172+
{ text: 'Frontmatter Config', link: '/reference/frontmatter-config' },
173+
{ text: 'Runtime API', link: '/reference/runtime-api' },
174+
{ text: 'CLI', link: '/reference/cli' },
174175
{
175176
text: 'Default Theme',
176-
base: '/reference/default-theme-',
177177
items: [
178-
{ text: 'Overview', link: 'config' },
179-
{ text: 'Nav', link: 'nav' },
180-
{ text: 'Sidebar', link: 'sidebar' },
181-
{ text: 'Home Page', link: 'home-page' },
182-
{ text: 'Footer', link: 'footer' },
183-
{ text: 'Layout', link: 'layout' },
184-
{ text: 'Badge', link: 'badge' },
185-
{ text: 'Team Page', link: 'team-page' },
186-
{ text: 'Prev / Next Links', link: 'prev-next-links' },
187-
{ text: 'Edit Link', link: 'edit-link' },
188-
{ text: 'Last Updated Timestamp', link: 'last-updated' },
189-
{ text: 'Search', link: 'search' },
190-
{ text: 'Carbon Ads', link: 'carbon-ads' }
178+
{ text: 'Overview', link: '/reference/default-theme-config' },
179+
{ text: 'Nav', link: '/reference/default-theme-nav' },
180+
{ text: 'Sidebar', link: '/reference/default-theme-sidebar' },
181+
{ text: 'Home Page', link: '/reference/default-theme-home-page' },
182+
{ text: 'Footer', link: '/reference/default-theme-footer' },
183+
{ text: 'Layout', link: '/reference/default-theme-layout' },
184+
{ text: 'Badge', link: '/reference/default-theme-badge' },
185+
{ text: 'Team Page', link: '/reference/default-theme-team-page' },
186+
{ text: 'Prev / Next Links', link: '/reference/default-theme-prev-next-links' },
187+
{ text: 'Edit Link', link: '/reference/default-theme-edit-link' },
188+
{ text: 'Last Updated Timestamp', link: '/reference/default-theme-last-updated' },
189+
{ text: 'Search', link: '/reference/default-theme-search' },
190+
{ text: 'Carbon Ads', link: '/reference/default-theme-carbon-ads' }
191191
]
192192
}
193193
]

Diff for: src/client/theme-default/support/sidebar.ts

+2-15
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ export function getSidebar(
2020
_sidebar: DefaultTheme.Sidebar | undefined,
2121
path: string
2222
): SidebarItem[] {
23-
if (Array.isArray(_sidebar)) return addBase(_sidebar)
23+
if (Array.isArray(_sidebar)) return _sidebar
2424
if (_sidebar == null) return []
2525

2626
path = ensureStartingSlash(path)
@@ -34,10 +34,7 @@ export function getSidebar(
3434
return path.startsWith(ensureStartingSlash(dir))
3535
})
3636

37-
const sidebar = dir ? _sidebar[dir] : []
38-
return Array.isArray(sidebar)
39-
? addBase(sidebar)
40-
: addBase(sidebar.items, sidebar.base)
37+
return dir ? _sidebar[dir] : []
4138
}
4239

4340
/**
@@ -107,13 +104,3 @@ export function hasActiveLink(
107104
? hasActiveLink(path, items.items)
108105
: false
109106
}
110-
111-
function addBase(items: SidebarItem[], _base?: string): SidebarItem[] {
112-
return [...items].map((_item) => {
113-
const item = { ..._item }
114-
const base = item.base || _base
115-
if (base && item.link) item.link = base + item.link
116-
if (item.items) item.items = addBase(item.items, base)
117-
return item
118-
})
119-
}

Diff for: types/default-theme.d.ts

+1-6
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ export namespace DefaultTheme {
202202
export type Sidebar = SidebarItem[] | SidebarMulti
203203

204204
export interface SidebarMulti {
205-
[path: string]: SidebarItem[] | { items: SidebarItem[]; base: string }
205+
[path: string]: SidebarItem[]
206206
}
207207

208208
export type SidebarItem = {
@@ -230,11 +230,6 @@ export namespace DefaultTheme {
230230
*/
231231
collapsed?: boolean
232232

233-
/**
234-
* Base path for the children items.
235-
*/
236-
base?: string
237-
238233
/**
239234
* Customize text that appears on the footer of previous/next page.
240235
*/

0 commit comments

Comments
 (0)