Commit afbf0c7d authored by Thomas Park's avatar Thomas Park
Browse files

Merge pull request #79 from frapontillo/gh-pages

Added Grunt.js integration for compiling less files and TravisCI for testing the build
parents 15b09ea9 bc38f397
.idea
components
node_modules
build
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"
\ No newline at end of file
bootswatch.com
\ No newline at end of file
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);
});
};
\ No newline at end of file
......@@ -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": [
{
......
@import "../components/bootstrap/less/responsive.less";
@import "variables.less";
@import "../global/global.less";
\ No newline at end of file
@import "../components/bootstrap/less/bootstrap.less";
@import "variables.less";
@import "../global/global.less";
@import "bootswatch.less";
@import "../components/bootstrap/less/utilities.less";
\ No newline at end of file
@iconSpritePath: "../img/glyphicons-halflings.png";
@iconWhiteSpritePath: "../img/glyphicons-halflings-white.png";
\ No newline at end of file
{
"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"
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment