in gulpfile.js [826:854]
function htmlCollab (cb) {
const datasets = getDatasets();
return gulp.src('./src/collabs/*.yaml')
.pipe(yaml())
.pipe(flatmap(function (stream, file) {
const collabData = JSON.parse(file.contents.toString('utf8'));
const slug = generateSlug(file.path);
// Filter out datasets to only the ones in the collab
const filteredDatasets = datasets.filter((d) => {
return collabData.Datasets.includes(d.Slug);
});
// HBS templating
var templateData = {
datasets: filteredDatasets,
isHome: false,
collabTitle: collabData.Title,
collabDescription: collabData.Description,
collabLogo: collabData.Logo
};
return gulp.src('./src/index.hbs')
.pipe(hb({data: templateData, helpers: hbsHelpers, partials: ['./src/partials/*'], handlebars: handlebars}))
.pipe(rename(`collab/${slug}/index.html`))
.pipe(gulp.dest('./dist/'));
}));
};