1
1
/*
2
- * patternlab-node - v1.0.0 - 2015
2
+ * patternlab-node - v1.0.1 - 2015
3
3
*
4
4
* Brian Muenzenmeyer, and the web community.
5
5
* Licensed under the MIT license.
@@ -124,6 +124,7 @@ var patternlab_engine = function () {
124
124
125
125
//render all patterns last, so lineageR works
126
126
patternlab . patterns . forEach ( function ( pattern , index , patterns ) {
127
+
127
128
//render the pattern, but first consolidate any data we may have
128
129
var allData = JSON . parse ( JSON . stringify ( patternlab . data ) ) ;
129
130
allData = pattern_assembler . merge_data ( allData , pattern . jsonFileData ) ;
@@ -165,15 +166,24 @@ var patternlab_engine = function () {
165
166
// check if patterns are excluded, if not add them to styleguidePatterns
166
167
if ( styleGuideExcludes . length ) {
167
168
for ( i = 0 ; i < patternlab . patterns . length ; i ++ ) {
168
- var key = patternlab . patterns [ i ] . key ;
169
- var typeKey = key . substring ( 0 , key . indexOf ( '-' ) ) ;
170
- var isExcluded = ( styleGuideExcludes . indexOf ( typeKey ) > - 1 ) ;
171
- if ( ! isExcluded ) {
172
- styleguidePatterns . push ( patternlab . patterns [ i ] ) ;
169
+
170
+ // skip underscore-prefixed files
171
+ if ( isPatternExcluded ( patternlab . patterns [ i ] ) ) {
172
+ if ( patternlab . config . debug ) {
173
+ console . log ( 'Omitting ' + patternlab . patterns [ i ] . key + " from styleguide pattern exclusion." ) ;
173
174
}
175
+ continue ;
176
+ }
177
+
178
+ var key = patternlab . patterns [ i ] . key ;
179
+ var typeKey = key . substring ( 0 , key . indexOf ( '-' ) ) ;
180
+ var isExcluded = ( styleGuideExcludes . indexOf ( typeKey ) > - 1 ) ;
181
+ if ( ! isExcluded ) {
182
+ styleguidePatterns . push ( patternlab . patterns [ i ] ) ;
183
+ }
174
184
}
175
185
} else {
176
- styleguidePatterns = patternlab . patterns ;
186
+ styleguidePatterns = patternlab . patterns ;
177
187
}
178
188
179
189
//build the styleguide
@@ -187,7 +197,10 @@ var patternlab_engine = function () {
187
197
188
198
for ( i = 0 ; i < patternlab . patterns . length ; i ++ ) {
189
199
// skip underscore-prefixed files
190
- if ( path . basename ( patternlab . patterns [ i ] . abspath ) . charAt ( 0 ) === '_' ) {
200
+ if ( isPatternExcluded ( patternlab . patterns [ i ] ) ) {
201
+ if ( patternlab . config . debug ) {
202
+ console . log ( 'Omitting ' + patternlab . patterns [ i ] . key + " from view all rendering." ) ;
203
+ }
191
204
continue ;
192
205
}
193
206
@@ -203,6 +216,14 @@ var patternlab_engine = function () {
203
216
204
217
for ( j = 0 ; j < patternlab . patterns . length ; j ++ ) {
205
218
if ( patternlab . patterns [ j ] . subdir === pattern . subdir ) {
219
+ //again, skip any sibling patterns to the current one that may have underscores
220
+ if ( isPatternExcluded ( patternlab . patterns [ j ] ) ) {
221
+ if ( patternlab . config . debug ) {
222
+ console . log ( 'Omitting ' + patternlab . patterns [ j ] . key + " from view all sibling rendering." ) ;
223
+ }
224
+ continue ;
225
+ }
226
+
206
227
viewAllPatterns . push ( patternlab . patterns [ j ] ) ;
207
228
}
208
229
}
@@ -231,17 +252,19 @@ var patternlab_engine = function () {
231
252
//loop through all patterns.to build the navigation
232
253
//todo: refactor this someday
233
254
for ( var i = 0 ; i < patternlab . patterns . length ; i ++ ) {
234
- // skip underscore-prefixed files
235
- if ( path . basename ( patternlab . patterns [ i ] . abspath ) . charAt ( 0 ) === '_' ) {
236
- continue ;
237
- }
238
255
239
256
var pattern = patternlab . patterns [ i ] ;
240
257
var bucketName = pattern . name . replace ( / \\ / g, '-' ) . split ( '-' ) [ 1 ] ;
241
258
242
259
//check if the bucket already exists
243
260
var bucketIndex = patternlab . bucketIndex . indexOf ( bucketName ) ;
244
261
if ( bucketIndex === - 1 ) {
262
+
263
+ // skip underscore-prefixed files. don't create a bucket on account of an underscored pattern
264
+ if ( isPatternExcluded ( pattern ) ) {
265
+ continue ;
266
+ }
267
+
245
268
//add the bucket
246
269
var bucket = new of . oBucket ( bucketName ) ;
247
270
@@ -333,30 +356,39 @@ var patternlab_engine = function () {
333
356
//if it is flat - we should not add the pattern to patternPaths
334
357
if ( flatPatternItem ) {
335
358
359
+ // skip underscore-prefixed files
360
+ if ( isPatternExcluded ( pattern ) ) {
361
+ continue ;
362
+ }
363
+
336
364
//add the navItem to patternItems
337
365
bucket . patternItems . push ( navSubItem ) ;
338
366
339
367
//add to patternPaths
340
368
addToPatternPaths ( bucketName , pattern ) ;
341
369
342
370
} else {
343
- //check to see if navItem exists
344
- var navItemIndex = bucket . navItemsIndex . indexOf ( navItemName ) ;
345
- if ( navItemIndex === - 1 ) {
346
-
347
- var navItem = new of . oNavItem ( navItemName ) ;
348
-
349
- //add the navItem and navSubItem
350
- navItem . navSubItems . push ( navSubItem ) ;
351
- navItem . navSubItemsIndex . push ( navSubItemName ) ;
352
- bucket . navItems . push ( navItem ) ;
353
- bucket . navItemsIndex . push ( navItemName ) ;
354
-
355
- } else {
356
- //add the navSubItem
357
- var navItem = bucket . navItems [ navItemIndex ] ;
358
- navItem . navSubItems . push ( navSubItem ) ;
359
- navItem . navSubItemsIndex . push ( navSubItemName ) ;
371
+
372
+ // only do this if pattern is included
373
+ if ( ! isPatternExcluded ( pattern ) ) {
374
+ //check to see if navItem exists
375
+ var navItemIndex = bucket . navItemsIndex . indexOf ( navItemName ) ;
376
+ if ( navItemIndex === - 1 ) {
377
+
378
+ var navItem = new of . oNavItem ( navItemName ) ;
379
+
380
+ //add the navItem and navSubItem
381
+ navItem . navSubItems . push ( navSubItem ) ;
382
+ navItem . navSubItemsIndex . push ( navSubItemName ) ;
383
+ bucket . navItems . push ( navItem ) ;
384
+ bucket . navItemsIndex . push ( navItemName ) ;
385
+
386
+ } else {
387
+ //add the navSubItem
388
+ var navItem = bucket . navItems [ navItemIndex ] ;
389
+ navItem . navSubItems . push ( navSubItem ) ;
390
+ navItem . navSubItemsIndex . push ( navSubItemName ) ;
391
+ }
360
392
}
361
393
362
394
//add the navViewAllSubItem
@@ -414,6 +446,12 @@ var patternlab_engine = function () {
414
446
patternlab . patternPaths [ bucketName ] [ pattern . patternName ] = pattern . subdir . replace ( / \\ / g, '/' ) + "/" + pattern . fileName ;
415
447
}
416
448
449
+ //todo: refactor this as a method on the pattern object itself once we merge dev with pattern-engines branch
450
+ function isPatternExcluded ( pattern ) {
451
+ // returns whether or not the first character of the pattern filename is an underscore, or excluded
452
+ return pattern . fileName . charAt ( 0 ) === '_' ;
453
+ }
454
+
417
455
return {
418
456
version : function ( ) {
419
457
return getVersion ( ) ;
0 commit comments