Gruntfile.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. 'use strict';
  2. module.exports = function (grunt) {
  3. // load all grunt tasks
  4. grunt.loadNpmTasks('grunt-contrib-less');
  5. grunt.loadNpmTasks('grunt-contrib-watch');
  6. grunt.loadNpmTasks('grunt-contrib-uglify');
  7. grunt.loadNpmTasks('grunt-includes');
  8. grunt.initConfig({
  9. watch: {
  10. // if any .less file changes in directory "build/less/" run the "less"-task.
  11. files: ["build/less/*.less", "build/less/skins/*.less", "dist/js/app.js"],
  12. tasks: ["less", "uglify"]
  13. },
  14. // "less"-task configuration
  15. //this task will compile all less files upon saving to create both AdminLTE.css and AdminLTE.min.css
  16. less: {
  17. //Development not compressed
  18. development: {
  19. options: {
  20. //Whether to compress or not
  21. compress: false
  22. },
  23. files: {
  24. // compilation.css : source.less
  25. "dist/css/AdminLTE.css": "build/less/AdminLTE.less",
  26. "dist/css/skins/skin-blue.css": "build/less/skins/skin-blue.less",
  27. "dist/css/skins/skin-black.css": "build/less/skins/skin-black.less",
  28. "dist/css/skins/skin-yellow.css": "build/less/skins/skin-yellow.less",
  29. "dist/css/skins/skin-green.css": "build/less/skins/skin-green.less",
  30. "dist/css/skins/skin-red.css": "build/less/skins/skin-red.less",
  31. "dist/css/skins/skin-purple.css": "build/less/skins/skin-purple.less",
  32. "dist/css/skins/_all-skins.css": "build/less/skins/_all-skins.less"
  33. }
  34. },
  35. //production compresses version
  36. production: {
  37. options: {
  38. //Whether to compress or not
  39. compress: true
  40. },
  41. files: {
  42. // compilation.css : source.less
  43. "dist/css/AdminLTE.min.css": "build/less/AdminLTE.less",
  44. "dist/css/skins/skin-blue.min.css": "build/less/skins/skin-blue.less",
  45. "dist/css/skins/skin-black.min.css": "build/less/skins/skin-black.less",
  46. "dist/css/skins/skin-yellow.min.css": "build/less/skins/skin-yellow.less",
  47. "dist/css/skins/skin-green.min.css": "build/less/skins/skin-green.less",
  48. "dist/css/skins/skin-red.min.css": "build/less/skins/skin-red.less",
  49. "dist/css/skins/skin-purple.min.css": "build/less/skins/skin-purple.less",
  50. "dist/css/skins/_all-skins.min.css": "build/less/skins/_all-skins.less"
  51. }
  52. }
  53. },
  54. //Uglify task info. Compress the js files.
  55. uglify: {
  56. options: {
  57. mangle: true,
  58. preserveComments: 'some'
  59. },
  60. my_target: {
  61. files: {
  62. 'dist/js/app.min.js': ['dist/js/app.js']
  63. }
  64. }
  65. },
  66. //Build the documentation files
  67. includes: {
  68. build: {
  69. src: ['*.html'], // Source files
  70. dest: 'documentation/', // Destination directory
  71. flatten: true,
  72. cwd: 'documentation/build',
  73. options: {
  74. silent: true,
  75. includePath: 'documentation/build/include'
  76. //banner: '<!-- I am a banner <% includes.files.dest %> -->'
  77. }
  78. }
  79. }
  80. });
  81. // the default task (running "grunt" in console) is "watch"
  82. grunt.registerTask('default', ['watch']);
  83. };