11ty-theme/.eleventy.js

45 lines
1.2 KiB
JavaScript

const pluginRss = require("@11ty/eleventy-plugin-rss");
const markdownIt = require('./11ty/markdown.js');
const customShortcodes = require('./11ty/shortcodes.js');
const {
getDatetime,
getMonthDay,
getYear,
toFullDate,
} = require("./src/filters/date.js")
module.exports = config => {
config.setUseGitIgnore(false);
config.setLibrary('md', markdownIt);
config.addPlugin(pluginRss);
config.addFilter("getDatetime", getDatetime)
config.addFilter("getMonthDay", getMonthDay)
config.addFilter("getYear", getYear)
config.addFilter("toFullDate", toFullDate)
config.addShortcode('fetch', customShortcodes.fetch);
config.addPairedShortcode('full', customShortcodes.full);
config.addPassthroughCopy({"./src/_includes/js/" : "/js"});
config.addLayoutAlias('home', 'layouts/home.html');
config.addLayoutAlias('post', 'layouts/article.html');
config.addLayoutAlias('list', 'layouts/list.html');
config.addCollection('blog', collection => {
return [...collection.getFilteredByGlob('./src/posts/*.md')].reverse();
});
return {
markdownTemplateEngine: 'njk',
dataTemplateEngine: 'njk',
htmlTemplateEngine: 'njk',
dir: {
input: 'src',
output: 'dist'
}
};
};