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/'));
}));
};