const pluginRss = require('@11ty/eleventy-plugin-rss') const markdownIt = require('markdown-it') const footnotes = require('markdown-it-footnote') const abbrs = require('markdown-it-abbr') const { DateTime } = require('luxon') const header = require('./src/_includes/filters/header') module.exports = function (config) { config.addPlugin(pluginRss) config.setBrowserSyncConfig({ files: './_site/assets/*.css' }) config.addPassthroughCopy('src/assets/key.txt') config.addPassthroughCopy('src/assets/ibm-plex/IBM-Plex-Mono/fonts/**/*') // configure markdown const mdOptions = { html: true, breaks: true, linkify: true } config.setLibrary("md", markdownIt(mdOptions) .use(footnotes) .use(abbrs) ) // template filters // format dates as YYYY-MM-DD config.addFilter('toISODate', date => DateTime.fromJSDate(date).toISODate()) // 10print homage config.addFilter('header', header) // returns classes to be used on , given a page's url config.addFilter('pageClasses', url => { const segments = url.split('/').filter(s => s) return segments.length ? segments.join(' ') : 'home' }) return { markdownTemplateEngine: "njk" } }