code: function buildDocs() {
    return Promise.resolve()
      .then(() => new Promise((resolve, reject) => {
        Metalsmith(__dirname)
          .source('./source/docs')
          .destination('./docs')
          .clean(true)
          .use(Markdown())
          .metadata({
            version: __version
          })
          .use(Layouts({
            engine: 'handlebars',
            directory: './source/layouts',
            rename: false
          }))
          // Update {{version}} in content since it's not processed with Handlebars
          .use((files, metalsmith, done) => {
            Object.keys(files).forEach((key) => {
              let file = files[key];
  
              file.contents = new Buffer(
                file.contents
                  .toString()
                  .replace(/\{\{version\}\}/g, __version)
              );
            });
  
            done();
          })
          .build((err) => {
            if(err) {
              reject(err);
              return;
            }
            console.log(Chalk.green('Docs generated! 📚'));
  
            resolve();
          });
      }));
  }
docs: Builds all doc pages.  Returns a promise.