Advertisement
Guest User

Untitled

a guest
Aug 29th, 2015
120
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. 'use strict';
  2. module.exports = function(grunt) {
  3.   // Load all tasks
  4.   require('load-grunt-tasks')(grunt);
  5.   // Show elapsed time
  6.   require('time-grunt')(grunt);
  7.  
  8.   var jsFileList = [
  9.     'assets/js/_*.js'
  10.   ];
  11.  
  12.   var jsPlugins = [
  13.     'assets/vendor/bootstrap-sass-official/assets/javascripts/bootstrap/transition.js',
  14.     //'assets/vendor/bootstrap-sass-official/assets/javascripts/bootstrap/alert.js',
  15.     //'assets/vendor/bootstrap-sass-official/assets/javascripts/bootstrap/button.js',
  16.     //'assets/vendor/bootstrap-sass-official/assets/javascripts/bootstrap/carousel.js',
  17.     //'assets/vendor/bootstrap-sass-official/assets/javascripts/bootstrap/collapse.js',
  18.     //'assets/vendor/bootstrap-sass-official/assets/javascripts/bootstrap/dropdown.js',
  19.     //'assets/vendor/bootstrap-sass-official/assets/javascripts/bootstrap/modal.js',
  20.     //'assets/vendor/bootstrap-sass-official/assets/javascripts/bootstrap/tooltip.js',
  21.     //'assets/vendor/bootstrap-sass-official/assets/javascripts/bootstrap/popover.js',
  22.     //'assets/vendor/bootstrap-sass-official/assets/javascripts/bootstrap/scrollspy.js',
  23.     //'assets/vendor/bootstrap-sass-official/assets/javascripts/bootstrap/tab.js',
  24.     //'assets/vendor/bootstrap-sass-official/assets/javascripts/bootstrap/affix.js',
  25.     'assets/js/plugins/*.js',
  26.   ];
  27.  
  28.   grunt.initConfig({
  29.     jshint: {
  30.       options: {
  31.         jshintrc: '.jshintrc'
  32.       },
  33.       all: [
  34.         'Gruntfile.js',
  35.         'assets/js/*.js',
  36.         '!assets/js/scripts.js',
  37.         '!assets/**/*.min.*'
  38.       ]
  39.     },
  40.     sass: {
  41.       options: {
  42.         compass: true
  43.       },
  44.       dist: {
  45.         options: {
  46.           style: 'compressed'
  47.         },
  48.         files: {
  49.           'assets/css/main.min.css': 'assets/sass/main.scss',
  50.         }
  51.       },
  52.       dev: {
  53.         files: {
  54.           'assets/css/main.css': 'assets/sass/main.scss',
  55.         },
  56.         options: {
  57.           style: 'expanded'
  58.         }
  59.       }
  60.     },
  61.     concat: {
  62.       options: {
  63.         separator: ';',
  64.       },
  65.       dev: {
  66.         src: [jsFileList],
  67.         dest: 'assets/js/scripts.js',
  68.       },
  69.       dist: {
  70.         src: [jsFileList],
  71.         dest: 'assets/js/scripts.min.js',
  72.       },
  73.       plugins: {
  74.         src: [jsPlugins],
  75.         dest: 'assets/js/plugins.min.js',
  76.       },
  77.     },
  78.     uglify: {
  79.       dist: {
  80.         files: {
  81.           'assets/js/scripts.min.js': [jsFileList]
  82.         }
  83.       },
  84.       plugins: {
  85.         files: {
  86.           'assets/js/plugins.min.js': [jsPlugins]
  87.         }
  88.       }
  89.     },
  90.     modernizr: {
  91.       build: {
  92.         devFile: 'assets/vendor/modernizr/modernizr.js',
  93.         outputFile: 'assets/js/vendor/modernizr.min.js',
  94.         files: {
  95.           'src': [
  96.             ['assets/js/plugins.min.js'],
  97.             ['assets/js/scripts.min.js'],
  98.             ['assets/css/main.min.css']
  99.           ]
  100.         },
  101.         uglify: true,
  102.         parseFiles: true
  103.       }
  104.     },
  105.     version: {
  106.       default: {
  107.         options: {
  108.           format: true,
  109.           length: 32,
  110.           manifest: 'assets/manifest.json',
  111.           querystring: {
  112.             style: 'roots_css',
  113.             script: 'roots_js'
  114.           }
  115.         },
  116.         files: {
  117.           'lib/setup/scripts.php': 'assets/{css,js}/{main,scripts}.min.{css,js}'
  118.         }
  119.       }
  120.     },
  121.     watch: {
  122.       sass: {
  123.         files: ['**/*.{scss,sass}'],
  124.         tasks: ['sass:dev'],
  125.       },
  126.       js: {
  127.         files: [
  128.           jsFileList,
  129.           '<%= jshint.all %>'
  130.         ],
  131.         tasks: ['jshint', 'concat']
  132.       },
  133.       livereload: {
  134.         // Browser live reloading
  135.         // https://github.com/gruntjs/grunt-contrib-watch#live-reloading
  136.         options: {
  137.           livereload: true
  138.         },
  139.         files: [
  140.           'assets/css/main.css',
  141.           'assets/css/main.min.css',
  142.           'assets/js/scripts.js',
  143.           'assets/js/scripts.min.js',
  144.           'assets/js/plugins.min.js',
  145.           'lib/*.php',
  146.           'templates/*.php',
  147.           '*.php',
  148.           '**/*.php'
  149.         ]
  150.       }
  151.     }
  152.   });
  153.  
  154.   // Register tasks
  155.   grunt.registerTask('default', [
  156.     'dev'
  157.   ]);
  158.   grunt.registerTask('dev', [
  159.     'jshint',
  160.     'sass:dev',
  161.     'concat',
  162.   ]);
  163.   grunt.registerTask('build', [
  164.     'concat',
  165.     'jshint',
  166.     'sass:dist',
  167.     'uglify',
  168.     'modernizr',
  169.     'version',
  170.   ]);
  171. };
Advertisement
RAW Paste Data Copied
Advertisement