-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.eleventy.js
39 lines (31 loc) · 1.19 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
const fs = require("fs");
const jsmin = require("./src/_transforms/jsmin")
module.exports = (config) => {
config.addCollection("radars", require("./src/_collections/radars"))
config.addCollection("categories", require("./src/_collections/categories"))
config.addShortcode("visualizeRadar", (radar) => {
const baseSettings = JSON.parse(fs.readFileSync("src/_data/radar-settings.json", "utf8"));
const payload = {
...baseSettings,
...radar.data,
"title": radar.category,
"date": radar.date,
};
return `radar_visualization(${JSON.stringify(payload)})`;
});
config.addFilter("filter", (arr, key, value) => {
return arr?.filter(item => item[key] === value);
});
config.addNunjucksAsyncFilter("jsmin", jsmin);
config.addPassthroughCopy({ "src/_assets/js": "js" })
config.addPassthroughCopy({ "src/_assets/fonts": "fonts" })
config.addPassthroughCopy({ "src/_assets/styles": "styles" })
config.addPassthroughCopy({ "src/_assets/images": "images" })
return {
dir: {
input: "src",
output: "public",
layouts: "_layouts",
},
};
};