123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 |
- // AdminLTE Gruntfile
- module.exports = function (grunt) {
- 'use strict';
- grunt.initConfig({
- watch: {
- // If any .less file changes in directory "build/less/" run the "less"-task.
- files: ["build/less/*.less", "build/less/skins/*.less", "dist/js/app.js"],
- tasks: ["less", "uglify"]
- },
- // "less"-task configuration
- // This task will compile all less files upon saving to create both AdminLTE.css and AdminLTE.min.css
- less: {
- // Development not compressed
- development: {
- options: {
- // Whether to compress or not
- compress: false
- },
- files: {
- // compilation.css : source.less
- "dist/css/AdminLTE.css": "build/less/AdminLTE.less",
- //Non minified skin files
- "dist/css/skins/skin-blue.css": "build/less/skins/skin-blue.less",
- "dist/css/skins/skin-black.css": "build/less/skins/skin-black.less",
- "dist/css/skins/skin-yellow.css": "build/less/skins/skin-yellow.less",
- "dist/css/skins/skin-green.css": "build/less/skins/skin-green.less",
- "dist/css/skins/skin-red.css": "build/less/skins/skin-red.less",
- "dist/css/skins/skin-purple.css": "build/less/skins/skin-purple.less",
- "dist/css/skins/skin-blue-light.css": "build/less/skins/skin-blue-light.less",
- "dist/css/skins/skin-black-light.css": "build/less/skins/skin-black-light.less",
- "dist/css/skins/skin-yellow-light.css": "build/less/skins/skin-yellow-light.less",
- "dist/css/skins/skin-green-light.css": "build/less/skins/skin-green-light.less",
- "dist/css/skins/skin-red-light.css": "build/less/skins/skin-red-light.less",
- "dist/css/skins/skin-purple-light.css": "build/less/skins/skin-purple-light.less",
- "dist/css/skins/_all-skins.css": "build/less/skins/_all-skins.less"
- }
- },
- // Production compresses version
- production: {
- options: {
- // Whether to compress or not
- compress: true
- },
- files: {
- // compilation.css : source.less
- "dist/css/AdminLTE.min.css": "build/less/AdminLTE.less",
- // Skins minified
- "dist/css/skins/skin-blue.min.css": "build/less/skins/skin-blue.less",
- "dist/css/skins/skin-black.min.css": "build/less/skins/skin-black.less",
- "dist/css/skins/skin-yellow.min.css": "build/less/skins/skin-yellow.less",
- "dist/css/skins/skin-green.min.css": "build/less/skins/skin-green.less",
- "dist/css/skins/skin-red.min.css": "build/less/skins/skin-red.less",
- "dist/css/skins/skin-purple.min.css": "build/less/skins/skin-purple.less",
- "dist/css/skins/skin-blue-light.min.css": "build/less/skins/skin-blue-light.less",
- "dist/css/skins/skin-black-light.min.css": "build/less/skins/skin-black-light.less",
- "dist/css/skins/skin-yellow-light.min.css": "build/less/skins/skin-yellow-light.less",
- "dist/css/skins/skin-green-light.min.css": "build/less/skins/skin-green-light.less",
- "dist/css/skins/skin-red-light.min.css": "build/less/skins/skin-red-light.less",
- "dist/css/skins/skin-purple-light.min.css": "build/less/skins/skin-purple-light.less",
- "dist/css/skins/_all-skins.min.css": "build/less/skins/_all-skins.less"
- }
- }
- },
- // Uglify task info. Compress the js files.
- uglify: {
- options: {
- mangle: true,
- preserveComments: 'some'
- },
- my_target: {
- files: {
- 'dist/js/app.min.js': ['dist/js/app.js']
- }
- }
- },
- // Build the documentation files
- includes: {
- build: {
- src: ['*.html'], // Source files
- dest: 'documentation/', // Destination directory
- flatten: true,
- cwd: 'documentation/build',
- options: {
- silent: true,
- includePath: 'documentation/build/include'
- }
- }
- },
- // Optimize images
- image: {
- dynamic: {
- files: [{
- expand: true,
- cwd: 'build/img/',
- src: ['**/*.{png,jpg,gif,svg,jpeg}'],
- dest: 'dist/img/'
- }]
- }
- },
- // Validate JS code
- jshint: {
- options: {
- jshintrc: '.jshintrc'
- },
- core: {
- src: 'dist/js/app.js'
- },
- demo: {
- src: 'dist/js/demo.js'
- },
- pages: {
- src: 'dist/js/pages/*.js'
- }
- },
- // Validate CSS files
- csslint: {
- options: {
- csslintrc: 'build/less/.csslintrc'
- },
- dist: [
- 'dist/css/AdminLTE.css',
- ]
- },
- // Validate Bootstrap HTML
- bootlint: {
- options: {
- relaxerror: ['W005']
- },
- files: ['pages/**/*.html', '*.html']
- },
- // Delete images in build directory
- // After compressing the images in the build/img dir, there is no need
- // for them
- clean: {
- build: ["build/img/*"]
- }
- });
- // Load all grunt tasks
- // LESS Compiler
- grunt.loadNpmTasks('grunt-contrib-less');
- // Watch File Changes
- grunt.loadNpmTasks('grunt-contrib-watch');
- // Compress JS Files
- grunt.loadNpmTasks('grunt-contrib-uglify');
- // Include Files Within HTML
- grunt.loadNpmTasks('grunt-includes');
- // Optimize images
- grunt.loadNpmTasks('grunt-image');
- // Validate JS code
- grunt.loadNpmTasks('grunt-contrib-jshint');
- // Delete not needed files
- grunt.loadNpmTasks('grunt-contrib-clean');
- // Lint CSS
- grunt.loadNpmTasks('grunt-contrib-csslint');
- // Lint Bootstrap
- grunt.loadNpmTasks('grunt-bootlint');
- // Linting task
- grunt.registerTask('lint', ['jshint', 'csslint', 'bootlint']);
- // The default task (running "grunt" in console) is "watch"
- grunt.registerTask('default', ['watch']);
- };
|