code: function processKeywords (text) {
    // for some reason retext is not filtering "it's" out
    const cleanText = text.replace(/'t/g, '')
                          .replace(/'s/g, '')
                          .replace(/'ll/g, '')
                          .replace(/'re/g, '')
                          .replace(/'ve/g, '');
  
    return new Promise(function (resolve, reject) {
      processor.process(cleanText, function (err, file) {
        if (err) {
          reject(err);
        }
        const space = file.namespace('retext');
        const words = space.keywords.map((w) => ({
          value: nlcstToString(w.matches[0].node),
          score: w.score
        }));
        const phrases = space.keyphrases.map((p) => ({
          value: p.matches[0].nodes.map(nlcstToString).join(''),
          score: p.score
        }));
  
        resolve({words, phrases});
      });
    });
  }
docs: /*
  Process the given text with retext and return the promise of an object with
  the keywords and keyphrases extracted.