erick.is/.eleventy.js

59 lines
1.3 KiB
JavaScript
Raw Normal View History

2021-01-05 15:09:26 -05:00
const pluginTailwindCSS = require("eleventy-plugin-tailwindcss");
const pluginRss = require("@11ty/eleventy-plugin-rss");
const cacheBuster = require('@mightyplow/eleventy-plugin-cache-buster');
2021-01-05 15:09:26 -05:00
module.exports = function (eleventyConfig) {
eleventyConfig.addPassthroughCopy("_content/images");
2021-01-05 15:09:26 -05:00
eleventyConfig.addPlugin(pluginTailwindCSS, {
src: "_includes/**/*.css",
keepFolderStructure: false,
});
eleventyConfig.addPlugin(pluginRss);
const cacheBusterOptions = {
createResourceHash() {
return Date.now();
},
// outputDirectory: "_site",
};
eleventyConfig.addPlugin(cacheBuster(cacheBusterOptions));
2021-01-05 15:09:26 -05:00
eleventyConfig.addCollection("archive", (collectionApi) => {
const formatter = new Intl.DateTimeFormat("en-US", {
year: "numeric",
month: "long",
});
return collectionApi
.getFilteredByGlob("**/blog/*.md")
.reverse()
.reduce((agg, item) => {
const group = formatter.format(item.date);
if (!agg[group]) {
agg[group] = [];
}
agg[group].push(item);
return agg;
}, {});
});
eleventyConfig.addFilter("dateFormat", function (value) {
return new Intl.DateTimeFormat("en-US", { dateStyle: "full" }).format(
value
);
});
return {
dir: {
input: "_content",
includes: "../_includes",
},
};
};