docs: function(config, stream, extras, callback) {
  
      var tocFiles = this.tocFiles = [];
  
      // First run through every file and get a tree of the section
      // navigation within that file. Save to our nav object.
      stream = stream.pipe(through.obj(function(file, enc, cb) {
  
        // create cheerio element for file if not present
        file.$el = file.$el || cheerio.load(file.contents.toString());
  
        // make this work whether or not we have a
        // full HTML file.
        var root = file.$el.root();
        var body = file.$el('body');
        if(body.length) root = body;
  
        // add sections to plugin array for use later in the pipeline
        tocFiles.push({
          file: file,
          sections: getSections(file.$el, root, file.relative)
        });
  
        cb(null, file);
      }));
  
      callback(null, config, stream, extras);
    }