github.com/kayoticsully/syncthing@v0.8.9-0.20140724133906-c45a2fdc03f8/assets/bootstrap-3.1.1/grunt/bs-raw-files-generator.js (about)

     1  /* global btoa: true */
     2  /*!
     3   * Bootstrap Grunt task for generating raw-files.min.js for the Customizer
     4   * http://getbootstrap.com
     5   * Copyright 2014 Twitter, Inc.
     6   * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
     7   */
     8  'use strict';
     9  var btoa = require('btoa');
    10  var fs = require('fs');
    11  
    12  function getFiles(type) {
    13    var files = {};
    14    fs.readdirSync(type)
    15      .filter(function (path) {
    16        return type === 'fonts' ? true : new RegExp('\\.' + type + '$').test(path);
    17      })
    18      .forEach(function (path) {
    19        var fullPath = type + '/' + path;
    20        files[path] = (type === 'fonts' ? btoa(fs.readFileSync(fullPath)) : fs.readFileSync(fullPath, 'utf8'));
    21      });
    22    return 'var __' + type + ' = ' + JSON.stringify(files) + '\n';
    23  }
    24  
    25  module.exports = function generateRawFilesJs(banner) {
    26    if (!banner) {
    27      banner = '';
    28    }
    29    var files = banner + getFiles('js') + getFiles('less') + getFiles('fonts');
    30    fs.writeFileSync('docs/assets/js/raw-files.min.js', files);
    31  };