     rsync:
       options:
         args: ['--relative', '--recursive']
-        exclude: ['.git*', 'node_modules']
-        recursive: true
       dist:
         options:
           src: all_list
-          dest: 'site'
-
+          dest: site
+
+  # Load all Grunt plugins
   grunt.loadNpmTasks "grunt-contrib-#{contrib}" for contrib in contribs
   grunt.loadNpmTasks "grunt-#{plugin}" for plugin in plugins
 
+  # Define custom composite tasks in terms of other tasks
   grunt.registerTask 'default', ['jshint', 'jst', 'stylus', 'bake', 'copy', 'sails-linker', 'rsync']
   grunt.registerTask 'release', ['jshint', 'uglify', 'concat']

# Official Grunt tasks to load
contribs = ['stylus', 'watch', 'jst', 'connect', 'copy', 'jshint', 'uglify']
# Other Grunt tasks to load
plugins = ['rsync', 'bake', 'sails-linker', 'jsdoc']

vendor = 'vendor/'
js = '.js'

# Library paths
libs =

  tab: 'bootstrap/js/tab'
  server: 'felina-js/src/main'

# Array to hold values of library map
lib_list = []

# List of full vendor directories to be included in the built site
dir_list = [
  vendor + 'dropzone'
  vendor + 'webshim/js-webshim/minified'
  vendor + 'bootstrap/dist/fonts'
  'img'
]

# List of vendor stylesheets to be included in the built site
css_list = [
  'bootstrap/dist/css/bootstrap'
  'blueimp-gallery/css/blueimp-gallery'
  'blueimp-bootstrap-image-gallery/css/bootstrap-image-gallery'
]

# Add the root directory and file extension to CSS files
css_list = css_list.map((path) -> vendor + path + css)

# Add the root directory and file extension to JS files and put them in an array
for k, v of libs
  full = vendor + v + js
  libs[k] = full
  lib_list.push(full)

# Make a list of all vendor resources -- JS, CSS and directories
all_list = lib_list.concat(dir_list).concat(css_list)

# Module paths
