import markdownIt from "markdown-it"; import markdownItAnchor from "markdown-it-anchor"; import slugify from "slugify"; import { format } from "date-fns"; export default async function (eleventyConfig) { /* const linkAfterHeader = markdownItAnchor.permalink.linkAfterHeader({ class: "anchor", symbol: "", style: "aria-labelledby", }); const markdownItAnchorOptions = { level: [1, 2, 3], slugify: (str) => slugify(str, { lower: true, strict: true, remove: /["]/g, }), tabIndex: false, permalink(slug, opts, state, idx) { state.tokens.splice( idx, 0, Object.assign(new state.Token("div_open", "div", 1), { // Add class "header-wrapper [h1 or h2 or h3]" attrs: [["class", `heading-wrapper ${state.tokens[idx].tag}`]], block: true, }) ); state.tokens.splice( idx + 4, 0, Object.assign(new state.Token("div_close", "div", -1), { block: true, }) ); linkAfterHeader(slug, opts, state, idx + 1); }, }; let markdownLibrary = markdownIt({ html: true, }).use(markdownItAnchor, markdownItAnchorOptions); eleventyConfig.setLibrary("md", markdownLibrary); */ const assets = "./_src/assets/"; eleventyConfig.addPassthroughCopy(assets); eleventyConfig.addWatchTarget(assets); eleventyConfig.addFilter("sortByFirstDate", items => items.sort((a, b) => new Date(b.data.images[0].date) - new Date(a.data.images[0].date))); eleventyConfig.addFilter("link", function(text, url) { return `${text}`; }); eleventyConfig.addFilter("ISO", (dateObj) => { return format(dateObj, ("yyyy-LL-dd")); }); eleventyConfig.addFilter("readable", (dateObj) => { return format(dateObj, ("LLLL do, yyyy")); }); eleventyConfig.setBrowserSyncConfig({ open: true, }); }; export const config = { dir: { input: "_src", output: "_site" } };