function htmlASDI()

in gulpfile.js [857:896]


function htmlASDI (cb) {
  const datasets = getDatasets(true);

  return gulp.src('./src/asdi/*.yaml')
    .pipe(yaml())
    .pipe(flatmap(function (stream, file) {
      const asdiData = JSON.parse(file.contents.toString('utf8'));

      var filteredDatasets = {};
      reduce(asdiData.Collab.Tags, function(acc, key) {
        // Filter out datasets without a matching tag
        acc[key] = datasets.filter((d) => {
          return d.Collabs && asdiData.Collab.Name in d.Collabs && d.Collabs[asdiData.Collab.Name].Tags && d.Collabs[asdiData.Collab.Name].Tags.includes(key);
        });
        return acc;
      }, filteredDatasets);

      // HBS templating
      var templateData = {
        datasets: filteredDatasets,
        isHome: false,
        collabTitle: asdiData.Title,
        collabDescription: asdiData.Description,
        collabLogo: asdiData.Logo
      };

      templateData.collabDescription += "<br><br> Categories: ";

      asdiData.Collab.Tags.forEach((t) => {
        templateData.collabDescription += "[" + t + "](#" + t.replace(/ /g, '-') + "), ";
      });

      templateData.collabDescription = templateData.collabDescription.slice(0, -2);

      return gulp.src('./src/asdiindex.hbs')
        .pipe(hb({data: templateData, helpers: hbsHelpers, partials: ['./src/partials/*'], handlebars: handlebars}))
        .pipe(rename(`collab/asdi/index.html`))
        .pipe(gulp.dest('./dist/'));
    }));
};