code: function buildPage (sourceFile, pipeline, config, logger, addLiveReload) {
    const start = Date.now()
    return Promise.resolve(pipeline(sourceFile))
      .then(files => Array.isArray(files) ? files : [files])
      .then(files => Array.from(new Map(files.map(f => [f.info.dest, f])).values()))
      .map(file => {
        const shouldInjectLiveReloadScript = addLiveReload &&
          file.info.dest.indexOf('.html') === file.info.dest.length - 5
  
        const content = shouldInjectLiveReloadScript
          ? file.content.replace('</body>', liveReloadScriptTag + '</body>')
          : file.content
  
        return fs.outputFileAsync(file.info.dest, content)
          .then(() => file)
      })
      .then((destFiles) => {
        const timeTaken = Date.now() - start
        logger({ type: 'build-page', timeTaken: timeTaken, sourceFile: sourceFile, destFiles: destFiles })
        return destFiles
      })
      .catch((err) => logger({ type: 'error', error: err }))
  }
docs: /* Builds a single file using the pipine provided