@@ -82,7 +82,7 @@ var ui_builder = function () {
8282 }
8383
8484 //this pattern is contained with a directory prefixed with an underscore (a handy way to hide whole directories from the nav
85- isOmitted = pattern . relPath . charAt ( 0 ) === '_' || pattern . relPath . indexOf ( '/ _') > - 1 ;
85+ isOmitted = pattern . relPath . charAt ( 0 ) === '_' || pattern . relPath . indexOf ( path . sep + ' _') > - 1 ;
8686 if ( isOmitted ) {
8787 if ( patternlab . config . debug ) {
8888 console . log ( 'Omitting ' + pattern . patternPartial + ' from styleguide patterns because its contained within an underscored directory.' ) ;
@@ -484,8 +484,8 @@ var ui_builder = function () {
484484 _ . forEach ( styleguidePatterns . patternGroups , function ( patternTypeObj , patternType ) {
485485
486486 var p ;
487- var typePatterns = [ ] ;
488- var styleGuideExcludes = patternlab . config . styleGuideExcludes ;
487+ var typePatterns = [ ] , styleguideTypePatterns = [ ] ;
488+ var styleGuideExcludes = patternlab . config . styleGuideExcludes || patternlab . config . styleguideExcludes ;
489489
490490 _ . forOwn ( patternTypeObj , function ( patternSubtypes , patternSubtype ) {
491491
@@ -508,6 +508,19 @@ var ui_builder = function () {
508508 return pat . isDocPattern ;
509509 } ) ;
510510
511+ //determine if we should omit this subpatterntype completely from the viewall page
512+ var omitPatternType = styleGuideExcludes && styleGuideExcludes . length
513+ && _ . some ( styleGuideExcludes , function ( exclude ) {
514+ return exclude === patternType + '/' + patternSubtype ;
515+ } ) ;
516+ if ( omitPatternType ) {
517+ if ( patternlab . config . debug ) {
518+ console . log ( 'Omitting ' + patternType + '/' + patternSubtype + ' from building a viewall page because its patternSubGroup is specified in styleguideExcludes.' ) ;
519+ }
520+ } else {
521+ styleguideTypePatterns = styleguideTypePatterns . concat ( subtypePatterns ) ;
522+ }
523+
511524 typePatterns = typePatterns . concat ( subtypePatterns ) ;
512525
513526 var viewAllHTML = buildViewAllHTML ( patternlab , subtypePatterns , patternPartial ) ;
@@ -544,7 +557,7 @@ var ui_builder = function () {
544557 console . log ( 'Omitting ' + patternType + ' from building a viewall page because its patternGroup is specified in styleguideExcludes.' ) ;
545558 }
546559 } else {
547- patterns = patterns . concat ( typePatterns ) ;
560+ patterns = patterns . concat ( styleguideTypePatterns ) ;
548561 }
549562 } ) ;
550563 return patterns ;
0 commit comments