@@ -149,10 +149,6 @@ module.exports = function(grunt) {
149
149
150
150
//build the patternlab website
151
151
var patternlabSiteTemplate = grunt . file . read ( './source/_patternlab-files/index.mustache' ) ;
152
-
153
- //the patternlab site requires a lot of partials to be rendered.
154
- //patternNav.
155
- var patternNavTemplate = grunt . file . read ( './source/_patternlab-files/partials/patternNav.mustache' ) ;
156
152
157
153
//loop through all patterns. deciding to do this separate from the recursion, even at a performance hit, to attempt to separate the tasks of styleguide creation versus site menu creation
158
154
for ( var i = 0 ; i < patternlab . patterns . length ; i ++ ) {
@@ -174,7 +170,13 @@ module.exports = function(grunt) {
174
170
//get the navSubItem
175
171
var navSubItemName = pattern . patternName . replace ( / - / g, ' ' ) ;
176
172
177
- grunt . log . writeln ( 'new bucket found: ' + bucketName + " " + navItemName + " " + navSubItemName ) ;
173
+ //grunt.log.writeln('new bucket found: ' + bucketName + " " + navItemName + " " + navSubItemName);
174
+
175
+ //test whether the pattern struture is flat or not - usually due to a template or page
176
+ var flatPatternItem = false ;
177
+ if ( navItemName === bucketName ) {
178
+ flatPatternItem = true ;
179
+ }
178
180
179
181
//assume the navItem does not exist.
180
182
var navItem = new oNavItem ( navItemName ) ;
@@ -184,18 +186,28 @@ module.exports = function(grunt) {
184
186
navSubItem . patternPath = pattern . patternLink ;
185
187
navSubItem . patternPartial = bucketName + "-" + navSubItemName ;
186
188
187
- //TODO patternItems....
189
+ //if it is flat - we should not add the pattern to patternPaths
190
+ if ( flatPatternItem ) {
191
+ //grunt.log.writeln('flat source structure found for ' + navItemName + " " + bucketName);
192
+
193
+ //add the navItem to patternItems
194
+ bucket . patternItems . push ( navSubItem ) ;
195
+
196
+ } else {
197
+ //add the more complex nav items
198
+ bucket . navItems . push ( navItem ) ;
199
+ bucket . navItemsIndex . push ( navItemName ) ;
200
+ navItem . navSubItems . push ( navSubItem ) ;
201
+ navItem . navSubItemsIndex . push ( navSubItemName ) ;
202
+
203
+ //add to patternPaths
204
+ patternlab . patternPaths [ bucketName ] [ navSubItemName ] = pattern . subdir + "/" + pattern . filename . substring ( 0 , pattern . filename . indexOf ( '.' ) ) ;
205
+ }
188
206
189
- //add everything
190
- navItem . navSubItems . push ( navSubItem ) ;
191
- navItem . navSubItemsIndex . push ( navSubItemName ) ;
192
- bucket . navItems . push ( navItem ) ;
193
- bucket . navItemsIndex . push ( navItemName ) ;
207
+ //add the bucket.
194
208
patternlab . buckets . push ( bucket ) ;
195
209
patternlab . bucketIndex . push ( bucketName ) ;
196
210
197
- //add to patternPaths
198
- patternlab . patternPaths [ bucketName ] [ navSubItemName ] = pattern . subdir + "/" + pattern . filename . substring ( 0 , pattern . filename . indexOf ( '.' ) ) ;
199
211
200
212
//done
201
213
@@ -207,52 +219,50 @@ module.exports = function(grunt) {
207
219
var navItemName = pattern . subdir . split ( '-' ) . pop ( ) ;
208
220
209
221
//get the navSubItem
210
- var navSubItemName = pattern . patternName . replace ( / - / g, ' ' ) ; ;
211
-
212
- //check to see if navItem exists
213
- var navItemIndex = bucket . navItemsIndex . indexOf ( navItemName ) ;
214
- if ( navItemIndex === - 1 ) {
222
+ var navSubItemName = pattern . patternName . replace ( / - / g, ' ' ) ;
215
223
216
- var navItem = new oNavItem ( navItemName ) ;
224
+ //assume the navSubItem does not exist.
225
+ var navSubItem = new oNavSubItem ( navSubItemName ) ;
226
+ navSubItem . patternPath = pattern . patternLink ;
227
+ navSubItem . patternPartial = bucketName + "-" + navSubItemName ;
217
228
218
- //assume the navSubItem does not exist.
219
- var navSubItem = new oNavSubItem ( navSubItemName ) ;
220
- navSubItem . patternPath = pattern . patternLink ;
221
- navSubItem . patternPartial = bucketName + "-" + navSubItemName ;
229
+ //test whether the pattern struture is flat or not - usually due to a template or page
230
+ var flatPatternItem = false ;
231
+ if ( navItemName === bucketName ) {
232
+ flatPatternItem = true ;
233
+ }
222
234
223
- //add the navItem and navSubItem
224
- navItem . navSubItems . push ( navSubItem ) ;
225
- navItem . navSubItemsIndex . push ( navSubItemName ) ;
226
- bucket . navItems . push ( navItem ) ;
227
- bucket . navItemsIndex . push ( navItemName ) ;
235
+ //if it is flat - we should not add the pattern to patternPaths
236
+ if ( flatPatternItem ) {
237
+ //grunt.log.writeln('flat source structure found for ' + navItemName + " " + bucketName);
228
238
239
+ //add the navItem to patternItems
240
+ bucket . patternItems . push ( navSubItem ) ;
229
241
} else {
230
- var navItem = bucket . navItems [ navItemIndex ] ;
242
+ //check to see if navItem exists
243
+ var navItemIndex = bucket . navItemsIndex . indexOf ( navItemName ) ;
244
+ if ( navItemIndex === - 1 ) {
231
245
232
- //check to see if the navSubItem exists
233
- var navSubItemIndex = navItem . navSubItemsIndex . indexOf ( navSubItemName ) ;
234
- if ( navSubItemIndex === - 1 ) {
246
+ var navItem = new oNavItem ( navItemName ) ;
235
247
236
- var navSubItem = new oNavSubItem ( navSubItemName ) ;
237
- navSubItem . patternPath = pattern . patternLink ;
238
- navSubItem . patternPartial = bucketName + "-" + navSubItemName ;
239
-
240
- //add the navSubItem
248
+ //add the navItem and navSubItem
241
249
navItem . navSubItems . push ( navSubItem ) ;
242
250
navItem . navSubItemsIndex . push ( navSubItemName ) ;
251
+ bucket . navItems . push ( navItem ) ;
252
+ bucket . navItemsIndex . push ( navItemName ) ;
243
253
244
254
} else {
245
-
246
- var navSubItem = navItem . navSubItems [ navSubItemsIndex ] ;
247
-
248
- navSubItem . patternPath = pattern . patternLink ;
249
- navSubItem . patternPartial = bucketName + "-" + navSubItemName ;
255
+ //add the navSubItem
256
+ var navItem = bucket . navItems [ navItemIndex ] ;
257
+ navItem . navSubItems . push ( navSubItem ) ;
258
+ navItem . navSubItemsIndex . push ( navSubItemName ) ;
250
259
}
251
260
261
+ //add to patternPaths
262
+ patternlab . patternPaths [ bucketName ] [ navSubItemName ] = pattern . subdir + "/" + pattern . filename . substring ( 0 , pattern . filename . indexOf ( '.' ) ) ;
263
+
252
264
}
253
265
254
- //add to patternPaths
255
- patternlab . patternPaths [ bucketName ] [ navSubItemName ] = pattern . subdir + "/" + pattern . filename . substring ( 0 , pattern . filename . indexOf ( '.' ) ) ;
256
266
257
267
//check to see if this bucket has a View All yet. If not, add it.
258
268
// var navItem = bucket.navItems[navItemIndex];
@@ -290,6 +300,9 @@ module.exports = function(grunt) {
290
300
291
301
} ;
292
302
303
+ //the patternlab site requires a lot of partials to be rendered.
304
+ //patternNav
305
+ var patternNavTemplate = grunt . file . read ( './source/_patternlab-files/partials/patternNav.mustache' ) ;
293
306
var patternNavPartialHtml = mustache . render ( patternNavTemplate , patternlab ) ;
294
307
295
308
//ishControls
0 commit comments