},
src: ['less/bootstrap.less'],
dest: 'dist/css/<%= pkg.name %>.min.css'
+ },
+ theme: {
+ src: ['less/theme.less'],
+ dest: 'dist/css/<%= pkg.name %>-theme.css'
+ },
+ theme_min: {
+ options: {
+ compress: true
+ },
+ src: ['less/theme.less'],
+ dest: 'dist/css/<%= pkg.name %>-theme.min.css'
+ }
+ },
+
+ copy: {
+ fonts: {
+ expand: true,
+ src: ["fonts/*"],
+ dest: 'dist/'
}
},
validation: {
options: {
- reset: true,
+ reset: true
},
files: {
src: ["_gh_pages/**/*.html"]
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-connect');
+ grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-qunit');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-recess');
grunt.loadNpmTasks('browserstack-runner');
-
// Docs HTML validation task
- grunt.registerTask('validate-docs', ['jekyll', 'validation']);
+ grunt.registerTask('validate-html', ['jekyll', 'validation']);
// Test task.
- var testSubtasks = ['jshint', 'qunit', 'validate-docs'];
+ var testSubtasks = ['dist-css', 'jshint', 'qunit', 'validate-html'];
// Only run BrowserStack tests under Travis
if (process.env.TRAVIS) {
// Only run BrowserStack tests if this is a mainline commit in twbs/bootstrap, or you have your own BrowserStack key
// CSS distribution task.
grunt.registerTask('dist-css', ['recess']);
+ // Fonts distribution task.
+ grunt.registerTask('dist-fonts', ['copy']);
+
// Full distribution task.
- grunt.registerTask('dist', ['clean', 'dist-css', 'dist-js']);
+ grunt.registerTask('dist', ['clean', 'dist-css', 'dist-fonts', 'dist-js']);
// Default task.
- grunt.registerTask('default', ['test', 'dist']);
+ grunt.registerTask('default', ['test', 'dist', 'build-customizer']);
// task for building customizer
grunt.registerTask('build-customizer', 'Add scripts/less files to customizer.', function () {
var files = {}
fs.readdirSync(type)
.filter(function (path) {
- return new RegExp('\\.' + type + '$').test(path)
+ return type == 'fonts' ? true : new RegExp('\\.' + type + '$').test(path)
})
.forEach(function (path) {
return files[path] = fs.readFileSync(type + '/' + path, 'utf8')
}
var customize = fs.readFileSync('customize.html', 'utf-8')
- var files = '<!-- generated -->\n<script id="files">\n' + getFiles('js') + getFiles('less') + '<\/script>\n<!-- /generated -->'
- fs.writeFileSync('customize.html', customize.replace(/<!-- generated -->(.|[\n\r])*<!-- \/generated -->/, files))
+ var files = getFiles('js') + getFiles('less') + getFiles('fonts')
+ fs.writeFileSync('assets/js/raw-files.js', files)
});
-};
+};
\ No newline at end of file