@@ -58,6 +58,12 @@ grunt.registerTask( "build-index", function() {
58
58
( match [ 4 ] ? "-" + match [ 4 ] : "" ) ;
59
59
}
60
60
61
+ function camelCase ( str ) {
62
+ return str . replace ( / - ( [ a - z ] ) / g, function ( $0 , $1 ) {
63
+ return $1 . toUpperCase ( ) ;
64
+ } ) ;
65
+ }
66
+
61
67
function getLatestStable ( releases ) {
62
68
return _ . find ( releases , function ( release ) {
63
69
return release . version . indexOf ( "-" ) === - 1 ;
@@ -181,6 +187,38 @@ grunt.registerTask( "build-index", function() {
181
187
} ) ;
182
188
}
183
189
190
+ function getColorData ( ) {
191
+ var files = grunt . file . expandFiles ( "cdn/color/*.js" ) ,
192
+ releases = parseReleases ( files ,
193
+ / ( j q u e r y .c o l o r - ( \d + \. \d + (?: \. \d + ) ? [ ^ . ] * ) (?: \. ( m i n ) ) ? \. j s ) / ) ,
194
+ modes = [ "svg-names" , "plus-names" ] ;
195
+
196
+ function addTypes ( release ) {
197
+ release . minified = release . filename . replace ( ".js" , ".min.js" ) ;
198
+
199
+ modes . forEach ( function ( mode ) {
200
+ var filename = release . filename . replace ( "jquery.color" , "jquery.color." + mode ) ,
201
+ minFilename = filename . replace ( ".js" , ".min.js" ) ;
202
+
203
+ if ( files . indexOf ( "cdn/color/" + filename ) !== - 1 ) {
204
+ release [ camelCase ( mode ) ] = {
205
+ filename : filename ,
206
+ version : release . version ,
207
+ minified : minFilename
208
+ } ;
209
+ }
210
+ } ) ;
211
+
212
+ }
213
+
214
+ releases . forEach ( addTypes ) ;
215
+
216
+ return {
217
+ latestStable : getLatestStable ( releases ) ,
218
+ all : releases
219
+ } ;
220
+ }
221
+
184
222
Handlebars . registerHelper ( "release" , function ( prefix , release ) {
185
223
var html = prefix + " " + release . version + " - " +
186
224
"<a href='/" + release . filename + "'>uncompressed</a>" ;
@@ -221,7 +259,8 @@ grunt.registerTask( "build-index", function() {
221
259
} ) ( ) ) ;
222
260
223
261
var data = getCoreData ( ) ;
224
- data . ui = getUiData ( ) ;
262
+ data . ui = getUiData ( ) ,
263
+ data . color = getColorData ( ) ;
225
264
226
265
grunt . file . write ( "dist/wordpress/posts/page/index.html" ,
227
266
Handlebars . compile ( grunt . file . read ( "templates/index.hbs" ) ) ( data ) ) ;
@@ -231,6 +270,9 @@ grunt.registerTask( "build-index", function() {
231
270
232
271
grunt . file . write ( "dist/wordpress/posts/page/ui.html" ,
233
272
Handlebars . compile ( grunt . file . read ( "templates/ui.hbs" ) ) ( data ) ) ;
273
+
274
+ grunt . file . write ( "dist/wordpress/posts/page/color.html" ,
275
+ Handlebars . compile ( grunt . file . read ( "templates/color.hbs" ) ) ( data ) ) ;
234
276
} ) ;
235
277
236
278
} ;
0 commit comments