docs: function (name, withRenderedSuffix) {
      
      var baseDir     = "patterns";
      var fileName    = "";
      
      if (name === undefined) {
        return fileName;
      }
      
      if (withRenderedSuffix === undefined) {
        withRenderedSuffix = true;
      }
      
      if (name == "all") {
        return "styleguide/html/styleguide.html";
      } else if (name == "snapshots") {
        return "snapshots/index.html";
      }
      
      var paths = (name.indexOf("viewall-") != -1) ? viewAllPaths : patternPaths;
      var nameClean = name.replace("viewall-","");
      
      // look at this as a regular pattern
      var bits        = this.getPatternInfo(nameClean, paths);
      var patternType = bits[0];
      var pattern     = bits[1];
      
      if ((paths[patternType] !== undefined) && (paths[patternType][pattern] !== undefined)) {
        
        fileName = paths[patternType][pattern];
        
      } else if (paths[patternType] !== undefined) {
        
        for (var patternMatchKey in paths[patternType]) {
          if (patternMatchKey.indexOf(pattern) != -1) {
            fileName = paths[patternType][patternMatchKey];
            break;
          }
        }
      
      }
      
      if (fileName === "") {
        return fileName;
      }
      
      var regex = /\//g;
      if ((name.indexOf("viewall-") !== -1) && (name.indexOf("viewall-") === 0) && (fileName !== "")) {
        fileName = baseDir+"/"+fileName.replace(regex,"-")+"/index.html";
      } else if (fileName !== "") {
        fileName = baseDir+"/"+fileName.replace(regex,"-")+"/"+fileName.replace(regex,"-");
        if (withRenderedSuffix) {
          var fileSuffixRendered = ((config.outputFileSuffixes !== undefined) && (config.outputFileSuffixes.rendered !== undefined)) ? config.outputFileSuffixes.rendered : '';
          fileName = fileName+fileSuffixRendered+".html";
        }
      }
      
      return fileName;
      
    }