Version 1
[yaffs-website] / vendor / geedmo / yamm3 / demo / components / bootstrap / grunt / bs-raw-files-generator.js
diff --git a/vendor/geedmo/yamm3/demo/components/bootstrap/grunt/bs-raw-files-generator.js b/vendor/geedmo/yamm3/demo/components/bootstrap/grunt/bs-raw-files-generator.js
new file mode 100644 (file)
index 0000000..ec8c531
--- /dev/null
@@ -0,0 +1,46 @@
+/*!
+ * Bootstrap Grunt task for generating raw-files.min.js for the Customizer
+ * http://getbootstrap.com
+ * Copyright 2014 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+
+/* global btoa: true */
+
+'use strict';
+var fs = require('fs');
+var btoa = require('btoa');
+var glob = require('glob');
+
+function getFiles(type) {
+  var files = {};
+  var recursive = (type === 'less');
+  var globExpr = (recursive ? '/**/*' : '/*');
+  glob.sync(type + globExpr)
+    .filter(function (path) {
+      return type === 'fonts' ? true : new RegExp('\\.' + type + '$').test(path);
+    })
+    .forEach(function (fullPath) {
+      var relativePath = fullPath.replace(/^[^/]+\//, '');
+      files[relativePath] = (type === 'fonts' ? btoa(fs.readFileSync(fullPath)) : fs.readFileSync(fullPath, 'utf8'));
+    });
+  return 'var __' + type + ' = ' + JSON.stringify(files) + '\n';
+}
+
+module.exports = function generateRawFilesJs(grunt, banner) {
+  if (!banner) {
+    banner = '';
+  }
+  var dirs = ['js', 'less', 'fonts'];
+  var files = banner + dirs.map(getFiles).reduce(function (combined, file) {
+    return combined + file;
+  }, '');
+  var rawFilesJs = 'docs/assets/js/raw-files.min.js';
+  try {
+    fs.writeFileSync(rawFilesJs, files);
+  }
+  catch (err) {
+    grunt.fail.warn(err);
+  }
+  grunt.log.writeln('File ' + rawFilesJs.cyan + ' created.');
+};