const pluginNavigation = require("@11ty/eleventy-navigation") const htmlmin = require("html-minifier"); const markdownIt = require("markdown-it"); const markdownItAttrs = require('markdown-it-attrs'); const options = { html: true, breaks: true, linkify: true }; const markdownLib = markdownIt(options).use(markdownItAttrs); module.exports = function (eleventyConfig) { eleventyConfig.addGlobalData("username", "Laureηt"); eleventyConfig.addPlugin(pluginNavigation); eleventyConfig.setLibrary("md", markdownLib); eleventyConfig.addWatchTarget("./src/scss/"); eleventyConfig.addPassthroughCopy({ "node_modules/chaffle/docs/chaffle.min.js": "javascript/chaffle.min.js", "assets/": "./", }); if (process.env.ELEVENTY_ENV == 'prod') { eleventyConfig.addTransform("htmlmin", function (content, outputPath) { // Eleventy 1.0+: use this.inputPath and this.outputPath instead if (outputPath && outputPath.endsWith(".html")) { let minified = htmlmin.minify(content, { useShortDoctype: true, removeComments: true, collapseWhitespace: true, minifyJS: true, minifyCSS: true, }); return minified; } else { return content; } }); } eleventyConfig.addShortcode("year", () => { let year = new Date().getFullYear(); return year.toString(); }); return { passthroughFileCopy: true, dir: { input: "src", data: "_data", output: "_site", includes: "_includes", }, } }