
dash-stack orginally was tought as Python Flask project. After some heatet argument and strong considiration we have decided to move the project to Django. This commit is the initial commit for moving project to Django. Change-Id: Id28e3cf1dafbed7dd647b1020376bae893f5c3a2 Signed-off-by: Paarhati Ozkasgarli <ozkasgarli@gmail.com>
173 lines
5.7 KiB
JavaScript
173 lines
5.7 KiB
JavaScript
// 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']);
|
|
};
|