3.0.0 -> 3.0.1
[bootswatch] / bower_components / bootstrap / Gruntfile.js
index cfefae2..97f4ec4 100755 (executable)
@@ -3,17 +3,20 @@
 module.exports = function(grunt) {
   "use strict";
 
+  var btoa = require('btoa')
   // Project configuration.
   grunt.initConfig({
 
     // Metadata.
     pkg: grunt.file.readJSON('package.json'),
-    banner: '/**\n' +
-              '* <%= pkg.name %>.js v<%= pkg.version %> by @fat and @mdo\n' +
-              '* Copyright <%= grunt.template.today("yyyy") %> <%= pkg.author %>\n' +
-              '* <%= _.pluck(pkg.licenses, "url").join(", ") %>\n' +
-              '*/\n',
-    jqueryCheck: 'if (!jQuery) { throw new Error(\"Bootstrap requires jQuery\") }\n\n',
+    banner: '/*!\n' +
+              ' * Bootstrap v<%= pkg.version %> by @fat and @mdo\n' +
+              ' * Copyright <%= grunt.template.today("yyyy") %> <%= pkg.author %>\n' +
+              ' * Licensed under <%= _.pluck(pkg.licenses, "url").join(", ") %>\n' +
+              ' *\n' +
+              ' * Designed and built with all the love in the world by @mdo and @fat.\n' +
+              ' */\n\n',
+    jqueryCheck: 'if (typeof jQuery === "undefined") { throw new Error("Bootstrap requires jQuery") }\n\n',
 
     // Task configuration.
     clean: {
@@ -61,7 +64,8 @@ module.exports = function(grunt) {
 
     uglify: {
       options: {
-        banner: '<%= banner %>'
+        banner: '<%= banner %>',
+        report: 'min'
       },
       bootstrap: {
         src: ['<%= concat.bootstrap.dest %>'],
@@ -71,7 +75,8 @@ module.exports = function(grunt) {
 
     recess: {
       options: {
-        compile: true
+        compile: true,
+        banner: '<%= banner %>'
       },
       bootstrap: {
         src: ['less/bootstrap.less'],
@@ -127,7 +132,11 @@ module.exports = function(grunt) {
 
     validation: {
       options: {
-        reset: true
+        reset: true,
+        relaxerror: [
+            "Bad value X-UA-Compatible for attribute http-equiv on element meta.",
+            "Element img is missing required attribute src."
+        ]
       },
       files: {
         src: ["_gh_pages/**/*.html"]
@@ -152,6 +161,7 @@ module.exports = function(grunt) {
 
 
   // These plugins provide necessary tasks.
+  grunt.loadNpmTasks('browserstack-runner');
   grunt.loadNpmTasks('grunt-contrib-clean');
   grunt.loadNpmTasks('grunt-contrib-concat');
   grunt.loadNpmTasks('grunt-contrib-connect');
@@ -163,7 +173,6 @@ module.exports = function(grunt) {
   grunt.loadNpmTasks('grunt-html-validation');
   grunt.loadNpmTasks('grunt-jekyll');
   grunt.loadNpmTasks('grunt-recess');
-  grunt.loadNpmTasks('browserstack-runner');
 
   // Docs HTML validation task
   grunt.registerTask('validate-html', ['jekyll', 'validation']);
@@ -205,13 +214,13 @@ module.exports = function(grunt) {
           return type == 'fonts' ? true : new RegExp('\\.' + type + '$').test(path)
         })
         .forEach(function (path) {
-          return files[path] = fs.readFileSync(type + '/' + path, 'utf8')
+          var fullPath = type + '/' + path
+          return files[path] = (type == 'fonts' ? btoa(fs.readFileSync(fullPath)) : fs.readFileSync(fullPath, 'utf8'))
         })
       return 'var __' + type + ' = ' + JSON.stringify(files) + '\n'
     }
 
-    var customize = fs.readFileSync('customize.html', 'utf-8')
     var files = getFiles('js') + getFiles('less') + getFiles('fonts')
-    fs.writeFileSync('assets/js/raw-files.js', files)
+    fs.writeFileSync('docs-assets/js/raw-files.js', files)
   });
-};
\ No newline at end of file
+};