comprofix.com/.eleventy.js

55 lines
1.4 KiB
JavaScript

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"
}
};
}