@@ -14,7 +14,7 @@ const allVersions = Object.keys(require('./all-versions'))
14
14
// or if a category has direct child articles:
15
15
// siteTree[languageCode][version].products[productHref].categories[categoryHref].articles
16
16
17
- module . exports = async function buildSiteTree ( pages , site , redirects ) {
17
+ module . exports = async function buildSiteTree ( pageMap , site , redirects ) {
18
18
const siteTree = { }
19
19
20
20
languageCodes . forEach ( languageCode => {
@@ -38,12 +38,12 @@ module.exports = async function buildSiteTree (pages, site, redirects) {
38
38
product . href = item . href
39
39
40
40
// find the product TOC page and get TOC items
41
- const page = findPageInVersion ( item . href , pages , redirects , languageCode , version )
41
+ const page = findPageInVersion ( item . href , pageMap , redirects , languageCode , version )
42
42
43
43
// skip if page can't be found in this version
44
44
if ( ! page ) return
45
45
46
- product . categories = buildCategoriesTree ( page . tocItems , item . href , pages , redirects , version , languageCode )
46
+ product . categories = buildCategoriesTree ( page . tocItems , item . href , pageMap , redirects , version , languageCode )
47
47
48
48
productTree [ item . id ] = product
49
49
return null
@@ -58,7 +58,7 @@ module.exports = async function buildSiteTree (pages, site, redirects) {
58
58
return siteTree
59
59
}
60
60
61
- function buildCategoriesTree ( tocItems , productHref , pages , redirects , version , languageCode ) {
61
+ function buildCategoriesTree ( tocItems , productHref , pageMap , redirects , version , languageCode ) {
62
62
const categoryTree = { }
63
63
64
64
// for every category in a product TOC...
@@ -71,7 +71,7 @@ function buildCategoriesTree (tocItems, productHref, pages, redirects, version,
71
71
category . href = versionedCategoryHref
72
72
73
73
// find the category TOC page and get its TOC items
74
- const page = findPageInVersion ( categoryHref , pages , redirects , languageCode , version )
74
+ const page = findPageInVersion ( categoryHref , pageMap , redirects , languageCode , version )
75
75
76
76
// skip if page can't be found in this version
77
77
if ( ! page ) return
@@ -90,9 +90,9 @@ function buildCategoriesTree (tocItems, productHref, pages, redirects, version,
90
90
// if TOC contains maptopics, build a maptopics tree
91
91
// otherwise build an articles tree
92
92
if ( hasMaptopics ) {
93
- category . maptopics = buildMaptopicsTree ( page . tocItems , categoryHref , pages , redirects , version , languageCode )
93
+ category . maptopics = buildMaptopicsTree ( page . tocItems , categoryHref , pageMap , redirects , version , languageCode )
94
94
} else {
95
- category . articles = buildArticlesTree ( page . tocItems , categoryHref , pages , redirects , version , languageCode )
95
+ category . articles = buildArticlesTree ( page . tocItems , categoryHref , pageMap , redirects , version , languageCode )
96
96
}
97
97
}
98
98
@@ -102,7 +102,7 @@ function buildCategoriesTree (tocItems, productHref, pages, redirects, version,
102
102
return categoryTree
103
103
}
104
104
105
- function buildMaptopicsTree ( tocItems , categoryHref , pages , redirects , version , languageCode ) {
105
+ function buildMaptopicsTree ( tocItems , categoryHref , pageMap , redirects , version , languageCode ) {
106
106
const maptopicTree = { }
107
107
108
108
// for every maptopic in a category TOC...
@@ -118,7 +118,7 @@ function buildMaptopicsTree (tocItems, categoryHref, pages, redirects, version,
118
118
119
119
// we already have access to the child articles via the category TOC items
120
120
// but we still need the page to get the available versions
121
- const page = findPageInVersion ( maptopicHref , pages , redirects , languageCode , version )
121
+ const page = findPageInVersion ( maptopicHref , pageMap , redirects , languageCode , version )
122
122
123
123
// skip if page can't be found in this version
124
124
if ( ! page ) return
@@ -135,14 +135,14 @@ function buildMaptopicsTree (tocItems, categoryHref, pages, redirects, version,
135
135
// make the child articles accessible to the page object for maptopic rendering
136
136
if ( ! page . childArticles ) page . childArticles = childArticles
137
137
138
- maptopic . articles = buildArticlesTree ( childArticles , categoryHref , pages , redirects , version , languageCode )
138
+ maptopic . articles = buildArticlesTree ( childArticles , categoryHref , pageMap , redirects , version , languageCode )
139
139
maptopicTree [ versionedMaptopicHref ] = maptopic
140
140
} )
141
141
142
142
return maptopicTree
143
143
}
144
144
145
- function buildArticlesTree ( tocItems , categoryHref , pages , redirects , version , languageCode ) {
145
+ function buildArticlesTree ( tocItems , categoryHref , pageMap , redirects , version , languageCode ) {
146
146
const articleTree = { }
147
147
148
148
// REST categories may not have TOC items
@@ -157,7 +157,7 @@ function buildArticlesTree (tocItems, categoryHref, pages, redirects, version, l
157
157
const versionedArticleHref = getVersionedPathWithoutLanguage ( articleHref , version )
158
158
article . href = versionedArticleHref
159
159
160
- const page = findPageInVersion ( articleHref , pages , redirects , languageCode , version )
160
+ const page = findPageInVersion ( articleHref , pageMap , redirects , languageCode , version )
161
161
162
162
// skip if page can't be found in this version
163
163
if ( ! page ) return
0 commit comments