From eb3db580c05aabcb782189b441ba0e99576130d0 Mon Sep 17 00:00:00 2001 From: BRIAN MUENZENMEYER Date: Thu, 18 Aug 2016 22:24:28 -0500 Subject: [PATCH 1/2] set property when excluded, do not omit outright --- core/lib/ui_builder.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/lib/ui_builder.js b/core/lib/ui_builder.js index 104286366..8a45eab9b 100644 --- a/core/lib/ui_builder.js +++ b/core/lib/ui_builder.js @@ -108,9 +108,11 @@ var ui_builder = function () { return exclude === pattern.patternGroup; }); if (isOmitted) { if (patternlab.config.debug) { - console.log('Omitting ' + pattern.patternPartial + ' from styleguide patterns its patternGroup is specified in styleguideExcludes.'); + console.log('Omitting ' + pattern.patternPartial + ' from future viewall pages because its patternGroup is specified in styleguideExcludes.'); } - return true; + //these patterns should not be omitted from later processing, just viewall pages + pattern.omitFromViewAll = true; + isOmitted = false; } //this pattern is contained with a directory prefixed with an underscore (a handy way to hide whole directories from the nav From 1cea9c152eaee7a0fee64145406674cc33009418 Mon Sep 17 00:00:00 2001 From: BRIAN MUENZENMEYER Date: Thu, 18 Aug 2016 23:08:06 -0500 Subject: [PATCH 2/2] exclude styleguideExcludes from all page - but still render them in the navigation fixes #393 --- core/lib/ui_builder.js | 28 ++++++++++++++-------------- test/ui_builder_tests.js | 15 --------------- 2 files changed, 14 insertions(+), 29 deletions(-) diff --git a/core/lib/ui_builder.js b/core/lib/ui_builder.js index 8a45eab9b..4e46e9ec7 100644 --- a/core/lib/ui_builder.js +++ b/core/lib/ui_builder.js @@ -103,18 +103,6 @@ var ui_builder = function () { return true; } - //this pattern is a member of any excluded pattern groups - isOmitted = styleGuideExcludes && styleGuideExcludes.length && _.some(styleGuideExcludes, function (exclude) { - return exclude === pattern.patternGroup; }); - if (isOmitted) { - if (patternlab.config.debug) { - console.log('Omitting ' + pattern.patternPartial + ' from future viewall pages because its patternGroup is specified in styleguideExcludes.'); - } - //these patterns should not be omitted from later processing, just viewall pages - pattern.omitFromViewAll = true; - isOmitted = false; - } - //this pattern is contained with a directory prefixed with an underscore (a handy way to hide whole directories from the nav isOmitted = pattern.relPath.charAt(0) === '_' || pattern.relPath.indexOf('/_') > -1; if (isOmitted) { @@ -465,6 +453,7 @@ var ui_builder = function () { var p; var typePatterns = []; + var styleGuideExcludes = patternlab.config.styleGuideExcludes; _.forOwn(patternTypeObj, function (patternSubtypes, patternSubtype) { @@ -494,7 +483,6 @@ var ui_builder = function () { return true; //stop yelling at us eslint we know we know }); - //do not create a viewall page for flat patterns if (!writeViewAllFile || !p) { return false; @@ -511,7 +499,19 @@ var ui_builder = function () { var viewAllHTML = buildViewAllHTML(patternlab, typePatterns, patternType); writeFile(paths.public.patterns + p.subdir + '/index.html', mainPageHeadHtml + viewAllHTML + footerHTML); - patterns = patterns.concat(typePatterns); + //determine if we should omit this patterntype completely from the viewall page + var omitPatternType = styleGuideExcludes && styleGuideExcludes.length + && _.some(styleGuideExcludes, function (exclude) { + return exclude === patternType; + }); + if (omitPatternType) { + if (patternlab.config.debug) { + console.log('Omitting ' + patternType+ ' from building a viewall page because its patternGroup is specified in styleguideExcludes.'); + } + } else { + patterns = patterns.concat(typePatterns); + } + return true; //stop yelling at us eslint we know we know }); return patterns; diff --git a/test/ui_builder_tests.js b/test/ui_builder_tests.js index 2273f0010..9c4a34028 100644 --- a/test/ui_builder_tests.js +++ b/test/ui_builder_tests.js @@ -53,21 +53,6 @@ exports['ui_builder'] = { test.done(); }, - 'isPatternExcluded - returns true when patterngroup is specified in styleguideExcludes': function (test) { - //arrange - var patternlab = createFakePatternLab({}); - var pattern = new Pattern('00-test/foo.mustache'); - patternlab.config.defaultPattern = 'test-boaz'; - patternlab.config.styleGuideExcludes.push('test'); - - //act - var result = ui.isPatternExcluded(pattern, patternlab); - - //assert - test.equals(result, true); - test.done(); - }, - 'isPatternExcluded - returns true when pattern within underscored directory - top level': function (test) { //arrange var patternlab = createFakePatternLab({});