Skip to content
This repository was archived by the owner on Dec 10, 2019. It is now read-only.

Commit a682296

Browse files
committed
factor out buildViewAllPages()
1 parent 3febce8 commit a682296

File tree

1 file changed

+57
-52
lines changed

1 file changed

+57
-52
lines changed

core/lib/ui_builder.js

Lines changed: 57 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010

1111
"use strict";
1212

13+
var path = require('path');
14+
var fs = require('fs-extra');
1315

1416
// PRIVATE FUNCTIONS
1517

@@ -58,58 +60,8 @@ function assembleStyleguidePatterns(patternlab) {
5860

5961
// MAIN BUILDER FUNCTION
6062

61-
function buildFrontEnd(patternlab) {
62-
var path = require('path');
63-
var fs = require('fs-extra');
64-
var pa = require('./pattern_assembler');
65-
var of = require('./object_factory');
66-
var mh = require('./media_hunter');
67-
var pattern_assembler = new pa();
68-
var media_hunter = new mh();
69-
var styleguidePatterns = [];
63+
function buildViewAllPages(mainPageHead, mainPageFoot, mainPageHeadHtml, mainPageFootHtml, pattern_assembler, patternlab) {
7064
var paths = patternlab.config.paths;
71-
var i;
72-
73-
patternlab.buckets = [];
74-
patternlab.bucketIndex = [];
75-
patternlab.patternPaths = {};
76-
patternlab.viewAllPaths = {};
77-
78-
//sort all patterns explicitly.
79-
patternlab.patterns = patternlab.patterns.sort(function (a, b) {
80-
if (a.name > b.name) {
81-
return 1;
82-
}
83-
if (a.name < b.name) {
84-
return -1;
85-
}
86-
87-
// a must be equal to b
88-
return 0;
89-
});
90-
91-
//find mediaQueries
92-
media_hunter.find_media_queries('./source/css', patternlab);
93-
94-
// check if patterns are excluded, if not add them to styleguidePatterns
95-
styleguidePatterns = assembleStyleguidePatterns(patternlab);
96-
97-
//also add the cachebuster value. slight chance this could collide with a user that has defined cacheBuster as a value
98-
patternlab.data.cacheBuster = patternlab.cacheBuster;
99-
100-
//get the main page head and foot
101-
var mainPageHead = patternlab.userHead.extendedTemplate.replace('{% pattern-lab-head %}', patternlab.header);
102-
var mainPageHeadHtml = pattern_assembler.renderPattern(mainPageHead, patternlab.data);
103-
var mainPageFoot = patternlab.userFoot.extendedTemplate.replace('{% pattern-lab-foot %}', patternlab.footer);
104-
var mainPageFootHtml = pattern_assembler.renderPattern(mainPageFoot, patternlab.data);
105-
106-
//build the styleguide
107-
var styleguideTemplate = fs.readFileSync(path.resolve(paths.source.patternlabFiles, 'templates/styleguide.mustache'), 'utf8');
108-
var styleguideHtml = pattern_assembler.renderPattern(styleguideTemplate, {partials: styleguidePatterns, cacheBuster: patternlab.cacheBuster});
109-
110-
fs.outputFileSync(path.resolve(paths.public.styleguide, 'html/styleguide.html'), mainPageHeadHtml + styleguideHtml + mainPageFootHtml);
111-
112-
//build the viewall pages
11365
var prevSubdir = '';
11466
var prevGroup = '';
11567
var i;
@@ -180,6 +132,59 @@ function buildFrontEnd(patternlab) {
180132
fs.outputFileSync(paths.public.patterns + pattern.flatPatternPath + '/index.html', mainPageHeadHtml + viewAllHtml + mainPageFootHtml);
181133
}
182134
}
135+
}
136+
137+
function buildFrontEnd(patternlab) {
138+
var pa = require('./pattern_assembler');
139+
var of = require('./object_factory');
140+
var mh = require('./media_hunter');
141+
var pattern_assembler = new pa();
142+
var media_hunter = new mh();
143+
var styleguidePatterns = [];
144+
var paths = patternlab.config.paths;
145+
var i;
146+
147+
patternlab.buckets = [];
148+
patternlab.bucketIndex = [];
149+
patternlab.patternPaths = {};
150+
patternlab.viewAllPaths = {};
151+
152+
//sort all patterns explicitly.
153+
patternlab.patterns = patternlab.patterns.sort(function (a, b) {
154+
if (a.name > b.name) {
155+
return 1;
156+
}
157+
if (a.name < b.name) {
158+
return -1;
159+
}
160+
161+
// a must be equal to b
162+
return 0;
163+
});
164+
165+
//find mediaQueries
166+
media_hunter.find_media_queries('./source/css', patternlab);
167+
168+
// check if patterns are excluded, if not add them to styleguidePatterns
169+
styleguidePatterns = assembleStyleguidePatterns(patternlab);
170+
171+
//also add the cachebuster value. slight chance this could collide with a user that has defined cacheBuster as a value
172+
patternlab.data.cacheBuster = patternlab.cacheBuster;
173+
174+
//get the main page head and foot
175+
var mainPageHead = patternlab.userHead.extendedTemplate.replace('{% pattern-lab-head %}', patternlab.header);
176+
var mainPageHeadHtml = pattern_assembler.renderPattern(mainPageHead, patternlab.data);
177+
var mainPageFoot = patternlab.userFoot.extendedTemplate.replace('{% pattern-lab-foot %}', patternlab.footer);
178+
var mainPageFootHtml = pattern_assembler.renderPattern(mainPageFoot, patternlab.data);
179+
180+
//build the styleguide
181+
var styleguideTemplate = fs.readFileSync(path.resolve(paths.source.patternlabFiles, 'templates/styleguide.mustache'), 'utf8');
182+
var styleguideHtml = pattern_assembler.renderPattern(styleguideTemplate, {partials: styleguidePatterns, cacheBuster: patternlab.cacheBuster});
183+
184+
fs.outputFileSync(path.resolve(paths.public.styleguide, 'html/styleguide.html'), mainPageHeadHtml + styleguideHtml + mainPageFootHtml);
185+
186+
//build the viewall pages
187+
buildViewAllPages(mainPageHead, mainPageFoot, mainPageHeadHtml, mainPageFootHtml, pattern_assembler, patternlab);
183188

184189
//build the patternlab website
185190
var patternlabSiteTemplate = fs.readFileSync(path.resolve(paths.source.patternlabFiles, 'templates/index.mustache'), 'utf8');
@@ -188,7 +193,7 @@ function buildFrontEnd(patternlab) {
188193
//todo: refactor this someday
189194
for (i = 0; i < patternlab.patterns.length; i++) {
190195

191-
pattern = patternlab.patterns[i];
196+
var pattern = patternlab.patterns[i];
192197
var bucketName = pattern.name.replace(/\\/g, '-').split('-')[1];
193198

194199
//check if the bucket already exists

0 commit comments

Comments
 (0)