forked from surjithctly/neat-starter
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.eleventy.js
51 lines (42 loc) · 1.52 KB
/
.eleventy.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
const yaml = require("js-yaml");
const { DateTime } = require("luxon");
const syntaxHighlight = require("@11ty/eleventy-plugin-syntaxhighlight");
module.exports = function (eleventyConfig) {
// Disable automatic use of your .gitignore
eleventyConfig.setUseGitIgnore(false);
// Merge data instead of overriding
eleventyConfig.setDataDeepMerge(true);
// human readable date
eleventyConfig.addFilter("readableDate", (dateObj) => {
return DateTime.fromJSDate(dateObj, { zone: "utc" }).toFormat(
"dd LLL yyyy"
);
});
// Syntax Highlighting for Code blocks
eleventyConfig.addPlugin(syntaxHighlight);
// To Support .yaml Extension in _data
// You may remove this if you can use JSON
eleventyConfig.addDataExtension("yaml", (contents) =>
yaml.safeLoad(contents)
);
// Add Tailwind Output CSS as Watch Target
eleventyConfig.addWatchTarget("./_tmp/static/css/style.css");
// Copy Static Files to /_Site
eleventyConfig.addPassthroughCopy({
"./_tmp/static/css/style.css": "./static/css/style.css",
"./src/admin/config.yml": "./admin/config.yml",
"./node_modules/alpinejs/dist/alpine.js": "./static/js/alpine.js",
"./node_modules/prismjs/themes/prism-tomorrow.css":
"./static/css/prism-tomorrow.css",
});
// Copy Image Folder to /_site
eleventyConfig.addPassthroughCopy("./src/static/img");
// Let Eleventy transform HTML files as nunjucks
// So that we can use .html instead of .njk
return {
dir: {
input: "src",
},
htmlTemplateEngine: "njk",
};
};