import { eleventyImageTransformPlugin } from "@11ty/eleventy-img"; import eleventyNavigationPlugin from "@11ty/eleventy-navigation"; import { feedPlugin } from "@11ty/eleventy-plugin-rss"; import syntaxHighlight from "@11ty/eleventy-plugin-syntaxhighlight"; export default async function(eleventyConfig) { /* Filters */ eleventyConfig.addFilter("removeBasicTags", (tags) => { return tags.filter(tag => ["all", "posts", "gallery", "reference"].indexOf(tag) === -1); }); /* Passthroughs */ eleventyConfig.addPassthroughCopy({"css": "assets/css"}); /* Plugins */ /* RSS */ eleventyConfig.addPlugin(feedPlugin, { type: "atom", // or "rss", "json" outputPath: "/feed.xml", collection: { name: "posts", // iterate over `collections.posts` limit: 10, // 0 means no limit }, metadata: { language: "en", title: "hello hello", subtitle: "Lee Cattarin... on the internet!", base: "https://leecat.art", author: { name: "Lee Cattarin", email: "lee.cattarin@gmail.com", } } }); /* Images */ eleventyConfig.addPlugin(eleventyImageTransformPlugin, { // output image formats formats: ["auto"], // output image widths widths: [800], // optional, attributes assigned on nodes override these values htmlOptions: { imgAttributes: { loading: "lazy", decoding: "async", }, }, }); /* Navigation */ eleventyConfig.addPlugin(eleventyNavigationPlugin); /* Syntax highlighting */ eleventyConfig.addPlugin(syntaxHighlight); /* Watch when serving */ eleventyConfig.addWatchTarget("css"); }; export const config = { dir: { input: "src", includes: "../_includes", layouts: "../_includes/layouts", data: "../_data" }, markdownTemplateEngine: "njk", htmlTemplateEngine: "njk", templateFormats: ["html", "md", "njk"], };