-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.eleventy.js
58 lines (49 loc) · 1.65 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
52
53
54
55
56
57
58
let Nunjucks = require("nunjucks");
const ClientObj = require("@sanity/client");
const imageUrlBuilder = require("@sanity/image-url");
const blocksToHtml = require("@sanity/block-content-to-html");
const { EleventyServerlessBundlerPlugin } = require("@11ty/eleventy");
const client = ClientObj.createClient({
projectId: "nzudkmke",
dataset: "production",
token:
"sk4pvS2ZY8GiQuEiYsW4eIEQ9Vgcuh1xhMnL80ch5sA3ozTtHkpJfqJItI4pyWvT2ijrE2Mlszuee9hPTlTq0U3yy54jTcdPohzqms00vxfzIpzOFqdOOtuMSTAiUEFaVa2i3XVjUpLxIPjclRbCqxM0d85dqv7cigcTOiTEC2jsYfYLRt3w",
useCdn: true,
});
const builder = imageUrlBuilder(client);
module.exports = function (eleventyConfig) {
eleventyConfig.addPlugin(EleventyServerlessBundlerPlugin, {
name: "serverless", // The serverless function name from your permalink object
redirects: false,
copy: ["node_modules"],
});
eleventyConfig.addPassthroughCopy("src/assets");
let nunjucksEnvironment = new Nunjucks.Environment(
new Nunjucks.FileSystemLoader("src/_includes"),
{
autoescape: false,
}
);
nunjucksEnvironment.addFilter("imgURL", function (value) {
return builder.image(value).auto("format").url();
});
nunjucksEnvironment.addFilter("blockContent", function (value) {
return blocksToHtml({
blocks: value,
});
});
eleventyConfig.setLibrary("njk", nunjucksEnvironment);
return {
addPassthroughFileCopy: true,
markdownTemplateEngine: "njk",
HTMLTemplateEngine: "njk",
dataTemplateEngine: "njk",
templateFormats: ["html", "njk", "md"],
dir: {
input: "src",
output: "_site",
includes: "_includes",
layouts: "_layouts",
},
};
};