2022-08-07 00:57:36 +10:00
|
|
|
const blogTools = require("eleventy-plugin-blog-tools");
|
2022-08-07 02:18:36 +10:00
|
|
|
const markdownIt = require("markdown-it");
|
|
|
|
const markdownItAttrs = require("markdown-it-attrs");
|
2024-09-21 16:05:02 +10:00
|
|
|
const syntaxHighlight = require("@11ty/eleventy-plugin-syntaxhighlight");
|
|
|
|
|
2022-08-07 00:57:36 +10:00
|
|
|
|
2024-09-18 23:29:53 +10:00
|
|
|
// Import prior to `module.exports` within `.eleventy.js`
|
|
|
|
const { DateTime } = require("luxon");
|
|
|
|
|
|
|
|
|
2022-08-07 00:57:36 +10:00
|
|
|
module.exports = function(eleventyConfig) {
|
2022-08-07 02:18:36 +10:00
|
|
|
const mdOptions = {
|
|
|
|
html: true,
|
|
|
|
breaks: true,
|
|
|
|
linkify: true,
|
|
|
|
};
|
|
|
|
const markdownLib = markdownIt(mdOptions)
|
|
|
|
.use(markdownItAttrs)
|
|
|
|
.disable("code");
|
2024-09-18 23:29:53 +10:00
|
|
|
|
|
|
|
eleventyConfig.addFilter("postDate", (dateObj) => {
|
|
|
|
return DateTime.fromJSDate(dateObj).toLocaleString(DateTime.DATE_MED);
|
|
|
|
});
|
|
|
|
|
2022-08-07 02:18:36 +10:00
|
|
|
|
|
|
|
eleventyConfig.setLibrary("md", markdownLib);
|
|
|
|
|
2022-08-07 00:57:36 +10:00
|
|
|
eleventyConfig.setUseGitIgnore(false);
|
|
|
|
eleventyConfig.addPassthroughCopy('./src/css');
|
|
|
|
eleventyConfig.addPassthroughCopy('./src/assets/');
|
2024-09-15 01:24:32 +10:00
|
|
|
eleventyConfig.addPassthroughCopy('./src/js/');
|
2022-08-07 00:57:36 +10:00
|
|
|
eleventyConfig.addWatchTarget('./src/css');
|
2024-09-15 01:24:32 +10:00
|
|
|
eleventyConfig.addWatchTarget('./src/js');
|
|
|
|
eleventyConfig.addWatchTarget('./src/assets/');
|
2022-08-07 00:57:36 +10:00
|
|
|
|
|
|
|
eleventyConfig.setDataDeepMerge(true);
|
|
|
|
|
|
|
|
eleventyConfig.setTemplateFormats("html,njk,md");
|
|
|
|
|
|
|
|
eleventyConfig.addCollection('posts', function(collectionApi) {
|
|
|
|
return collectionApi.getFilteredByGlob('src/blog/posts/**/*.md')
|
|
|
|
});
|
|
|
|
|
|
|
|
eleventyConfig.addPlugin(blogTools);
|
2024-09-21 16:05:02 +10:00
|
|
|
eleventyConfig.addPlugin(syntaxHighlight);
|
2022-08-07 00:57:36 +10:00
|
|
|
|
|
|
|
return {
|
|
|
|
passthroughFileCopy: true,
|
|
|
|
|
|
|
|
dir: {
|
|
|
|
input: 'src',
|
|
|
|
includes: '_includes',
|
|
|
|
output: "_site"
|
|
|
|
}
|
|
|
|
};
|
|
|
|
}
|