const eleventySass = require("eleventy-sass"); module.exports = function (eleventyConfig) { // eleventyConfig.addPassthroughCopy('src/assets/fonts'); // eleventyConfig.addPassthroughCopy("./src/assets/js"); // eleventyConfig.addPassthroughCopy('src/assets/images/**/*.png'); // eleventyConfig.addPassthroughCopy('src/assets/images/**/*.svg'); // eleventyConfig.addPassthroughCopy('src/assets/images/**/*.jpg'); // eleventyConfig.addPassthroughCopy('src/assets/images/**/*.gif'); //plugins eleventyConfig.addPlugin(eleventySass); eleventyConfig.addFilter('isActive', (arr) => arr.filter(guest => guest.name != '')); eleventyConfig.addFilter('day', (arr,givenDate, givenLoc) => arr.filter(guest => guest.dates.some(e => (e.date == givenDate && e.day == givenLoc)))); eleventyConfig.addFilter('night', (arr,givenDate, givenLoc) => arr.filter(guest => guest.dates.some(e => (e.date == givenDate && e.night == givenLoc)))); //eleventyConfig.addFilter('total', (arr) => arr.reduce((prev,current) => ({...prev, count: current.count + prev.count}))); eleventyConfig.addFilter('total', arr => arr.map(a => a.count).reduce((prev,current) => current + prev)); //https://stackoverflow.com/questions/5732043/how-to-call-reduce-on-an-array-of-objects-to-sum-their-properties eleventyConfig.addFilter('byGuest', (arr, givenSlug) => arr.filter(guest => guest.slug == givenSlug)); eleventyConfig.addFilter('byDate', (arr,givenDate) => arr.filter(d => d.date == givenDate)); eleventyConfig.addFilter('byAbbr', (arr,givenAbbr) => arr.filter(l => l.abbr == givenAbbr)); return { dir: { input: "src", output: "_site", data: "_data" }, }; };