const blogTools = require("eleventy-plugin-blog-tools"); const markdownIt = require("markdown-it"); const markdownItAttrs = require("markdown-it-attrs"); // Import prior to `module.exports` within `.eleventy.js` const { DateTime } = require("luxon"); module.exports = function(eleventyConfig) { const mdOptions = { html: true, breaks: true, linkify: true, }; const markdownLib = markdownIt(mdOptions) .use(markdownItAttrs) .disable("code"); eleventyConfig.addFilter("postDate", (dateObj) => { return DateTime.fromJSDate(dateObj).toLocaleString(DateTime.DATE_MED); }); eleventyConfig.setLibrary("md", markdownLib); eleventyConfig.setUseGitIgnore(false); eleventyConfig.addPassthroughCopy('./src/css'); eleventyConfig.addPassthroughCopy('./src/assets/'); eleventyConfig.addPassthroughCopy('./src/js/'); eleventyConfig.addWatchTarget('./src/css'); eleventyConfig.addWatchTarget('./src/js'); eleventyConfig.addWatchTarget('./src/assets/'); eleventyConfig.setDataDeepMerge(true); eleventyConfig.setTemplateFormats("html,njk,md"); eleventyConfig.addCollection('posts', function(collectionApi) { return collectionApi.getFilteredByGlob('src/blog/posts/**/*.md') }); eleventyConfig.addPlugin(blogTools); return { passthroughFileCopy: true, dir: { input: 'src', includes: '_includes', output: "_site" } }; }