@@ -53,7 +53,18 @@ export function isActive (route, path) {
53
53
return routePath === pagePath
54
54
}
55
55
56
+ function normalizedPagesMap ( pages ) {
57
+ return pages . reduce ( ( map , page ) => {
58
+ map [ normalize ( page . regularPath ) ] = page
59
+ return map
60
+ } , { } )
61
+ }
62
+
56
63
export function resolvePage ( pages , rawPath , base ) {
64
+ return resolvePageByMap ( normalizedPagesMap ( pages ) , rawPath , base )
65
+ }
66
+
67
+ function resolvePageByMap ( pages , rawPath , base ) {
57
68
if ( base ) {
58
69
rawPath = resolvePath ( rawPath , base )
59
70
}
@@ -126,16 +137,12 @@ export function resolveSidebarItems (page, regularPath, site, localePath) {
126
137
}
127
138
128
139
const sidebarConfig = localeConfig . sidebar || themeConfig . sidebar
129
- const normalizedPagesMap = pages . reduce ( ( map , page ) => {
130
- map [ normalize ( page . regularPath ) ] = page
131
- return map
132
- } , { } )
133
140
if ( ! sidebarConfig ) {
134
141
return [ ]
135
142
} else {
136
143
const { base, config } = resolveMatchingConfig ( regularPath , sidebarConfig )
137
144
return config
138
- ? config . map ( item => resolveItem ( item , normalizedPagesMap , base ) )
145
+ ? config . map ( item => resolveItem ( item , normalizedPagesMap ( pages ) , base ) )
139
146
: [ ]
140
147
}
141
148
}
@@ -211,9 +218,9 @@ function ensureEndingSlash (path) {
211
218
212
219
function resolveItem ( item , pages , base , isNested ) {
213
220
if ( typeof item === 'string' ) {
214
- return resolvePage ( pages , item , base )
221
+ return resolvePageByMap ( pages , item , base )
215
222
} else if ( Array . isArray ( item ) ) {
216
- return Object . assign ( resolvePage ( pages , item [ 0 ] , base ) , {
223
+ return Object . assign ( resolvePageByMap ( pages , item [ 0 ] , base ) , {
217
224
title : item [ 1 ]
218
225
} )
219
226
} else {
0 commit comments