import { DateTime } from "luxon"; export default function(eleventyConfig) { /* Filter by date */ eleventyConfig.addFilter("filterByDate", (listings, date) => { date = DateTime.fromISO(date, { zone: "utc" }); return listings.filter((listing) => { let postDate = DateTime.fromJSDate(listing.data.date, { zone: "utc" }); return postDate.equals(date); }); }) /* Filter by tag */ eleventyConfig.addFilter("filterByTag", (listings, tag) => { return listings.filter(listing => listing.data.tags.includes(tag)); }); // Return the keys used in an object eleventyConfig.addFilter("getKeys", target => { return Object.keys(target); }); /* Taglines for each category */ eleventyConfig.addFilter("getTagline", tag => { let tagline; switch (tag) { case "animals and the outdoors": tagline = "touchin' grass"; break; case "art and crafts": tagline = "makin' stuff"; break; case "beauty and health": tagline = "feelin' good"; break; case "business": tagline = "makin' money"; break; case "food and drink": tagline = "good eatin'"; break; case "history science and languages": tagline = "book learnin'" break; case "miscellany and more": tagline = "leaves me guessin'"; break; case "repair and diy": tagline = "fixin' stuff"; break; case "interpersonal and life": tagline = "better livin'"; break; case "technology": tagline = "computer touchin'"; break; case "writing editing and literature": tagline = "wordsmithin'"; break; }; return tagline; }); /* For