-
Notifications
You must be signed in to change notification settings - Fork 0
/
.eleventy.js
40 lines (34 loc) · 1.16 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
const esbuild = require('esbuild')
const syntaxHighlight = require('@11ty/eleventy-plugin-syntaxhighlight')
const pluginRss = require('@11ty/eleventy-plugin-rss')
const postDate = require('./_11ty/filters/postDate')
const excerpt = require('./_11ty/filters/excerpt')
const allTags = require('./_11ty/collections/allTags')
module.exports = function (eleventyConfig) {
eleventyConfig.addPassthroughCopy({ public: '/' })
eleventyConfig.addPlugin(pluginRss)
eleventyConfig.addPlugin(syntaxHighlight)
eleventyConfig.addFilter('postDate', postDate)
eleventyConfig.addFilter('excerpt', excerpt)
eleventyConfig.addCollection('allTags', allTags)
eleventyConfig.addWatchTarget('assets/js/')
eleventyConfig.on('afterBuild', () => {
return esbuild.build({
entryPoints: ['assets/js/application.js'],
outdir: '_site/assets/js/',
minify: process.env.NODE_ENV === 'production',
bundle: true,
})
})
return {
templateFormats: ['md', 'njk', 'html'],
markdownTemplateEngine: 'njk',
htmlTemplateEngine: 'njk',
dir: {
input: 'content',
includes: '../_includes',
data: '../_data',
output: '_site',
},
}
}