summaryrefslogtreecommitdiff
path: root/Gruntfile.js
blob: 16905d1ef148a3e21c05e5dca6a7faf01f14beb2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
/*global module:false*/
module.exports = function(grunt) {

  // Project configuration.
  grunt.initConfig({
    // Metadata.
    pkg: grunt.file.readJSON('package.json'),
    banner: '/*! <%= pkg.title || pkg.name %> - v<%= pkg.version %> - ' +
      '<%= grunt.template.today("yyyy-mm-dd") %>\n' +
      '<%= pkg.homepage ? "* " + pkg.homepage + "\\n" : "" %>' +
      '* Copyright (c) <%= grunt.template.today("yyyy") %> <%= pkg.author.name %>;' +
      ' Licensed <%= _.pluck(pkg.licenses, "type").join(", ") %> */\n',
    // Task configuration.
    watch: {
      main: {
        options: {
          reload: true;
        },
        files: ['index.php', 'sass/demo.scss'],
        tasks: ['sass']
      }
    },
    responsive_images: {
      full: {
        options: {
          engine: 'im',
          sizes: [{
            name: 'web',
            width: 800
          },
          {
            name: 'thumb',
            height: 100
          }]
        },
        files: [{
          expand: true,
          flatten: true,
          src: ['images/original/*.jpg'],
          cwd: './',
          custom_dest: 'images/{%= name %}/'
        }]
      }
    },
    sass: {
      main: {
        options: {
          style: 'compressed'
        },
        files: {
          'demo.css': 'sass/demo.scss'
        }
      }
    },
    copy: {
      lightbox: {
        expand: true,
        flatten: true,
        src: ['bower_components/touch-imagelightbox/dist/touch-imagelightbox.js'],
        dest: './',
        filter: 'isFile'
      }
    }
  });

  // These plugins provide necessary tasks.
  grunt.loadNpmTasks('grunt-contrib-sass');
  grunt.loadNpmTasks('grunt-contrib-copy');
  grunt.loadNpmTasks('grunt-responsive-images');

  // Default task.
  grunt.registerTask('default', ['responsive_images', 'sass', 'copy']);

};