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