-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy patheleventy.config.js
51 lines (37 loc) · 1.49 KB
/
eleventy.config.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
// External configuration files
const settings = require("./src/_config/settings.js");
const production = require("./src/_data/production.js");
module.exports = function(eleventyConfig) {
// Copy root directory assets
eleventyConfig.addPassthroughCopy({"src/assets/root": "/"});
// Copy admin for Decap CMS
eleventyConfig.addPassthroughCopy({"src/assets/admin": "/admin"});
// Copy img assets
eleventyConfig.addPassthroughCopy({"src/assets/img": "/img"});
// Copy js assets
if (!production) {
eleventyConfig.addPassthroughCopy({"src/assets/js": "/js"});
} else {
// If not production, minify js and html
eleventyConfig.addPlugin(require('./src/_config/minify.js'));
}
// Add compiler for scss into css
eleventyConfig.addPlugin(require('./src/_config/sass.js'));
// Run pre- and post-build events for dev workflow
eleventyConfig.addPlugin(require('./src/_config/events.js'));
// Add shortcodes
eleventyConfig.addPlugin(require('./src/_config/shortcodes.js'));
// Add Markdown render rules to add custom class for h2
eleventyConfig.addPlugin(require('./src/_config/mdrender.js'));
// Add filters for dates, post count, min, etc.
eleventyConfig.addPlugin(require('./src/_config/filters.js'));
// Add 11ty plugins
eleventyConfig.addPlugin(require('./src/_config/plugins.js'));
// Add watch targets here
eleventyConfig.addWatchTarget("src/_config/purgecss.js");
// Exclude draft files
//if (production) {
// config.ignores.add("drafts/*.md");
//}
return settings;
}