Gruntfile.js 4.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  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. //Non minified skin files
  27. "dist/css/skins/skin-blue.css": "build/less/skins/skin-blue.less",
  28. "dist/css/skins/skin-black.css": "build/less/skins/skin-black.less",
  29. "dist/css/skins/skin-yellow.css": "build/less/skins/skin-yellow.less",
  30. "dist/css/skins/skin-green.css": "build/less/skins/skin-green.less",
  31. "dist/css/skins/skin-red.css": "build/less/skins/skin-red.less",
  32. "dist/css/skins/skin-purple.css": "build/less/skins/skin-purple.less",
  33. "dist/css/skins/skin-blue-light.css": "build/less/skins/skin-blue-light.less",
  34. "dist/css/skins/skin-black-light.css": "build/less/skins/skin-black-light.less",
  35. "dist/css/skins/skin-yellow-light.css": "build/less/skins/skin-yellow-light.less",
  36. "dist/css/skins/skin-green-light.css": "build/less/skins/skin-green-light.less",
  37. "dist/css/skins/skin-red-light.css": "build/less/skins/skin-red-light.less",
  38. "dist/css/skins/skin-purple-light.css": "build/less/skins/skin-purple-light.less",
  39. "dist/css/skins/_all-skins.css": "build/less/skins/_all-skins.less"
  40. }
  41. },
  42. //production compresses version
  43. production: {
  44. options: {
  45. //Whether to compress or not
  46. compress: true
  47. },
  48. files: {
  49. // compilation.css : source.less
  50. "dist/css/AdminLTE.min.css": "build/less/AdminLTE.less",
  51. //Skins minified
  52. "dist/css/skins/skin-blue.min.css": "build/less/skins/skin-blue.less",
  53. "dist/css/skins/skin-black.min.css": "build/less/skins/skin-black.less",
  54. "dist/css/skins/skin-yellow.min.css": "build/less/skins/skin-yellow.less",
  55. "dist/css/skins/skin-green.min.css": "build/less/skins/skin-green.less",
  56. "dist/css/skins/skin-red.min.css": "build/less/skins/skin-red.less",
  57. "dist/css/skins/skin-purple.min.css": "build/less/skins/skin-purple.less",
  58. "dist/css/skins/skin-blue-light.min.css": "build/less/skins/skin-blue-light.less",
  59. "dist/css/skins/skin-black-light.min.css": "build/less/skins/skin-black-light.less",
  60. "dist/css/skins/skin-yellow-light.min.css": "build/less/skins/skin-yellow-light.less",
  61. "dist/css/skins/skin-green-light.min.css": "build/less/skins/skin-green-light.less",
  62. "dist/css/skins/skin-red-light.min.css": "build/less/skins/skin-red-light.less",
  63. "dist/css/skins/skin-purple-light.min.css": "build/less/skins/skin-purple-light.less",
  64. "dist/css/skins/_all-skins.min.css": "build/less/skins/_all-skins.less"
  65. }
  66. }
  67. },
  68. //Uglify task info. Compress the js files.
  69. uglify: {
  70. options: {
  71. mangle: true,
  72. preserveComments: 'some'
  73. },
  74. my_target: {
  75. files: {
  76. 'dist/js/app.min.js': ['dist/js/app.js']
  77. }
  78. }
  79. },
  80. //Build the documentation files
  81. includes: {
  82. build: {
  83. src: ['*.html'], // Source files
  84. dest: 'documentation/', // Destination directory
  85. flatten: true,
  86. cwd: 'documentation/build',
  87. options: {
  88. silent: true,
  89. includePath: 'documentation/build/include'
  90. //banner: '<!-- I am a banner <% includes.files.dest %> -->'
  91. }
  92. }
  93. }
  94. });
  95. // the default task (running "grunt" in console) is "watch"
  96. grunt.registerTask('default', ['watch']);
  97. };