@@ -21,7 +21,7 @@ function addToPatternPaths(patternlab, patternTypeName, pattern) {
2121//todo: refactor this as a method on the pattern object itself once we merge dev with pattern-engines branch
2222function isPatternExcluded ( pattern ) {
2323 // 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 ) === '_' ;
2525}
2626
2727// Returns the array of patterns to be rendered in the styleguide view and
@@ -30,6 +30,7 @@ function assembleStyleguidePatterns(patternlab) {
3030 var styleguideExcludes = patternlab . config . styleGuideExcludes ;
3131 var styleguidePatterns = [ ] ;
3232
33+ //todo this loop can be made more efficient
3334 if ( styleguideExcludes && styleguideExcludes . length ) {
3435 for ( var i = 0 ; i < patternlab . patterns . length ; i ++ ) {
3536
@@ -81,7 +82,6 @@ function assembleStyleguidePatterns(patternlab) {
8182 styleguidePatterns . push ( pattern ) ;
8283 }
8384 }
84-
8585 return styleguidePatterns ;
8686}
8787
@@ -266,14 +266,6 @@ function buildFooterHTML(patternlab, patternPartial) {
266266
267267function buildViewAllHTML ( patternlab , patterns , patternPartial ) {
268268
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-
277269 var viewAllHTML = pattern_assembler . renderPattern ( patternlab . viewAll ,
278270 {
279271 partials : patterns ,
@@ -286,31 +278,15 @@ function buildViewAllHTML(patternlab, patterns, patternPartial) {
286278 return viewAllHTML ;
287279}
288280
289- function buildViewAllPages ( mainPageHeadHtml , patternlab ) {
281+ function buildViewAllPages ( mainPageHeadHtml , patternlab , patterns ) {
290282 var paths = patternlab . config . paths ;
291283 var prevSubdir = '' ;
292284 var prevGroup = '' ;
293285 var i ;
294286
295- for ( i = 0 ; i < patternlab . patterns . length ; i ++ ) {
296-
297- var pattern = patternlab . patterns [ i ] ;
287+ for ( i = 0 ; i < patterns . length ; i ++ ) {
298288
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 ] ;
314290
315291 //create the view all for the section
316292 // check if the current section is different from the previous one
@@ -321,25 +297,9 @@ function buildViewAllPages(mainPageHeadHtml, patternlab) {
321297 var patternPartial = "viewall-" + pattern . patternGroup ;
322298 var j ;
323299
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 ] ) ;
343303 }
344304 }
345305
@@ -360,24 +320,8 @@ function buildViewAllPages(mainPageHeadHtml, patternlab) {
360320 viewAllPatterns = [ ] ;
361321 patternPartial = "viewall-" + pattern . patternGroup + "-" + pattern . patternSubGroup ;
362322
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 ) {
381325 viewAllPatterns . push ( patternlab . patterns [ j ] ) ;
382326 }
383327 }
@@ -395,6 +339,7 @@ function buildViewAllPages(mainPageHeadHtml, patternlab) {
395339
396340function sortPatterns ( patternsArray ) {
397341 return patternsArray . sort ( function ( a , b ) {
342+
398343 if ( a . name > b . name ) {
399344 return 1 ;
400345 }
@@ -420,12 +365,12 @@ function buildFrontEnd(patternlab) {
420365 patternlab . patternPaths = { } ;
421366 patternlab . viewAllPaths = { } ;
422367
423- //sort all patterns explicitly.
424- patternlab . patterns = sortPatterns ( patternlab . patterns ) ;
425-
426368 // check if patterns are excluded, if not add them to styleguidePatterns
427369 styleguidePatterns = assembleStyleguidePatterns ( patternlab ) ;
428370
371+ //sort all patterns explicitly.
372+ patternlab . patterns = sortPatterns ( styleguidePatterns ) ;
373+
429374 //set the pattern-specific header by compiling the general-header with data, and then adding it to the meta header
430375 var headerPartial = pattern_assembler . renderPattern ( patternlab . header , {
431376 cacheBuster : patternlab . cacheBuster
@@ -443,9 +388,10 @@ function buildFrontEnd(patternlab) {
443388 patternLabFoot : footerPartial
444389 } ) ;
445390
446- console . log ( styleguidePatterns ) ;
447-
448391 //build the styleguide
392+
393+ fs . outputFileSync ( './patternlab-s.json' , JSON . stringify ( styleguidePatterns ) ) ;
394+
449395 var styleguideHtml = pattern_assembler . renderPattern ( patternlab . viewAll ,
450396 {
451397 partials : styleguidePatterns ,
@@ -458,7 +404,7 @@ function buildFrontEnd(patternlab) {
458404 fs . outputFileSync ( path . resolve ( paths . public . styleguide , 'html/styleguide.html' ) , headerHTML + styleguideHtml + footerHTML ) ;
459405
460406 //build the viewall pages
461- buildViewAllPages ( headerHTML , patternlab ) ;
407+ buildViewAllPages ( headerHTML , patternlab , styleguidePatterns ) ;
462408
463409 //build the patternlab website
464410 buildNavigation ( patternlab ) ;
0 commit comments