10
10
11
11
"use strict" ;
12
12
13
+ var path = require ( 'path' ) ;
14
+ var fs = require ( 'fs-extra' ) ;
13
15
14
16
// PRIVATE FUNCTIONS
15
17
@@ -58,58 +60,8 @@ function assembleStyleguidePatterns(patternlab) {
58
60
59
61
// MAIN BUILDER FUNCTION
60
62
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 ) {
70
64
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
113
65
var prevSubdir = '' ;
114
66
var prevGroup = '' ;
115
67
var i ;
@@ -180,6 +132,59 @@ function buildFrontEnd(patternlab) {
180
132
fs . outputFileSync ( paths . public . patterns + pattern . flatPatternPath + '/index.html' , mainPageHeadHtml + viewAllHtml + mainPageFootHtml ) ;
181
133
}
182
134
}
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 ) ;
183
188
184
189
//build the patternlab website
185
190
var patternlabSiteTemplate = fs . readFileSync ( path . resolve ( paths . source . patternlabFiles , 'templates/index.mustache' ) , 'utf8' ) ;
@@ -188,7 +193,7 @@ function buildFrontEnd(patternlab) {
188
193
//todo: refactor this someday
189
194
for ( i = 0 ; i < patternlab . patterns . length ; i ++ ) {
190
195
191
- pattern = patternlab . patterns [ i ] ;
196
+ var pattern = patternlab . patterns [ i ] ;
192
197
var bucketName = pattern . name . replace ( / \\ / g, '-' ) . split ( '-' ) [ 1 ] ;
193
198
194
199
//check if the bucket already exists
0 commit comments