Skip to content

Commit

Permalink
Merge pull request thomaspark#79 from frapontillo/gh-pages
Browse files Browse the repository at this point in the history
Added Grunt.js integration for compiling less files and TravisCI for testing the build
  • Loading branch information
thomaspark committed Feb 27, 2013
2 parents 15b09ea + bc38f39 commit afbf0c7
Show file tree
Hide file tree
Showing 9 changed files with 166 additions and 3 deletions.
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
.idea
components
node_modules
build
15 changes: 15 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
branches:
only:
- master
- gh-pages

language: node_js

node_js:
- "0.8.11"

before_install:
- npm install -g grunt-cli recess bower
- bower install bootstrap

script: "grunt swatch"
1 change: 0 additions & 1 deletion CNAME

This file was deleted.

110 changes: 110 additions & 0 deletions Gruntfile.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
module.exports = function (grunt) {
grunt.loadNpmTasks('grunt-recess');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-clean');

// Project configuration.
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
builddir: 'build',
meta: {
banner: '/**\n' +
' * <%= pkg.description %>\n' +
' * @version v<%= pkg.version %> - ' +
'<%= grunt.template.today("yyyy-mm-dd") %>\n' +
' * @link <%= pkg.homepage %>\n' +
' * @license <%= pkg.license %>' + ' */'
},
swatch: {
amelia: {}, cerulean:{}, cosmo:{}, cyborg:{}, journal:{}, readable:{},
shamrock:{}, simplex:{}, slate:{}, spacelab:{}, spruce:{}, superhero:{},
united:{}
},
clean: {
build: {
src: ['*/build.less', '*/build-responsive.less',
'!global/build.less', '!global/build-responsive.less']
}
},
concat: {
dist: {
src: [],
dest: ''
}
},
recess: {
dist: {
options: {
compile: true,
compress: false
},
files: {}
}
}
});

grunt.registerTask('none', function() {});

grunt.registerTask('build', 'build a regular theme', function(theme, compress) {
var compress = compress == undefined ? true : compress;

var concatSrc;
var concatDest;
var recessDest;
var recessSrc;
var files = {};
var dist = {};
concatSrc = 'global/build.less';
concatDest = theme + '/build.less';
recessDest = '<%=builddir%>/' + theme + '/bootstrap.css';
recessSrc = [ theme + '/' + 'build.less' ];

dist = {src: concatSrc, dest: concatDest};
grunt.config('concat.dist', dist);
files = {}; files[recessDest] = recessSrc;
grunt.config('recess.dist.files', files);
grunt.config('recess.dist.options.compress', false);

grunt.task.run(['concat', 'recess:dist', 'clean:build',
compress ? 'compress:'+recessDest+':'+'<%=builddir%>/' + theme + '/bootstrap.min.css':'none']);
});

grunt.registerTask('build-responsive', 'build a responsive theme', function(theme, compress) {
var compress = compress == undefined ? true : compress;

var concatSrc;
var concatDest;
var recessDest;
var recessSrc;
var files = {};
var dist = {};

concatSrc = 'global/build-responsive.less';
concatDest = theme + '/build-responsive.less';
recessDest = '<%=builddir%>/' + theme + '/bootstrap-responsive.css';
recessSrc = [ theme + '/' + 'build-responsive.less' ];

dist = {src: concatSrc, dest: concatDest};
grunt.config('concat.dist', dist);
files = {}; files[recessDest] = recessSrc;
grunt.config('recess.dist.files', files);
grunt.config('recess.dist.options.compress', false);

grunt.task.run(['concat', 'recess:dist', 'clean:build',
compress ? 'compress:'+recessDest+':'+'<%=builddir%>/' + theme + '/bootstrap-responsive.min.css':'none']);
});

grunt.registerTask('compress', 'compress a generic css', function(fileSrc, fileDst) {
var files = {}; files[fileDst] = fileSrc;
grunt.log.writeln('compressing file ' + fileSrc);

grunt.config('recess.dist.files', files);
grunt.config('recess.dist.options.compress', true);
grunt.task.run(['recess:dist']);
});

grunt.registerMultiTask('swatch', 'build a theme, both not responsive and responsive', function() {
var t = this.target;
grunt.task.run('build:'+t, 'build-responsive:'+t);
});
};
8 changes: 6 additions & 2 deletions component.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,13 @@
"description": "Themes for Bootstrap",
"homepage": "http://bootswatch.com",
"author": "Thomas Park",
"version": "v2.3.0+1",
"version": "2.3.0+1",
"repository": {
"type": "git",
"url": "git://github.com/thomaspark/bootswatch.git"
},
"dependencies": {
"jquery": "~1.9.0"
"bootstrap": "~2.3.0"
},
"licenses": [
{
Expand Down
3 changes: 3 additions & 0 deletions global/build-responsive.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
@import "../components/bootstrap/less/responsive.less";
@import "variables.less";
@import "../global/global.less";
5 changes: 5 additions & 0 deletions global/build.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
@import "../components/bootstrap/less/bootstrap.less";
@import "variables.less";
@import "../global/global.less";
@import "bootswatch.less";
@import "../components/bootstrap/less/utilities.less";
2 changes: 2 additions & 0 deletions global/global.less
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
@iconSpritePath: "../img/glyphicons-halflings.png";
@iconWhiteSpritePath: "../img/glyphicons-halflings-white.png";
21 changes: 21 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{
"author": "Thomas Park",
"name": "bootswatch",
"description": "Bootswatch is a collection of free themes for Twitter Bootstrap.",
"version": "2.3.0",
"homepage": "http://bootswatch.com/",
"license": "Apache License, Version 2.0, http://www.apache.org/licenses/LICENSE-2.0",
"repository": {
"type": "git",
"url": "git://github.com/thomaspark/bootswatch.git"
},
"engines": {
"node": ">= 0.8.11"
},
"devDependencies": {
"grunt": "~0.4.0",
"grunt-recess": "~0.3.1",
"grunt-contrib-concat": "~0.1.3",
"grunt-contrib-clean": "~0.4.0"
}
}

0 comments on commit afbf0c7

Please sign in to comment.