docs: function(props) {
          var files = {};
          // Include all template files by default.
          helpers.expand({filter: 'isFile', dot: true}, [pathPrefix + '**']).forEach(function(obj) {
            // Get the source filepath relative to the template root.
            var src = obj.rel.slice(pathPrefix.length);
            // Get the destination filepath.
            var dest = init.renames[src];
            // Create a property for this file, but use src if dest evaulates
            // to false
            var processed = (dest) ? grunt.template.process(dest, {data: props, delimiters: 'init'}) : false;
            processed = (processed === 'false' || processed === '') ? false : processed;
            files[(processed) ? processed : src] = obj.rel;
          });
          // Exclude files with a value of false in rename.json.
          var exclusions = Object.keys(init.renames).filter(function(key) {
            var processed = (init.renames[key]) ? 
              grunt.template.process(init.renames[key], {data: props, delimiters: 'init'}) : false;
            processed = (processed === 'false' || processed === '') ? false : processed;
            return (processed === false);
          }).map(function(key) {
            return pathPrefix + key;
          });
          // Exclude all exclusion files by deleting them from the files object.
          if (exclusions.length > 0) {
            helpers.expand({filter: 'isFile', dot: true}, exclusions).forEach(function(obj) {
              // Get the source filepath relative to the template root.
              var src = obj.rel.slice(pathPrefix.length);
              // And remove that file from the files list.
              delete files[src];
            });
          }
          return files;
        }