@@ -21,7 +21,7 @@ function addToPatternPaths(patternlab, patternTypeName, pattern) {
21
21
//todo: refactor this as a method on the pattern object itself once we merge dev with pattern-engines branch
22
22
function isPatternExcluded ( pattern ) {
23
23
// returns whether or not the first character of the pattern filename is an underscore, or excluded
24
- return pattern . fileName . charAt ( 0 ) === '_' ;
24
+ return pattern . isPattern && pattern . fileName . charAt ( 0 ) === '_' ;
25
25
}
26
26
27
27
// Returns the array of patterns to be rendered in the styleguide view and
@@ -30,6 +30,7 @@ function assembleStyleguidePatterns(patternlab) {
30
30
var styleguideExcludes = patternlab . config . styleGuideExcludes ;
31
31
var styleguidePatterns = [ ] ;
32
32
33
+ //todo this loop can be made more efficient
33
34
if ( styleguideExcludes && styleguideExcludes . length ) {
34
35
for ( var i = 0 ; i < patternlab . patterns . length ; i ++ ) {
35
36
@@ -81,7 +82,6 @@ function assembleStyleguidePatterns(patternlab) {
81
82
styleguidePatterns . push ( pattern ) ;
82
83
}
83
84
}
84
-
85
85
return styleguidePatterns ;
86
86
}
87
87
@@ -266,14 +266,6 @@ function buildFooterHTML(patternlab, patternPartial) {
266
266
267
267
function buildViewAllHTML ( patternlab , patterns , patternPartial ) {
268
268
269
- patterns . push ( {
270
- "patternName" : "awesome" ,
271
- "patternLink" : "00-atoms-01-global/index.html" ,
272
- "patternPartial" : "viewall-atoms-global" ,
273
- "patternDesc" : "<p>This is the description of the category.</p>\n" ,
274
- "patternSectionSubtype" : true
275
- } )
276
-
277
269
var viewAllHTML = pattern_assembler . renderPattern ( patternlab . viewAll ,
278
270
{
279
271
partials : patterns ,
@@ -286,31 +278,15 @@ function buildViewAllHTML(patternlab, patterns, patternPartial) {
286
278
return viewAllHTML ;
287
279
}
288
280
289
- function buildViewAllPages ( mainPageHeadHtml , patternlab ) {
281
+ function buildViewAllPages ( mainPageHeadHtml , patternlab , patterns ) {
290
282
var paths = patternlab . config . paths ;
291
283
var prevSubdir = '' ;
292
284
var prevGroup = '' ;
293
285
var i ;
294
286
295
- for ( i = 0 ; i < patternlab . patterns . length ; i ++ ) {
296
-
297
- var pattern = patternlab . patterns [ i ] ;
287
+ for ( i = 0 ; i < patterns . length ; i ++ ) {
298
288
299
- // skip underscore-prefixed files
300
- if ( isPatternExcluded ( pattern ) ) {
301
- if ( patternlab . config . debug ) {
302
- console . log ( 'Omitting ' + pattern . patternPartial + " from view all rendering." ) ;
303
- }
304
- continue ;
305
- }
306
-
307
- //this is meant to be a homepage that is not present anywhere else
308
- if ( pattern . patternPartial === patternlab . config . defaultPattern ) {
309
- if ( patternlab . config . debug ) {
310
- console . log ( 'Omitting ' + pattern . patternPartial + ' from view all rendering because it is defined as a defaultPattern' ) ;
311
- }
312
- continue ;
313
- }
289
+ var pattern = patterns [ i ] ;
314
290
315
291
//create the view all for the section
316
292
// check if the current section is different from the previous one
@@ -321,25 +297,9 @@ function buildViewAllPages(mainPageHeadHtml, patternlab) {
321
297
var patternPartial = "viewall-" + pattern . patternGroup ;
322
298
var j ;
323
299
324
- for ( j = 0 ; j < patternlab . patterns . length ; j ++ ) {
325
- if ( patternlab . patterns [ j ] . patternGroup === pattern . patternGroup ) {
326
- //again, skip any sibling patterns to the current one that may have underscores
327
- if ( isPatternExcluded ( patternlab . patterns [ j ] ) ) {
328
- if ( patternlab . config . debug ) {
329
- console . log ( 'Omitting ' + patternlab . patterns [ j ] . patternPartial + " from view all sibling rendering." ) ;
330
- }
331
- continue ;
332
- }
333
-
334
- //this is meant to be a homepage that is not present anywhere else
335
- if ( patternlab . patterns [ j ] . patternPartial === patternlab . config . defaultPattern ) {
336
- if ( patternlab . config . debug ) {
337
- console . log ( 'Omitting ' + pattern . patternPartial + ' from view all sibling rendering because it is defined as a defaultPattern' ) ;
338
- }
339
- continue ;
340
- }
341
-
342
- viewAllPatterns . push ( patternlab . patterns [ j ] ) ;
300
+ for ( j = 0 ; j < patterns . length ; j ++ ) {
301
+ if ( patterns [ j ] . patternGroup === pattern . patternGroup ) {
302
+ viewAllPatterns . push ( patterns [ j ] ) ;
343
303
}
344
304
}
345
305
@@ -360,24 +320,8 @@ function buildViewAllPages(mainPageHeadHtml, patternlab) {
360
320
viewAllPatterns = [ ] ;
361
321
patternPartial = "viewall-" + pattern . patternGroup + "-" + pattern . patternSubGroup ;
362
322
363
- for ( j = 0 ; j < patternlab . patterns . length ; j ++ ) {
364
- if ( patternlab . patterns [ j ] . subdir === pattern . subdir ) {
365
- //again, skip any sibling patterns to the current one that may have underscores
366
- if ( isPatternExcluded ( patternlab . patterns [ j ] ) ) {
367
- if ( patternlab . config . debug ) {
368
- console . log ( 'Omitting ' + patternlab . patterns [ j ] . patternPartial + " from view all sibling rendering." ) ;
369
- }
370
- continue ;
371
- }
372
-
373
- //this is meant to be a homepage that is not present anywhere else
374
- if ( patternlab . patterns [ j ] . patternPartial === patternlab . config . defaultPattern ) {
375
- if ( patternlab . config . debug ) {
376
- console . log ( 'Omitting ' + pattern . patternPartial + ' from view all sibling rendering because it is defined as a defaultPattern' ) ;
377
- }
378
- continue ;
379
- }
380
-
323
+ for ( j = 0 ; j < patterns . length ; j ++ ) {
324
+ if ( patterns [ j ] . subdir === pattern . subdir ) {
381
325
viewAllPatterns . push ( patternlab . patterns [ j ] ) ;
382
326
}
383
327
}
@@ -395,6 +339,7 @@ function buildViewAllPages(mainPageHeadHtml, patternlab) {
395
339
396
340
function sortPatterns ( patternsArray ) {
397
341
return patternsArray . sort ( function ( a , b ) {
342
+
398
343
if ( a . name > b . name ) {
399
344
return 1 ;
400
345
}
@@ -420,12 +365,12 @@ function buildFrontEnd(patternlab) {
420
365
patternlab . patternPaths = { } ;
421
366
patternlab . viewAllPaths = { } ;
422
367
423
- //sort all patterns explicitly.
424
- patternlab . patterns = sortPatterns ( patternlab . patterns ) ;
425
-
426
368
// check if patterns are excluded, if not add them to styleguidePatterns
427
369
styleguidePatterns = assembleStyleguidePatterns ( patternlab ) ;
428
370
371
+ //sort all patterns explicitly.
372
+ patternlab . patterns = sortPatterns ( styleguidePatterns ) ;
373
+
429
374
//set the pattern-specific header by compiling the general-header with data, and then adding it to the meta header
430
375
var headerPartial = pattern_assembler . renderPattern ( patternlab . header , {
431
376
cacheBuster : patternlab . cacheBuster
@@ -443,9 +388,10 @@ function buildFrontEnd(patternlab) {
443
388
patternLabFoot : footerPartial
444
389
} ) ;
445
390
446
- console . log ( styleguidePatterns ) ;
447
-
448
391
//build the styleguide
392
+
393
+ fs . outputFileSync ( './patternlab-s.json' , JSON . stringify ( styleguidePatterns ) ) ;
394
+
449
395
var styleguideHtml = pattern_assembler . renderPattern ( patternlab . viewAll ,
450
396
{
451
397
partials : styleguidePatterns ,
@@ -458,7 +404,7 @@ function buildFrontEnd(patternlab) {
458
404
fs . outputFileSync ( path . resolve ( paths . public . styleguide , 'html/styleguide.html' ) , headerHTML + styleguideHtml + footerHTML ) ;
459
405
460
406
//build the viewall pages
461
- buildViewAllPages ( headerHTML , patternlab ) ;
407
+ buildViewAllPages ( headerHTML , patternlab , styleguidePatterns ) ;
462
408
463
409
//build the patternlab website
464
410
buildNavigation ( patternlab ) ;
0 commit comments