Build Twitter Bootstrap from source with your own separate .less
files.
Synopsis: The twbs task will take a copy of the Twitter Bootstrap source files (available via Bower or downloading directly) and combine it with your customised version of any of bootstrap *.less
files.
This plugin wraps Bootstrap's own Gruntfile.js
, in order to avoid effort either ripping out the required build tasks or altering that copy of Bootstrap. This allows you to easily upgrade to newer versions of Bootstrap and keep your customisations isolated.
This plugin requires Grunt ~0.4.0
If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:
npm install grunt-twbs --save-dev
You'll need the source files from Twitter Bootstrap. The easiest way is to use bower to install it:
npm install -g bower
bower install bootstrap
Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:
grunt.loadNpmTasks('grunt-contrib-twbs');
Run this task with the grunt twbs
command.
Task targets and options may be specified according to the grunt Configuring tasks guide.
Type: String
Default: ./bower_components/bootstrap
Location of your Twitter Bootstrap source files.
Type: String
Location of your customised .less
files that will be used to build Twitter Bootstrap instead of the standard bootstrap/less/*.less
files. Original bootstrap filenames must be used.
Type: String
Destination (path and filename) of the .min.css
file that the Twitter Bootstrap build process will produce.
Type: String
Default: dist-css
Command to run on bootstrap's grunt Grunt commands guide.
A single file to be built. Files will be output to the dist
directory within your bootstrap
source files directory. The custom.less
file should be based on Bootstrap's less/bootstrap.less
file, with your own modifications.
grunt.initConfig({
twbs: {
target: {
options: {
less: './src/'
}
}
}
});
A more complete example using bootstrap from npm and compiling every file in dist:
grunt.initConfig({
twbs: {
target:{
options: {
bootstrap: './node_modules/bootstrap',
less: 'less/',
cmd: 'dist'
}
}
}
});
dest
option.