docs: function doInclude(incFp, variables, level) {
                  // Check if the file exists at all, if not abort
                  if (!grunt.file.exists(incFp)) {
                      grunt.log.warn('Source file "' + incFp + '" not found.');
                      return false;
                  } else {
                      var filecontent = grunt.file.read(incFp),
                          regex = new RegExp(options.includeRegex, 'g'),
                          extraRegex = new RegExp(options.variableRegex, 'g'),
                          match, extraMatch;
  
                      // Insert variables if passed
                      filecontent = includeVariables(filecontent, variables);
  
                      // Look for inclusion statements in file
                      while (match = regex.exec(filecontent)) {
                          var baseDir = (options.baseDir !== null)? path.resolve(options.baseDir) : path.dirname(incFp),
                              includeFilepath = baseDir + '/' + match[1],
                              extra = match[2],
                              times = 1,
                              content = '',
                              newVariables = {},
                              multiplier;
  
                          // Look for variables to pass to the included file
                          while (extraMatch = extraRegex.exec(extra)) {
                              var property = cleanString(extraMatch[1]),
                                  value = cleanString(extraMatch[2]);
  
                              newVariables[property] = value;
                          }
  
                          // If there's a multiply statement, parse it
                          if (multiplier = new RegExp('@(\\d+)[^:]').exec(extra)) {
                              times = multiplier[1];
                          }
  
                          // Check if the file (or directory) exists
                          if (grunt.file.exists(includeFilepath)) {
                              // Check if the path is a directory and if so, look for index.html in
                              // the given directory
                              if (grunt.file.isDir(includeFilepath) &&
                                  grunt.file.exists(path.join(includeFilepath, 'index.html'))) {
                                  includeFilepath = path.join(includeFilepath, 'index.html');
                              }
  
                              grunt.log.writeln(level + '> Including ' + includeFilepath);
  
                              // Do the inclusion the specified number of times (defaults to just once)
                              for (var i = 0; i < times; i++) {
                                  content += doInclude(includeFilepath, newVariables, level + '-');
                              }
  
                              filecontent = filecontent.replace(new RegExp(match[0], 'g'), content);
                          } else {
                              grunt.log.warn('Include path "' + includeFilepath + '" not found.');
                          }
                      }
  
                      return filecontent;
                  }
              }